@herbertgao/pi-extensions 2026.10.1 → 2026.10.3
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 +14 -17
- package/THIRD_PARTY_NOTICES.md +2 -2
- package/node_modules/@dietrichgebert/ponytail/.opencode/command/ponytail-audit.md +2 -2
- package/node_modules/@dietrichgebert/ponytail/.opencode/command/ponytail-debt.md +2 -2
- package/node_modules/@dietrichgebert/ponytail/.opencode/command/ponytail-gain.md +1 -1
- package/node_modules/@dietrichgebert/ponytail/.opencode/command/ponytail-help.md +1 -1
- package/node_modules/@dietrichgebert/ponytail/.opencode/command/ponytail-review.md +2 -2
- package/node_modules/@dietrichgebert/ponytail/.opencode/command/ponytail.md +1 -1
- package/node_modules/@dietrichgebert/ponytail/.qoder/rules/ponytail.md +21 -21
- package/node_modules/@dietrichgebert/ponytail/.qoder-plugin/plugin.json +1 -1
- package/node_modules/@dietrichgebert/ponytail/AGENTS.md +21 -21
- package/node_modules/@dietrichgebert/ponytail/README.md +68 -72
- package/node_modules/@dietrichgebert/ponytail/hooks/ponytail-activate.js +7 -0
- package/node_modules/@dietrichgebert/ponytail/hooks/ponytail-instructions.js +30 -30
- package/node_modules/@dietrichgebert/ponytail/hooks/ponytail-map.js +103 -0
- package/node_modules/@dietrichgebert/ponytail/package.json +2 -2
- package/node_modules/@dietrichgebert/ponytail/skills/ponytail/SKILL.md +33 -101
- package/node_modules/@dietrichgebert/ponytail/skills/ponytail-audit/SKILL.md +89 -32
- package/node_modules/@dietrichgebert/ponytail/skills/ponytail-debt/SKILL.md +13 -12
- package/node_modules/@dietrichgebert/ponytail/skills/ponytail-gain/SKILL.md +17 -16
- package/node_modules/@dietrichgebert/ponytail/skills/ponytail-help/SKILL.md +9 -10
- package/node_modules/@dietrichgebert/ponytail/skills/ponytail-review/SKILL.md +96 -57
- package/node_modules/{remote-pi → @herbertgao/pi-agency}/LICENSE +1 -1
- package/node_modules/@herbertgao/pi-agency/README.md +40 -0
- package/node_modules/@herbertgao/pi-agency/package.json +53 -0
- package/node_modules/@herbertgao/pi-agency/src/index.ts +441 -0
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/compact-thinking.ts +12 -12
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/compact-mode.ts +30 -6
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/default-mode.ts +15 -9
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/interaction.ts +27 -9
- package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/codemode.ts +4 -1
- package/node_modules/@herbertgao/pi-cc-extensions/package.json +2 -2
- package/node_modules/@herbertgao/pi-subagents/CHANGELOG.md +8 -0
- package/node_modules/@herbertgao/pi-subagents/README.md +1 -1
- package/node_modules/@herbertgao/pi-subagents/package.json +4 -5
- package/node_modules/@herbertgao/pi-subagents/src/index.ts +1 -1
- package/node_modules/@herbertgao/pi-subagents/src/invocation-config.ts +1 -1
- package/node_modules/@herbertgao/pi-subagents/src/mention-clone.ts +48 -72
- package/node_modules/@herbertgao/pi-subagents/src/nested-tools.ts +1 -1
- package/node_modules/@herbertgao/pi-subagents/src/output-file.ts +15 -6
- package/node_modules/@herbertgao/pi-subagents/src/workflow/collisions.ts +4 -1
- package/node_modules/@herbertgao/pi-subagents/src/workflow/json-schema.ts +9 -8
- package/node_modules/@narumitw/pi-caffeinate/dist/index.ts +6 -1
- package/node_modules/@narumitw/pi-caffeinate/dist/index.ts.map +2 -2
- package/node_modules/@narumitw/pi-caffeinate/package.json +3 -3
- package/node_modules/@narumitw/pi-caffeinate/src/dbus-inhibit.ts +13 -1
- package/node_modules/@tifan/pi-mermaid-open/package.json +5 -1
- package/node_modules/@tifan/pi-mermaid-open/src/index.ts +26 -9
- package/node_modules/@tifan/pi-recap/package.json +1 -1
- package/node_modules/@tifan/pi-recap/src/index.ts +104 -20
- package/node_modules/@tifan/pi-recap/src/models.ts +46 -4
- package/node_modules/pi-antigravity/README.md +23 -2
- package/node_modules/pi-antigravity/package.json +5 -3
- package/node_modules/pi-antigravity/src/diagnostics/diagnostics.ts +3 -2
- package/node_modules/pi-antigravity/src/features/generate-image.ts +72 -0
- package/node_modules/pi-antigravity/src/features/google-search.ts +71 -0
- package/node_modules/pi-antigravity/src/image/image.ts +86 -47
- package/node_modules/pi-antigravity/src/image/native.ts +69 -0
- package/node_modules/pi-antigravity/src/index.ts +52 -137
- package/node_modules/pi-antigravity/src/search/search.ts +130 -31
- package/node_modules/pi-antigravity/src/stream/stream.ts +162 -113
- package/node_modules/pi-antigravity/src/types/enums.ts +1 -0
- package/node_modules/pi-antigravity/src/types/types.ts +1 -1
- package/node_modules/pi-antigravity/src/utils/security.ts +47 -1
- package/node_modules/pi-antigravity/src/utils/util.ts +38 -6
- package/node_modules/pi-lens/CHANGELOG.md +1159 -0
- package/node_modules/pi-lens/README.md +116 -25
- package/node_modules/pi-lens/config/dependency-cruiser-eager-allowlist.json +6 -2
- package/node_modules/pi-lens/dist/chunk-2BEMIWEW.js +51 -0
- package/node_modules/pi-lens/dist/chunk-2EECBNC5.js +89 -0
- package/node_modules/pi-lens/dist/chunk-2FQ62SPM.js +83 -0
- package/node_modules/pi-lens/dist/chunk-2UMYMRI3.js +118 -0
- package/node_modules/pi-lens/dist/chunk-34OCDWOS.js +48 -0
- package/node_modules/pi-lens/dist/chunk-3FERWMCH.js +144 -0
- package/node_modules/pi-lens/dist/chunk-3JL6IFD7.js +97 -0
- package/node_modules/pi-lens/dist/chunk-3JSEWUWI.js +327 -0
- package/node_modules/pi-lens/dist/chunk-3MED75HT.js +37 -0
- package/node_modules/pi-lens/dist/chunk-3MRXIJ6I.js +79 -0
- package/node_modules/pi-lens/dist/chunk-3P4PF2BX.js +2250 -0
- package/node_modules/pi-lens/dist/chunk-3PNFWVHT.js +201 -0
- package/node_modules/pi-lens/dist/chunk-3TTPKMEF.js +162 -0
- package/node_modules/pi-lens/dist/chunk-5JHXUETW.js +326 -0
- package/node_modules/pi-lens/dist/chunk-5W3R6LFT.js +24 -0
- package/node_modules/pi-lens/dist/chunk-64LU2OVH.js +341 -0
- package/node_modules/pi-lens/dist/chunk-6B5I6ICN.js +44 -0
- package/node_modules/pi-lens/dist/chunk-6P54TMWL.js +274 -0
- package/node_modules/pi-lens/dist/chunk-6UYA642J.js +145 -0
- package/node_modules/pi-lens/dist/chunk-6XX5HCLK.js +398 -0
- package/node_modules/pi-lens/dist/chunk-7AXO3ZDF.js +30 -0
- package/node_modules/pi-lens/dist/chunk-7BX5DWSA.js +1907 -0
- package/node_modules/pi-lens/dist/chunk-7ELY2CSM.js +902 -0
- package/node_modules/pi-lens/dist/chunk-7M4T5N3V.js +38 -0
- package/node_modules/pi-lens/dist/chunk-7U2IDNXN.js +37 -0
- package/node_modules/pi-lens/dist/chunk-ABBOA7UD.js +157 -0
- package/node_modules/pi-lens/dist/chunk-AFZYMAIV.js +756 -0
- package/node_modules/pi-lens/dist/chunk-ALQRYH6O.js +112 -0
- package/node_modules/pi-lens/dist/chunk-AXKPQ6ZI.js +1610 -0
- package/node_modules/pi-lens/dist/chunk-BHWHXMQ2.js +62 -0
- package/node_modules/pi-lens/dist/chunk-BJF25SUG.js +22 -0
- package/node_modules/pi-lens/dist/chunk-BNKLYOOO.js +18 -0
- package/node_modules/pi-lens/dist/chunk-BW5KFIQC.js +59 -0
- package/node_modules/pi-lens/dist/chunk-CBD2B5CP.js +599 -0
- package/node_modules/pi-lens/dist/chunk-CFYISHUW.js +42 -0
- package/node_modules/pi-lens/dist/chunk-CMU4RMJB.js +30 -0
- package/node_modules/pi-lens/dist/chunk-CULQYFLU.js +14 -0
- package/node_modules/pi-lens/dist/chunk-D65GOCJB.js +289 -0
- package/node_modules/pi-lens/dist/chunk-D6YF5HKX.js +59 -0
- package/node_modules/pi-lens/dist/chunk-DMS52BEP.js +342 -0
- package/node_modules/pi-lens/dist/chunk-ELVWJYRV.js +211 -0
- package/node_modules/pi-lens/dist/chunk-EUT3B22Y.js +27 -0
- package/node_modules/pi-lens/dist/chunk-F5VLZHUW.js +146 -0
- package/node_modules/pi-lens/dist/chunk-FC4RP4I2.js +12 -0
- package/node_modules/pi-lens/dist/chunk-FGALODG3.js +55 -0
- package/node_modules/pi-lens/dist/chunk-G3RLJYA2.js +2358 -0
- package/node_modules/pi-lens/dist/chunk-GAYGGICG.js +32 -0
- package/node_modules/pi-lens/dist/chunk-H2W2AXD3.js +419 -0
- package/node_modules/pi-lens/dist/chunk-H5EV3VMF.js +114 -0
- package/node_modules/pi-lens/dist/chunk-HREZQCT3.js +106 -0
- package/node_modules/pi-lens/dist/chunk-HSIRMK2D.js +517 -0
- package/node_modules/pi-lens/dist/chunk-IMSQR4WO.js +184 -0
- package/node_modules/pi-lens/dist/chunk-IQZXOZ7S.js +4816 -0
- package/node_modules/pi-lens/dist/chunk-IR6XFA5P.js +37 -0
- package/node_modules/pi-lens/dist/chunk-IUKPRZER.js +78 -0
- package/node_modules/pi-lens/dist/chunk-IUR76K6A.js +262 -0
- package/node_modules/pi-lens/dist/chunk-J3FZR3YY.js +98 -0
- package/node_modules/pi-lens/dist/chunk-J6DFZDFA.js +562 -0
- package/node_modules/pi-lens/dist/chunk-J7WJZ6W7.js +50 -0
- package/node_modules/pi-lens/dist/chunk-JONGANYH.js +202 -0
- package/node_modules/pi-lens/dist/chunk-KJCWXUUS.js +425 -0
- package/node_modules/pi-lens/dist/chunk-KJN4IOEJ.js +17 -0
- package/node_modules/pi-lens/dist/chunk-KMGPUKFD.js +25 -0
- package/node_modules/pi-lens/dist/chunk-LD7WFTRX.js +4533 -0
- package/node_modules/pi-lens/dist/chunk-LJDODBBZ.js +78 -0
- package/node_modules/pi-lens/dist/chunk-LNOMA3MP.js +169 -0
- package/node_modules/pi-lens/dist/chunk-MGIWSROG.js +2334 -0
- package/node_modules/pi-lens/dist/chunk-MQA2YBAH.js +308 -0
- package/node_modules/pi-lens/dist/chunk-MTDRLSI7.js +21720 -0
- package/node_modules/pi-lens/dist/chunk-N2IRDBZI.js +2355 -0
- package/node_modules/pi-lens/dist/chunk-N77WFUL7.js +50 -0
- package/node_modules/pi-lens/dist/chunk-N7YNJE5R.js +466 -0
- package/node_modules/pi-lens/dist/chunk-NABLC7W3.js +148 -0
- package/node_modules/pi-lens/dist/chunk-NFXP47RV.js +999 -0
- package/node_modules/pi-lens/dist/chunk-NJF2X5XF.js +45 -0
- package/node_modules/pi-lens/dist/chunk-NXL4FFQQ.js +47 -0
- package/node_modules/pi-lens/dist/chunk-O7HZX7CA.js +309 -0
- package/node_modules/pi-lens/dist/chunk-OC7LYAU5.js +708 -0
- package/node_modules/pi-lens/dist/chunk-OEX24ECI.js +348 -0
- package/node_modules/pi-lens/dist/chunk-OYOB3ZFG.js +78 -0
- package/node_modules/pi-lens/dist/chunk-OYTMZXRF.js +41 -0
- package/node_modules/pi-lens/dist/chunk-OZJINN4O.js +84 -0
- package/node_modules/pi-lens/dist/chunk-PCHDGUKT.js +23 -0
- package/node_modules/pi-lens/dist/chunk-QOZXJ4NA.js +3364 -0
- package/node_modules/pi-lens/dist/chunk-QYF5S6P6.js +45 -0
- package/node_modules/pi-lens/dist/chunk-RJFED73B.js +79 -0
- package/node_modules/pi-lens/dist/chunk-RTQNRM5X.js +27 -0
- package/node_modules/pi-lens/dist/chunk-S6AMWKPC.js +189 -0
- package/node_modules/pi-lens/dist/chunk-T4QZ6FEH.js +308 -0
- package/node_modules/pi-lens/dist/chunk-T54VJRAD.js +5456 -0
- package/node_modules/pi-lens/dist/chunk-TA5L5KWQ.js +167 -0
- package/node_modules/pi-lens/dist/chunk-TQFBZVCG.js +27 -0
- package/node_modules/pi-lens/dist/chunk-U52SAGRM.js +62 -0
- package/node_modules/pi-lens/dist/chunk-UEAHAMEI.js +5814 -0
- package/node_modules/pi-lens/dist/chunk-UGSMCQ4D.js +327 -0
- package/node_modules/pi-lens/dist/chunk-UOPVJQ4N.js +103 -0
- package/node_modules/pi-lens/dist/chunk-USHG4DLH.js +459 -0
- package/node_modules/pi-lens/dist/chunk-UXVNL3D7.js +23 -0
- package/node_modules/pi-lens/dist/chunk-V5MEBST3.js +4139 -0
- package/node_modules/pi-lens/dist/chunk-VGEVL5EQ.js +29 -0
- package/node_modules/pi-lens/dist/chunk-VPWKF3GN.js +87 -0
- package/node_modules/pi-lens/dist/chunk-VSMJK3ZJ.js +1250 -0
- package/node_modules/pi-lens/dist/chunk-VYKKMYVT.js +560 -0
- package/node_modules/pi-lens/dist/chunk-VZHJS6DR.js +442 -0
- package/node_modules/pi-lens/dist/chunk-WATC3IQR.js +213 -0
- package/node_modules/pi-lens/dist/chunk-WPE5FPGR.js +54 -0
- package/node_modules/pi-lens/dist/chunk-WSEWKCXU.js +188 -0
- package/node_modules/pi-lens/dist/chunk-WW5BLB74.js +659 -0
- package/node_modules/pi-lens/dist/chunk-XGUL4SLQ.js +406 -0
- package/node_modules/pi-lens/dist/chunk-XHSCVSOL.js +170 -0
- package/node_modules/pi-lens/dist/chunk-XIMYZ3JA.js +27 -0
- package/node_modules/pi-lens/dist/chunk-YLN4K6WD.js +385 -0
- package/node_modules/pi-lens/dist/chunk-Z3CCVDUB.js +76 -0
- package/node_modules/pi-lens/dist/chunk-Z54ZSOBZ.js +61 -0
- package/node_modules/pi-lens/dist/chunk-Z6BB4JLQ.js +478 -0
- package/node_modules/pi-lens/dist/chunk-Z7QQA2KT.js +27 -0
- package/node_modules/pi-lens/dist/chunk-ZETYB3XG.js +2626 -0
- package/node_modules/pi-lens/dist/chunk-ZMOMPX2Z.js +87 -0
- package/node_modules/pi-lens/dist/chunk-ZOEYVXSV.js +149 -0
- package/node_modules/pi-lens/dist/chunk-ZZUFZUQZ.js +12120 -0
- package/node_modules/pi-lens/dist/index.js +39712 -29876
- package/node_modules/pi-lens/dist/mcp/analyze-cli.js +186 -232
- package/node_modules/pi-lens/dist/mcp/cli.js +137 -98
- package/node_modules/pi-lens/dist/mcp/server.js +22688 -1573
- package/node_modules/pi-lens/dist/mcp/worker.js +97 -38
- package/node_modules/pi-lens/dist/probes/installer.js +135 -0
- package/node_modules/pi-lens/dist/workers/project-snapshot-persist-worker.js +22 -0
- package/node_modules/pi-lens/dist/workers/review-graph-persist-worker.js +15 -0
- package/node_modules/pi-lens/docs/agent-guide.md +13 -4
- package/node_modules/pi-lens/docs/agent-tools.md +42 -0
- package/node_modules/pi-lens/docs/ast-grep_rules_catalog.md +5 -4
- package/node_modules/pi-lens/docs/configuration.md +28 -2
- package/node_modules/pi-lens/docs/custom-rules.md +25 -2
- package/node_modules/pi-lens/docs/environment-variables.md +86 -8
- package/node_modules/pi-lens/docs/features.md +45 -5
- package/node_modules/pi-lens/docs/globalconfig.md +2 -1
- package/node_modules/pi-lens/docs/io-bridge-v2-migration.md +94 -0
- package/node_modules/pi-lens/docs/lsp-capability-matrix.md +37 -4
- package/node_modules/pi-lens/docs/lsp-idle-eviction.md +124 -0
- package/node_modules/pi-lens/docs/mcp.md +21 -5
- package/node_modules/pi-lens/docs/merge-queue-rollout.md +77 -0
- package/node_modules/pi-lens/docs/pi-lens-fixer.md +160 -88
- package/node_modules/pi-lens/docs/pi-lens-investigator.md +74 -26
- package/node_modules/pi-lens/docs/pi-lens-merge-policy.md +736 -0
- package/node_modules/pi-lens/docs/pi-lens-monitor.md +75 -7
- package/node_modules/pi-lens/docs/pi-lens-retro.md +6 -4
- package/node_modules/pi-lens/docs/pi-lens-reviewer.md +189 -48
- package/node_modules/pi-lens/docs/pi-lens-subagent.md +246 -45
- package/node_modules/pi-lens/docs/pi-lens-warden.md +18 -7
- package/node_modules/pi-lens/docs/public-api-stability.md +55 -0
- package/node_modules/pi-lens/docs/release-qa-baseline.md +84 -17
- package/node_modules/pi-lens/docs/rfcs/3654-unified-io-bridge-v2.md +316 -0
- package/node_modules/pi-lens/docs/schema/pi-lens-config-v1.json +530 -0
- package/node_modules/pi-lens/docs/servercapabilities.md +56 -49
- package/node_modules/pi-lens/docs/settings.md +1 -0
- package/node_modules/pi-lens/docs/usage.md +5 -1
- package/node_modules/pi-lens/docs/word-index.md +6 -0
- package/node_modules/pi-lens/grammars/tree-sitter-bash.wasm +0 -0
- package/node_modules/pi-lens/grammars/tree-sitter-bash.wasm.json +3 -3
- package/node_modules/pi-lens/package.json +18 -6
- package/node_modules/pi-lens/rules/ast-grep-rules/rule-tests/advisory-registry-subset-test.yml +41 -0
- package/node_modules/pi-lens/rules/ast-grep-rules/rule-tests/no-identity-operator-on-literals-test.yml +12 -2
- package/node_modules/pi-lens/rules/ast-grep-rules/rule-tests/throw-new-error-js-test.yml +2 -0
- package/node_modules/pi-lens/rules/ast-grep-rules/rule-tests/throw-new-error-test.yml +2 -0
- package/node_modules/pi-lens/rules/ast-grep-rules/rules/advisory-registry-subset.yml +50 -0
- package/node_modules/pi-lens/rules/ast-grep-rules/rules/no-identity-operator-on-literals.yml +20 -12
- package/node_modules/pi-lens/rules/ast-grep-rules/rules/throw-new-error-js.yml +2 -2
- package/node_modules/pi-lens/rules/ast-grep-rules/rules/throw-new-error.yml +2 -2
- package/node_modules/pi-lens/scripts/analyze-pi-lens-logs.mjs +1275 -62
- package/node_modules/pi-lens/scripts/download-grammars.js +5 -0
- package/node_modules/pi-lens/scripts/grammars.lock.json +6 -1
- package/node_modules/pi-lens/scripts/install-selftest.mjs +33 -34
- package/node_modules/pi-lens/scripts/lib/host-provided-deps.mjs +13 -4
- package/node_modules/pi-lens/scripts/lib/web-tree-sitter-dir.mjs +18 -0
- package/node_modules/pi-web-access/CHANGELOG.md +28 -0
- package/node_modules/pi-web-access/README.md +10 -6
- package/node_modules/pi-web-access/ceramic.ts +219 -0
- package/node_modules/pi-web-access/curator-page.ts +3 -1
- package/node_modules/pi-web-access/curator-server.ts +1 -0
- package/node_modules/pi-web-access/dist/index.js +846 -588
- package/node_modules/pi-web-access/dist/mcp-cli.js +725 -516
- package/node_modules/pi-web-access/gemini-search.ts +8 -4
- package/node_modules/pi-web-access/github-extract.ts +34 -2
- package/node_modules/pi-web-access/index.ts +72 -30
- package/node_modules/pi-web-access/openai-search.ts +3 -3
- package/node_modules/pi-web-access/package.json +2 -2
- package/node_modules/pi-web-access/page-query.ts +6 -9
- package/node_modules/pi-web-access/parallel-mcp.ts +2 -0
- package/node_modules/pi-web-access/query-rewrite.ts +2 -2
- package/node_modules/pi-web-access/storage.ts +49 -0
- package/node_modules/pi-web-access/summary-review.ts +7 -6
- package/node_modules/pi-web-access/utils.ts +21 -6
- package/node_modules/pi-web-access/web-tool-core.ts +1 -0
- package/package.json +19 -19
- package/node_modules/@dietrichgebert/ponytail/README.es.md +0 -212
- package/node_modules/@dietrichgebert/ponytail/README.ja.md +0 -212
- package/node_modules/@dietrichgebert/ponytail/README.ko.md +0 -212
- package/node_modules/@dietrichgebert/ponytail/README.zh-CN.md +0 -212
- package/node_modules/pi-lens/dist/clients/actionable-warnings-logger.js +0 -35
- package/node_modules/pi-lens/dist/clients/actionable-warnings.js +0 -1610
- package/node_modules/pi-lens/dist/clients/advisory-provenance.js +0 -593
- package/node_modules/pi-lens/dist/clients/agent-behavior-client.js +0 -147
- package/node_modules/pi-lens/dist/clients/agent-nudge.js +0 -325
- package/node_modules/pi-lens/dist/clients/analysed-root.js +0 -1
- package/node_modules/pi-lens/dist/clients/ast-grep-client.js +0 -731
- package/node_modules/pi-lens/dist/clients/ast-grep-rule-manager.js +0 -146
- package/node_modules/pi-lens/dist/clients/ast-grep-tool-logger.js +0 -118
- package/node_modules/pi-lens/dist/clients/ast-grep-types.js +0 -10
- package/node_modules/pi-lens/dist/clients/ast-grep-yaml-synth.js +0 -154
- package/node_modules/pi-lens/dist/clients/atomic-write-staging.js +0 -75
- package/node_modules/pi-lens/dist/clients/atomic-write.js +0 -189
- package/node_modules/pi-lens/dist/clients/availability-probe-flight.js +0 -12
- package/node_modules/pi-lens/dist/clients/bash-file-access.js +0 -1056
- package/node_modules/pi-lens/dist/clients/biome-client.js +0 -357
- package/node_modules/pi-lens/dist/clients/blocker-freshness.js +0 -837
- package/node_modules/pi-lens/dist/clients/blocker-past-eof.js +0 -129
- package/node_modules/pi-lens/dist/clients/bootstrap.js +0 -569
- package/node_modules/pi-lens/dist/clients/bounded-cache.js +0 -190
- package/node_modules/pi-lens/dist/clients/bounded-pid-file-lock.js +0 -202
- package/node_modules/pi-lens/dist/clients/bounded-telemetry.js +0 -295
- package/node_modules/pi-lens/dist/clients/build-identity.js +0 -95
- package/node_modules/pi-lens/dist/clients/bundled-resource-health.js +0 -113
- package/node_modules/pi-lens/dist/clients/bus-events-logger.js +0 -105
- package/node_modules/pi-lens/dist/clients/bus-publish.js +0 -171
- package/node_modules/pi-lens/dist/clients/cache/rule-cache.js +0 -190
- package/node_modules/pi-lens/dist/clients/cache-manager.js +0 -524
- package/node_modules/pi-lens/dist/clients/cache-observability.js +0 -1313
- package/node_modules/pi-lens/dist/clients/call-graph.js +0 -852
- package/node_modules/pi-lens/dist/clients/cargo-manifest.js +0 -422
- package/node_modules/pi-lens/dist/clients/cascade-budget.js +0 -196
- package/node_modules/pi-lens/dist/clients/cascade-format.js +0 -315
- package/node_modules/pi-lens/dist/clients/cascade-logger.js +0 -31
- package/node_modules/pi-lens/dist/clients/cascade-types.js +0 -9
- package/node_modules/pi-lens/dist/clients/child-unref.js +0 -124
- package/node_modules/pi-lens/dist/clients/code-quality-warnings.js +0 -286
- package/node_modules/pi-lens/dist/clients/codebase-model.js +0 -173
- package/node_modules/pi-lens/dist/clients/collateral-test-role.js +0 -40
- package/node_modules/pi-lens/dist/clients/complexity-client.js +0 -462
- package/node_modules/pi-lens/dist/clients/config-core/deny.js +0 -221
- package/node_modules/pi-lens/dist/clients/config-core/index.js +0 -50
- package/node_modules/pi-lens/dist/clients/config-core/merge.js +0 -357
- package/node_modules/pi-lens/dist/clients/config-core/normalize.js +0 -340
- package/node_modules/pi-lens/dist/clients/config-core/process-spec.js +0 -248
- package/node_modules/pi-lens/dist/clients/config-core/provenance.js +0 -164
- package/node_modules/pi-lens/dist/clients/config-core/records.js +0 -218
- package/node_modules/pi-lens/dist/clients/config-core/resolve.js +0 -125
- package/node_modules/pi-lens/dist/clients/config-core/safe-object.js +0 -78
- package/node_modules/pi-lens/dist/clients/config-core/schema.js +0 -165
- package/node_modules/pi-lens/dist/clients/config-diagnostic-codes.js +0 -285
- package/node_modules/pi-lens/dist/clients/config-locations.js +0 -388
- package/node_modules/pi-lens/dist/clients/config-resolve.js +0 -798
- package/node_modules/pi-lens/dist/clients/config-schema.js +0 -251
- package/node_modules/pi-lens/dist/clients/config-warn.js +0 -407
- package/node_modules/pi-lens/dist/clients/console-guard-install.js +0 -26
- package/node_modules/pi-lens/dist/clients/cooperative-budget.js +0 -42
- package/node_modules/pi-lens/dist/clients/dead-code-client.js +0 -510
- package/node_modules/pi-lens/dist/clients/dead-code-logger.js +0 -30
- package/node_modules/pi-lens/dist/clients/deadline-utils.js +0 -280
- package/node_modules/pi-lens/dist/clients/debug-handles.js +0 -211
- package/node_modules/pi-lens/dist/clients/debug-heap.js +0 -174
- package/node_modules/pi-lens/dist/clients/deferred-lsp-work.js +0 -106
- package/node_modules/pi-lens/dist/clients/degradation-ledger.js +0 -426
- package/node_modules/pi-lens/dist/clients/demoted-finding-render.js +0 -169
- package/node_modules/pi-lens/dist/clients/dependency-checker.js +0 -885
- package/node_modules/pi-lens/dist/clients/deps/ast-grep-napi.js +0 -22
- package/node_modules/pi-lens/dist/clients/deps/js-yaml.js +0 -9
- package/node_modules/pi-lens/dist/clients/deps/minimatch.js +0 -4
- package/node_modules/pi-lens/dist/clients/deps/pi-tui.js +0 -14
- package/node_modules/pi-lens/dist/clients/deps/typebox.js +0 -14
- package/node_modules/pi-lens/dist/clients/deps/vscode-jsonrpc.js +0 -1
- package/node_modules/pi-lens/dist/clients/deps/web-tree-sitter.js +0 -24
- package/node_modules/pi-lens/dist/clients/diagnostic-dispositions.js +0 -630
- package/node_modules/pi-lens/dist/clients/diagnostic-line-freshness.js +0 -305
- package/node_modules/pi-lens/dist/clients/diagnostic-logger.js +0 -73
- package/node_modules/pi-lens/dist/clients/diagnostic-tracker.js +0 -105
- package/node_modules/pi-lens/dist/clients/diagnostics-publish.js +0 -230
- package/node_modules/pi-lens/dist/clients/dispatch/ast-grep-catalog.js +0 -65
- package/node_modules/pi-lens/dist/clients/dispatch/auxiliary-lsp.js +0 -343
- package/node_modules/pi-lens/dist/clients/dispatch/collect-later-tier.js +0 -35
- package/node_modules/pi-lens/dist/clients/dispatch/diagnostic-taxonomy.js +0 -66
- package/node_modules/pi-lens/dist/clients/dispatch/dispatcher.js +0 -1269
- package/node_modules/pi-lens/dist/clients/dispatch/fact-provider-types.js +0 -1
- package/node_modules/pi-lens/dist/clients/dispatch/fact-rule-runner.js +0 -17
- package/node_modules/pi-lens/dist/clients/dispatch/fact-runner.js +0 -30
- package/node_modules/pi-lens/dist/clients/dispatch/fact-scheduler.js +0 -68
- package/node_modules/pi-lens/dist/clients/dispatch/fact-store.js +0 -377
- package/node_modules/pi-lens/dist/clients/dispatch/facts/comment-facts.js +0 -22
- package/node_modules/pi-lens/dist/clients/dispatch/facts/file-content.js +0 -19
- package/node_modules/pi-lens/dist/clients/dispatch/facts/function-facts.js +0 -348
- package/node_modules/pi-lens/dist/clients/dispatch/facts/import-facts.js +0 -204
- package/node_modules/pi-lens/dist/clients/dispatch/facts/tree-sitter-facts.js +0 -34
- package/node_modules/pi-lens/dist/clients/dispatch/facts/try-catch-facts.js +0 -119
- package/node_modules/pi-lens/dist/clients/dispatch/finding-policy.js +0 -339
- package/node_modules/pi-lens/dist/clients/dispatch/indent-detect.js +0 -417
- package/node_modules/pi-lens/dist/clients/dispatch/inline-suppressions.js +0 -89
- package/node_modules/pi-lens/dist/clients/dispatch/integration.js +0 -2377
- package/node_modules/pi-lens/dist/clients/dispatch/lazy.js +0 -11
- package/node_modules/pi-lens/dist/clients/dispatch/pending-runner-findings.js +0 -87
- package/node_modules/pi-lens/dist/clients/dispatch/plan.js +0 -278
- package/node_modules/pi-lens/dist/clients/dispatch/priorities.js +0 -20
- package/node_modules/pi-lens/dist/clients/dispatch/rule-id-normalize.js +0 -50
- package/node_modules/pi-lens/dist/clients/dispatch/rule-ignores.js +0 -69
- package/node_modules/pi-lens/dist/clients/dispatch/rule-policy.js +0 -135
- package/node_modules/pi-lens/dist/clients/dispatch/rules/async-noise.js +0 -40
- package/node_modules/pi-lens/dist/clients/dispatch/rules/async-unnecessary-wrapper.js +0 -27
- package/node_modules/pi-lens/dist/clients/dispatch/rules/cors-wildcard.js +0 -54
- package/node_modules/pi-lens/dist/clients/dispatch/rules/error-obscuring.js +0 -32
- package/node_modules/pi-lens/dist/clients/dispatch/rules/error-swallowing.js +0 -31
- package/node_modules/pi-lens/dist/clients/dispatch/rules/framework-call-noise.js +0 -67
- package/node_modules/pi-lens/dist/clients/dispatch/rules/high-complexity.js +0 -72
- package/node_modules/pi-lens/dist/clients/dispatch/rules/high-fan-out.js +0 -74
- package/node_modules/pi-lens/dist/clients/dispatch/rules/high-import-coupling.js +0 -37
- package/node_modules/pi-lens/dist/clients/dispatch/rules/missing-error-propagation.js +0 -62
- package/node_modules/pi-lens/dist/clients/dispatch/rules/no-commented-credentials.js +0 -52
- package/node_modules/pi-lens/dist/clients/dispatch/rules/pass-through-wrappers.js +0 -42
- package/node_modules/pi-lens/dist/clients/dispatch/rules/placeholder-comments.js +0 -40
- package/node_modules/pi-lens/dist/clients/dispatch/rules/unsafe-boundary.js +0 -126
- package/node_modules/pi-lens/dist/clients/dispatch/runner-context.js +0 -52
- package/node_modules/pi-lens/dist/clients/dispatch/runners/actionlint.js +0 -111
- package/node_modules/pi-lens/dist/clients/dispatch/runners/ast-grep-napi.js +0 -1196
- package/node_modules/pi-lens/dist/clients/dispatch/runners/biome-check.js +0 -296
- package/node_modules/pi-lens/dist/clients/dispatch/runners/cpp-check.js +0 -219
- package/node_modules/pi-lens/dist/clients/dispatch/runners/credo.js +0 -82
- package/node_modules/pi-lens/dist/clients/dispatch/runners/cue-vet.js +0 -416
- package/node_modules/pi-lens/dist/clients/dispatch/runners/dart-analyze.js +0 -183
- package/node_modules/pi-lens/dist/clients/dispatch/runners/detekt.js +0 -176
- package/node_modules/pi-lens/dist/clients/dispatch/runners/dotnet-build.js +0 -164
- package/node_modules/pi-lens/dist/clients/dispatch/runners/elixir-check.js +0 -195
- package/node_modules/pi-lens/dist/clients/dispatch/runners/eslint.js +0 -137
- package/node_modules/pi-lens/dist/clients/dispatch/runners/fact-rules.js +0 -29
- package/node_modules/pi-lens/dist/clients/dispatch/runners/fish-indent.js +0 -69
- package/node_modules/pi-lens/dist/clients/dispatch/runners/gleam-check.js +0 -167
- package/node_modules/pi-lens/dist/clients/dispatch/runners/go-vet.js +0 -104
- package/node_modules/pi-lens/dist/clients/dispatch/runners/golangci-lint.js +0 -135
- package/node_modules/pi-lens/dist/clients/dispatch/runners/hadolint.js +0 -91
- package/node_modules/pi-lens/dist/clients/dispatch/runners/helm-lint.js +0 -171
- package/node_modules/pi-lens/dist/clients/dispatch/runners/helm-render.js +0 -940
- package/node_modules/pi-lens/dist/clients/dispatch/runners/htmlhint.js +0 -117
- package/node_modules/pi-lens/dist/clients/dispatch/runners/index.js +0 -108
- package/node_modules/pi-lens/dist/clients/dispatch/runners/javac.js +0 -99
- package/node_modules/pi-lens/dist/clients/dispatch/runners/ktlint.js +0 -110
- package/node_modules/pi-lens/dist/clients/dispatch/runners/lsp.js +0 -379
- package/node_modules/pi-lens/dist/clients/dispatch/runners/markdownlint.js +0 -167
- package/node_modules/pi-lens/dist/clients/dispatch/runners/mypy.js +0 -102
- package/node_modules/pi-lens/dist/clients/dispatch/runners/oxlint.js +0 -414
- package/node_modules/pi-lens/dist/clients/dispatch/runners/php-lint.js +0 -85
- package/node_modules/pi-lens/dist/clients/dispatch/runners/phpstan.js +0 -120
- package/node_modules/pi-lens/dist/clients/dispatch/runners/prisma-validate.js +0 -62
- package/node_modules/pi-lens/dist/clients/dispatch/runners/psscriptanalyzer.js +0 -445
- package/node_modules/pi-lens/dist/clients/dispatch/runners/pyright.js +0 -169
- package/node_modules/pi-lens/dist/clients/dispatch/runners/rubocop.js +0 -99
- package/node_modules/pi-lens/dist/clients/dispatch/runners/ruff.js +0 -88
- package/node_modules/pi-lens/dist/clients/dispatch/runners/rust-clippy.js +0 -256
- package/node_modules/pi-lens/dist/clients/dispatch/runners/shellcheck.js +0 -173
- package/node_modules/pi-lens/dist/clients/dispatch/runners/shfmt.js +0 -102
- package/node_modules/pi-lens/dist/clients/dispatch/runners/spellcheck.js +0 -128
- package/node_modules/pi-lens/dist/clients/dispatch/runners/spotbugs.js +0 -259
- package/node_modules/pi-lens/dist/clients/dispatch/runners/sqlfluff.js +0 -183
- package/node_modules/pi-lens/dist/clients/dispatch/runners/stylelint.js +0 -166
- package/node_modules/pi-lens/dist/clients/dispatch/runners/swiftlint.js +0 -163
- package/node_modules/pi-lens/dist/clients/dispatch/runners/taplo.js +0 -174
- package/node_modules/pi-lens/dist/clients/dispatch/runners/terragrunt.js +0 -168
- package/node_modules/pi-lens/dist/clients/dispatch/runners/tflint.js +0 -125
- package/node_modules/pi-lens/dist/clients/dispatch/runners/tree-sitter.js +0 -643
- package/node_modules/pi-lens/dist/clients/dispatch/runners/trivy-config.js +0 -253
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/availability-policy.js +0 -496
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/candidate-probe.js +0 -90
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/diagnostic-parsers.js +0 -95
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/lazy-installer.js +0 -274
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/runner-helpers.js +0 -1701
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/spawn-outcome.js +0 -101
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/tool-failure.js +0 -235
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils/toolchain-availability.js +0 -169
- package/node_modules/pi-lens/dist/clients/dispatch/runners/utils.js +0 -15
- package/node_modules/pi-lens/dist/clients/dispatch/runners/vale.js +0 -128
- package/node_modules/pi-lens/dist/clients/dispatch/runners/yaml-rule-parser.js +0 -242
- package/node_modules/pi-lens/dist/clients/dispatch/runners/yamllint.js +0 -95
- package/node_modules/pi-lens/dist/clients/dispatch/runners/zig-check.js +0 -79
- package/node_modules/pi-lens/dist/clients/dispatch/suppress-writer.js +0 -79
- package/node_modules/pi-lens/dist/clients/dispatch/tool-profile.js +0 -30
- package/node_modules/pi-lens/dist/clients/dispatch/types.js +0 -21
- package/node_modules/pi-lens/dist/clients/dispatch/utils/format-utils.js +0 -45
- package/node_modules/pi-lens/dist/clients/dispatch/utils/lsp-diagnostics.js +0 -35
- package/node_modules/pi-lens/dist/clients/disposition-logger.js +0 -32
- package/node_modules/pi-lens/dist/clients/disposition-publish.js +0 -124
- package/node_modules/pi-lens/dist/clients/durable-store.js +0 -97
- package/node_modules/pi-lens/dist/clients/effective-config.js +0 -415
- package/node_modules/pi-lens/dist/clients/env-utils.js +0 -83
- package/node_modules/pi-lens/dist/clients/error-class.js +0 -23
- package/node_modules/pi-lens/dist/clients/eval-timestamp.js +0 -17
- package/node_modules/pi-lens/dist/clients/event-loop-hold.js +0 -274
- package/node_modules/pi-lens/dist/clients/event-loop-monitor.js +0 -250
- package/node_modules/pi-lens/dist/clients/extension-log.js +0 -504
- package/node_modules/pi-lens/dist/clients/extension-mode.js +0 -73
- package/node_modules/pi-lens/dist/clients/feature-hints.js +0 -103
- package/node_modules/pi-lens/dist/clients/file-kinds.js +0 -412
- package/node_modules/pi-lens/dist/clients/file-role.js +0 -134
- package/node_modules/pi-lens/dist/clients/file-time.js +0 -160
- package/node_modules/pi-lens/dist/clients/file-utils.js +0 -1032
- package/node_modules/pi-lens/dist/clients/finding-delivery-gate.js +0 -494
- package/node_modules/pi-lens/dist/clients/finding-identity.js +0 -88
- package/node_modules/pi-lens/dist/clients/fix-worklog.js +0 -103
- package/node_modules/pi-lens/dist/clients/format-events-publish.js +0 -343
- package/node_modules/pi-lens/dist/clients/format-service.js +0 -222
- package/node_modules/pi-lens/dist/clients/formatters-lazy.js +0 -9
- package/node_modules/pi-lens/dist/clients/formatters.js +0 -2032
- package/node_modules/pi-lens/dist/clients/freshness-cadence.js +0 -17
- package/node_modules/pi-lens/dist/clients/freshness.js +0 -38
- package/node_modules/pi-lens/dist/clients/generated-artifacts.js +0 -394
- package/node_modules/pi-lens/dist/clients/generation-guard.js +0 -215
- package/node_modules/pi-lens/dist/clients/git-guard.js +0 -1136
- package/node_modules/pi-lens/dist/clients/git-tracked-ignore.js +0 -243
- package/node_modules/pi-lens/dist/clients/gitleaks-client.js +0 -509
- package/node_modules/pi-lens/dist/clients/go-client.js +0 -104
- package/node_modules/pi-lens/dist/clients/govulncheck-client.js +0 -605
- package/node_modules/pi-lens/dist/clients/gradle-ktfmt-style.js +0 -348
- package/node_modules/pi-lens/dist/clients/grammar-source.js +0 -465
- package/node_modules/pi-lens/dist/clients/gzip-stage-write.js +0 -135
- package/node_modules/pi-lens/dist/clients/hashline-anchor.js +0 -424
- package/node_modules/pi-lens/dist/clients/hook-budgets.js +0 -76
- package/node_modules/pi-lens/dist/clients/host-edit-normalize.js +0 -140
- package/node_modules/pi-lens/dist/clients/host-ports.js +0 -39
- package/node_modules/pi-lens/dist/clients/indent-retarget.js +0 -154
- package/node_modules/pi-lens/dist/clients/inline-blocker-dispositions.js +0 -186
- package/node_modules/pi-lens/dist/clients/install-diagnostics.js +0 -156
- package/node_modules/pi-lens/dist/clients/installer/index.js +0 -5416
- package/node_modules/pi-lens/dist/clients/installer/managed-tool-refresh-session.js +0 -58
- package/node_modules/pi-lens/dist/clients/installer/managed-tool-refresh.js +0 -783
- package/node_modules/pi-lens/dist/clients/instance-reaper-state.js +0 -7
- package/node_modules/pi-lens/dist/clients/instance-reaper.js +0 -1137
- package/node_modules/pi-lens/dist/clients/instance-registry-lock.js +0 -145
- package/node_modules/pi-lens/dist/clients/instance-registry.js +0 -773
- package/node_modules/pi-lens/dist/clients/jscpd-client.js +0 -378
- package/node_modules/pi-lens/dist/clients/json-cache-read.js +0 -65
- package/node_modules/pi-lens/dist/clients/knip-client.js +0 -788
- package/node_modules/pi-lens/dist/clients/language-policy.js +0 -252
- package/node_modules/pi-lens/dist/clients/language-profile.js +0 -361
- package/node_modules/pi-lens/dist/clients/language-registry.js +0 -603
- package/node_modules/pi-lens/dist/clients/latency-logger.js +0 -727
- package/node_modules/pi-lens/dist/clients/lazy-import.js +0 -21
- package/node_modules/pi-lens/dist/clients/ledger-bounds.js +0 -54
- package/node_modules/pi-lens/dist/clients/lens-config.js +0 -404
- package/node_modules/pi-lens/dist/clients/lens-engine.js +0 -358
- package/node_modules/pi-lens/dist/clients/lens-events.js +0 -125
- package/node_modules/pi-lens/dist/clients/lens-flag-registry.js +0 -467
- package/node_modules/pi-lens/dist/clients/lens-map.js +0 -1156
- package/node_modules/pi-lens/dist/clients/live-bus-emitter.js +0 -74
- package/node_modules/pi-lens/dist/clients/log-cleanup.js +0 -222
- package/node_modules/pi-lens/dist/clients/lsp/aggregation.js +0 -178
- package/node_modules/pi-lens/dist/clients/lsp/cascade-tier.js +0 -421
- package/node_modules/pi-lens/dist/clients/lsp/client.js +0 -4593
- package/node_modules/pi-lens/dist/clients/lsp/config.js +0 -691
- package/node_modules/pi-lens/dist/clients/lsp/content-limits.js +0 -41
- package/node_modules/pi-lens/dist/clients/lsp/diagnostic-binding.js +0 -225
- package/node_modules/pi-lens/dist/clients/lsp/document-drift.js +0 -467
- package/node_modules/pi-lens/dist/clients/lsp/edits.js +0 -1219
- package/node_modules/pi-lens/dist/clients/lsp/index.js +0 -8305
- package/node_modules/pi-lens/dist/clients/lsp/inferred-project.js +0 -216
- package/node_modules/pi-lens/dist/clients/lsp/jvm-runtime.js +0 -298
- package/node_modules/pi-lens/dist/clients/lsp/language.js +0 -63
- package/node_modules/pi-lens/dist/clients/lsp/launch.js +0 -746
- package/node_modules/pi-lens/dist/clients/lsp/lombok.js +0 -158
- package/node_modules/pi-lens/dist/clients/lsp/path-utils.js +0 -5
- package/node_modules/pi-lens/dist/clients/lsp/pending-aux-coverage.js +0 -251
- package/node_modules/pi-lens/dist/clients/lsp/position-encoding.js +0 -61
- package/node_modules/pi-lens/dist/clients/lsp/ruby-drive-dirs.js +0 -83
- package/node_modules/pi-lens/dist/clients/lsp/server.js +0 -3290
- package/node_modules/pi-lens/dist/clients/lsp/session-roots.js +0 -192
- package/node_modules/pi-lens/dist/clients/lsp/spawn-history.js +0 -17
- package/node_modules/pi-lens/dist/clients/lsp/sync-kind.js +0 -56
- package/node_modules/pi-lens/dist/clients/lsp/tsserver-sync.js +0 -332
- package/node_modules/pi-lens/dist/clients/lsp/wait-policy/capability-snapshot.js +0 -1
- package/node_modules/pi-lens/dist/clients/lsp/wait-policy/classification.js +0 -85
- package/node_modules/pi-lens/dist/clients/lsp/wait-policy/index.js +0 -10
- package/node_modules/pi-lens/dist/clients/lsp/wait-policy/strategies.js +0 -392
- package/node_modules/pi-lens/dist/clients/lsp/watch-queue.js +0 -61
- package/node_modules/pi-lens/dist/clients/lsp/workspace-diagnostics-cache.js +0 -639
- package/node_modules/pi-lens/dist/clients/lsp/workspace-diagnostics-session.js +0 -30
- package/node_modules/pi-lens/dist/clients/lsp/workspace-sweep-hold.js +0 -184
- package/node_modules/pi-lens/dist/clients/lsp-budget.js +0 -186
- package/node_modules/pi-lens/dist/clients/lsp-document-symbols.js +0 -110
- package/node_modules/pi-lens/dist/clients/lsp-lazy.js +0 -9
- package/node_modules/pi-lens/dist/clients/lsp-mutation.js +0 -396
- package/node_modules/pi-lens/dist/clients/lsp-status.js +0 -59
- package/node_modules/pi-lens/dist/clients/map-with-concurrency.js +0 -40
- package/node_modules/pi-lens/dist/clients/mcp/analyze.js +0 -420
- package/node_modules/pi-lens/dist/clients/mcp/host-shim.js +0 -31
- package/node_modules/pi-lens/dist/clients/mcp/ipc.js +0 -523
- package/node_modules/pi-lens/dist/clients/mcp/review.js +0 -197
- package/node_modules/pi-lens/dist/clients/mcp/session.js +0 -412
- package/node_modules/pi-lens/dist/clients/memory-sampler.js +0 -208
- package/node_modules/pi-lens/dist/clients/message-end-attribution.js +0 -30
- package/node_modules/pi-lens/dist/clients/metrics-client.js +0 -107
- package/node_modules/pi-lens/dist/clients/metrics-history.js +0 -327
- package/node_modules/pi-lens/dist/clients/middle-man-analysis.js +0 -263
- package/node_modules/pi-lens/dist/clients/model-provider.js +0 -53
- package/node_modules/pi-lens/dist/clients/module-report-lsp.js +0 -189
- package/node_modules/pi-lens/dist/clients/module-report.js +0 -2150
- package/node_modules/pi-lens/dist/clients/mutating-tool.js +0 -651
- package/node_modules/pi-lens/dist/clients/mutation-attribution.js +0 -368
- package/node_modules/pi-lens/dist/clients/mutation-bridge.js +0 -240
- package/node_modules/pi-lens/dist/clients/ndjson-logger.js +0 -734
- package/node_modules/pi-lens/dist/clients/observed-mutation-sources.js +0 -101
- package/node_modules/pi-lens/dist/clients/observed-mutation.js +0 -1253
- package/node_modules/pi-lens/dist/clients/oldtext-autopatch.js +0 -128
- package/node_modules/pi-lens/dist/clients/opaque-mutation-scan.js +0 -496
- package/node_modules/pi-lens/dist/clients/opengrep-client.js +0 -333
- package/node_modules/pi-lens/dist/clients/opengrep-config.js +0 -76
- package/node_modules/pi-lens/dist/clients/package-manager.js +0 -607
- package/node_modules/pi-lens/dist/clients/package-root.js +0 -38
- package/node_modules/pi-lens/dist/clients/partial-edit-apply.js +0 -439
- package/node_modules/pi-lens/dist/clients/path-attribution-telemetry.js +0 -43
- package/node_modules/pi-lens/dist/clients/path-keyed-map.js +0 -108
- package/node_modules/pi-lens/dist/clients/path-utils.js +0 -1244
- package/node_modules/pi-lens/dist/clients/performance-report.js +0 -331
- package/node_modules/pi-lens/dist/clients/persist-debounce.js +0 -70
- package/node_modules/pi-lens/dist/clients/persistent-reverify.js +0 -271
- package/node_modules/pi-lens/dist/clients/php-cs-fixer-config.js +0 -119
- package/node_modules/pi-lens/dist/clients/pipeline.js +0 -1480
- package/node_modules/pi-lens/dist/clients/post-autofix-notice.js +0 -37
- package/node_modules/pi-lens/dist/clients/print-mode.js +0 -21
- package/node_modules/pi-lens/dist/clients/probe-home-state.js +0 -228
- package/node_modules/pi-lens/dist/clients/process-bridge.js +0 -66
- package/node_modules/pi-lens/dist/clients/process-singletons.js +0 -210
- package/node_modules/pi-lens/dist/clients/process-snapshot.js +0 -68
- package/node_modules/pi-lens/dist/clients/project-changes.js +0 -181
- package/node_modules/pi-lens/dist/clients/project-conventions.js +0 -171
- package/node_modules/pi-lens/dist/clients/project-diagnostics/cache.js +0 -137
- package/node_modules/pi-lens/dist/clients/project-diagnostics/extractors.js +0 -109
- package/node_modules/pi-lens/dist/clients/project-diagnostics/fresh-fetch.js +0 -668
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/call-graph-impact.js +0 -118
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/dead-code.js +0 -47
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/gitleaks.js +0 -40
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/govulncheck.js +0 -34
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/jscpd.js +0 -38
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/knip.js +0 -47
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/madge.js +0 -48
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/opengrep.js +0 -40
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/runner-findings.js +0 -127
- package/node_modules/pi-lens/dist/clients/project-diagnostics/runner-adapters/trivy.js +0 -81
- package/node_modules/pi-lens/dist/clients/project-diagnostics/scanner.js +0 -520
- package/node_modules/pi-lens/dist/clients/project-diagnostics/types.js +0 -1
- package/node_modules/pi-lens/dist/clients/project-lens-config.js +0 -807
- package/node_modules/pi-lens/dist/clients/project-report.js +0 -701
- package/node_modules/pi-lens/dist/clients/project-scale.js +0 -237
- package/node_modules/pi-lens/dist/clients/project-scan-policy.js +0 -11
- package/node_modules/pi-lens/dist/clients/project-snapshot-fingerprint.js +0 -48
- package/node_modules/pi-lens/dist/clients/project-snapshot-persist-worker.js +0 -20
- package/node_modules/pi-lens/dist/clients/project-snapshot.js +0 -1653
- package/node_modules/pi-lens/dist/clients/project-trust.js +0 -181
- package/node_modules/pi-lens/dist/clients/python-environment.js +0 -217
- package/node_modules/pi-lens/dist/clients/python-provenance.js +0 -639
- package/node_modules/pi-lens/dist/clients/quiet-window-config.js +0 -47
- package/node_modules/pi-lens/dist/clients/quiet-window.js +0 -236
- package/node_modules/pi-lens/dist/clients/read-bridge.js +0 -139
- package/node_modules/pi-lens/dist/clients/read-expansion.js +0 -266
- package/node_modules/pi-lens/dist/clients/read-guard-logger.js +0 -251
- package/node_modules/pi-lens/dist/clients/read-guard-tool-lines.js +0 -1306
- package/node_modules/pi-lens/dist/clients/read-guard.js +0 -1561
- package/node_modules/pi-lens/dist/clients/recent-touches.js +0 -240
- package/node_modules/pi-lens/dist/clients/redact/secrets.js +0 -449
- package/node_modules/pi-lens/dist/clients/resource-sampler.js +0 -628
- package/node_modules/pi-lens/dist/clients/reverse-deps.js +0 -270
- package/node_modules/pi-lens/dist/clients/review-graph/builder.js +0 -5126
- package/node_modules/pi-lens/dist/clients/review-graph/format.js +0 -33
- package/node_modules/pi-lens/dist/clients/review-graph/git-identity.js +0 -163
- package/node_modules/pi-lens/dist/clients/review-graph/import-resolvers.js +0 -481
- package/node_modules/pi-lens/dist/clients/review-graph/persist-worker.js +0 -10
- package/node_modules/pi-lens/dist/clients/review-graph/query.js +0 -244
- package/node_modules/pi-lens/dist/clients/review-graph/revision-drift.js +0 -21
- package/node_modules/pi-lens/dist/clients/review-graph/service.js +0 -96
- package/node_modules/pi-lens/dist/clients/review-graph/shared-extraction-ir.js +0 -82
- package/node_modules/pi-lens/dist/clients/review-graph/symbol-id.js +0 -103
- package/node_modules/pi-lens/dist/clients/review-graph/tsconfig-paths.js +0 -299
- package/node_modules/pi-lens/dist/clients/review-graph/types.js +0 -1
- package/node_modules/pi-lens/dist/clients/review-graph/workspace-modules.js +0 -449
- package/node_modules/pi-lens/dist/clients/review-graph-logger.js +0 -81
- package/node_modules/pi-lens/dist/clients/ruff-client.js +0 -179
- package/node_modules/pi-lens/dist/clients/rules-scanner.js +0 -131
- package/node_modules/pi-lens/dist/clients/run-duration.js +0 -55
- package/node_modules/pi-lens/dist/clients/runtime-agent-end.js +0 -746
- package/node_modules/pi-lens/dist/clients/runtime-config.js +0 -77
- package/node_modules/pi-lens/dist/clients/runtime-context.js +0 -211
- package/node_modules/pi-lens/dist/clients/runtime-coordinator.js +0 -1324
- package/node_modules/pi-lens/dist/clients/runtime-session.js +0 -2485
- package/node_modules/pi-lens/dist/clients/runtime-tool-call.js +0 -1295
- package/node_modules/pi-lens/dist/clients/runtime-tool-result.js +0 -2049
- package/node_modules/pi-lens/dist/clients/runtime-turn.js +0 -3767
- package/node_modules/pi-lens/dist/clients/rust-client.js +0 -97
- package/node_modules/pi-lens/dist/clients/safe-spawn.js +0 -2357
- package/node_modules/pi-lens/dist/clients/sanitize.js +0 -286
- package/node_modules/pi-lens/dist/clients/scan-utils.js +0 -25
- package/node_modules/pi-lens/dist/clients/scratch-tree-policy.js +0 -165
- package/node_modules/pi-lens/dist/clients/search-read-registration.js +0 -94
- package/node_modules/pi-lens/dist/clients/secret-findings.js +0 -114
- package/node_modules/pi-lens/dist/clients/security-scan-client.js +0 -352
- package/node_modules/pi-lens/dist/clients/session-event-guard.js +0 -297
- package/node_modules/pi-lens/dist/clients/session-lifecycle.js +0 -484
- package/node_modules/pi-lens/dist/clients/session-start-observability.js +0 -94
- package/node_modules/pi-lens/dist/clients/session-state-store.js +0 -101
- package/node_modules/pi-lens/dist/clients/session-summary.js +0 -15
- package/node_modules/pi-lens/dist/clients/sessionstart-logger.js +0 -27
- package/node_modules/pi-lens/dist/clients/sg-runner.js +0 -876
- package/node_modules/pi-lens/dist/clients/sgconfig.js +0 -347
- package/node_modules/pi-lens/dist/clients/shared-checkout-guard.js +0 -338
- package/node_modules/pi-lens/dist/clients/single-flight.js +0 -158
- package/node_modules/pi-lens/dist/clients/situational-tool-telemetry.js +0 -108
- package/node_modules/pi-lens/dist/clients/skills-resolver.js +0 -141
- package/node_modules/pi-lens/dist/clients/slow-fs.js +0 -138
- package/node_modules/pi-lens/dist/clients/smells-rollup.js +0 -231
- package/node_modules/pi-lens/dist/clients/source-filter.js +0 -596
- package/node_modules/pi-lens/dist/clients/source-walker.js +0 -211
- package/node_modules/pi-lens/dist/clients/spawn-output-cap.js +0 -120
- package/node_modules/pi-lens/dist/clients/spawn-timeout-cooldown.js +0 -110
- package/node_modules/pi-lens/dist/clients/stale-marker.js +0 -17
- package/node_modules/pi-lens/dist/clients/startup-scan.js +0 -400
- package/node_modules/pi-lens/dist/clients/startup-timing.js +0 -130
- package/node_modules/pi-lens/dist/clients/string-utils.js +0 -33
- package/node_modules/pi-lens/dist/clients/subagent-mode.js +0 -111
- package/node_modules/pi-lens/dist/clients/symbol-containment.js +0 -24
- package/node_modules/pi-lens/dist/clients/symbol-types.js +0 -5
- package/node_modules/pi-lens/dist/clients/test-runner-client.js +0 -2507
- package/node_modules/pi-lens/dist/clients/test-runner-delivery.js +0 -287
- package/node_modules/pi-lens/dist/clients/todo-scanner.js +0 -229
- package/node_modules/pi-lens/dist/clients/tool-agreement.js +0 -423
- package/node_modules/pi-lens/dist/clients/tool-config.js +0 -249
- package/node_modules/pi-lens/dist/clients/tool-cwd.js +0 -270
- package/node_modules/pi-lens/dist/clients/tool-definition.js +0 -47
- package/node_modules/pi-lens/dist/clients/tool-event.js +0 -105
- package/node_modules/pi-lens/dist/clients/tool-policy.js +0 -2755
- package/node_modules/pi-lens/dist/clients/tool-probe.js +0 -53
- package/node_modules/pi-lens/dist/clients/tool-render.js +0 -156
- package/node_modules/pi-lens/dist/clients/tool-set-policy.js +0 -118
- package/node_modules/pi-lens/dist/clients/tree-sitter-cache.js +0 -364
- package/node_modules/pi-lens/dist/clients/tree-sitter-client.js +0 -4195
- package/node_modules/pi-lens/dist/clients/tree-sitter-logger.js +0 -100
- package/node_modules/pi-lens/dist/clients/tree-sitter-navigator.js +0 -269
- package/node_modules/pi-lens/dist/clients/tree-sitter-query-loader.js +0 -569
- package/node_modules/pi-lens/dist/clients/tree-sitter-shared.js +0 -158
- package/node_modules/pi-lens/dist/clients/tree-sitter-symbol-extractor.js +0 -1265
- package/node_modules/pi-lens/dist/clients/trivy-client.js +0 -467
- package/node_modules/pi-lens/dist/clients/tui-fit.js +0 -50
- package/node_modules/pi-lens/dist/clients/turn-context.js +0 -52
- package/node_modules/pi-lens/dist/clients/turn-end/lane.js +0 -51
- package/node_modules/pi-lens/dist/clients/turn-end/lanes/govulncheck.js +0 -112
- package/node_modules/pi-lens/dist/clients/turn-end/lanes/secrets.js +0 -204
- package/node_modules/pi-lens/dist/clients/turn-summary-render.js +0 -72
- package/node_modules/pi-lens/dist/clients/turn-summary.js +0 -132
- package/node_modules/pi-lens/dist/clients/typos-config.js +0 -29
- package/node_modules/pi-lens/dist/clients/user-notify.js +0 -51
- package/node_modules/pi-lens/dist/clients/vanished-instance-marker.js +0 -57
- package/node_modules/pi-lens/dist/clients/warm-attach.js +0 -305
- package/node_modules/pi-lens/dist/clients/widget-state.js +0 -1808
- package/node_modules/pi-lens/dist/clients/word-index-logger.js +0 -49
- package/node_modules/pi-lens/dist/clients/word-index-store.js +0 -459
- package/node_modules/pi-lens/dist/clients/word-index.js +0 -2080
- package/node_modules/pi-lens/dist/clients/workspace-topology.js +0 -443
- package/node_modules/pi-lens/dist/clients/write-ordering-guard.js +0 -65
- package/node_modules/pi-lens/dist/clients/zizmor-config.js +0 -340
- package/node_modules/pi-lens/dist/i18n.js +0 -69
- package/node_modules/pi-lens/dist/mcp/build-staleness.js +0 -124
- package/node_modules/pi-lens/dist/scripts/lib/process-scan.mjs +0 -583
- package/node_modules/pi-lens/dist/scripts/lib/skills-predicate.mjs +0 -129
- package/node_modules/pi-lens/dist/scripts/lib/web-tree-sitter-dir.mjs +0 -123
- package/node_modules/pi-lens/dist/tools/activate-tools.js +0 -87
- package/node_modules/pi-lens/dist/tools/ast-grep-outline.js +0 -137
- package/node_modules/pi-lens/dist/tools/ast-grep-replace.js +0 -244
- package/node_modules/pi-lens/dist/tools/ast-grep-search.js +0 -762
- package/node_modules/pi-lens/dist/tools/effective-config.js +0 -90
- package/node_modules/pi-lens/dist/tools/lens-diagnostic-mark.js +0 -375
- package/node_modules/pi-lens/dist/tools/lens-diagnostics.js +0 -2571
- package/node_modules/pi-lens/dist/tools/lsp-diagnostics.js +0 -1745
- package/node_modules/pi-lens/dist/tools/lsp-navigation.js +0 -1367
- package/node_modules/pi-lens/dist/tools/lsp-structured-output.js +0 -294
- package/node_modules/pi-lens/dist/tools/module-report.js +0 -382
- package/node_modules/pi-lens/dist/tools/project-report.js +0 -86
- package/node_modules/pi-lens/dist/tools/render-compact.js +0 -374
- package/node_modules/pi-lens/dist/tools/scan-progress.js +0 -53
- package/node_modules/pi-lens/dist/tools/shared.js +0 -29
- package/node_modules/pi-lens/dist/tools/symbol-search.js +0 -155
- package/node_modules/pi-web-access/opencode-session-headers.ts +0 -24
- package/node_modules/remote-pi/README.md +0 -675
- package/node_modules/remote-pi/dist/actions/handlers.d.ts +0 -122
- package/node_modules/remote-pi/dist/actions/handlers.js +0 -160
- package/node_modules/remote-pi/dist/actions/handlers.js.map +0 -1
- package/node_modules/remote-pi/dist/actions/registry.d.ts +0 -39
- package/node_modules/remote-pi/dist/actions/registry.js +0 -58
- package/node_modules/remote-pi/dist/actions/registry.js.map +0 -1
- package/node_modules/remote-pi/dist/bin/supervisord.d.ts +0 -2
- package/node_modules/remote-pi/dist/bin/supervisord.js +0 -86
- package/node_modules/remote-pi/dist/bin/supervisord.js.map +0 -1
- package/node_modules/remote-pi/dist/commands/builtin_mirror.d.ts +0 -58
- package/node_modules/remote-pi/dist/commands/builtin_mirror.js +0 -71
- package/node_modules/remote-pi/dist/commands/builtin_mirror.js.map +0 -1
- package/node_modules/remote-pi/dist/commands/list_commands.d.ts +0 -60
- package/node_modules/remote-pi/dist/commands/list_commands.js +0 -73
- package/node_modules/remote-pi/dist/commands/list_commands.js.map +0 -1
- package/node_modules/remote-pi/dist/config.d.ts +0 -62
- package/node_modules/remote-pi/dist/config.js +0 -115
- package/node_modules/remote-pi/dist/config.js.map +0 -1
- package/node_modules/remote-pi/dist/daemon/client.d.ts +0 -20
- package/node_modules/remote-pi/dist/daemon/client.js +0 -131
- package/node_modules/remote-pi/dist/daemon/client.js.map +0 -1
- package/node_modules/remote-pi/dist/daemon/control_protocol.d.ts +0 -176
- package/node_modules/remote-pi/dist/daemon/control_protocol.js +0 -63
- package/node_modules/remote-pi/dist/daemon/control_protocol.js.map +0 -1
- package/node_modules/remote-pi/dist/daemon/cron_log.d.ts +0 -45
- package/node_modules/remote-pi/dist/daemon/cron_log.js +0 -72
- package/node_modules/remote-pi/dist/daemon/cron_log.js.map +0 -1
- package/node_modules/remote-pi/dist/daemon/cron_registry.d.ts +0 -80
- package/node_modules/remote-pi/dist/daemon/cron_registry.js +0 -194
- package/node_modules/remote-pi/dist/daemon/cron_registry.js.map +0 -1
- package/node_modules/remote-pi/dist/daemon/id.d.ts +0 -24
- package/node_modules/remote-pi/dist/daemon/id.js +0 -36
- package/node_modules/remote-pi/dist/daemon/id.js.map +0 -1
- package/node_modules/remote-pi/dist/daemon/install.d.ts +0 -170
- package/node_modules/remote-pi/dist/daemon/install.js +0 -547
- package/node_modules/remote-pi/dist/daemon/install.js.map +0 -1
- package/node_modules/remote-pi/dist/daemon/registry.d.ts +0 -63
- package/node_modules/remote-pi/dist/daemon/registry.js +0 -153
- package/node_modules/remote-pi/dist/daemon/registry.js.map +0 -1
- package/node_modules/remote-pi/dist/daemon/rpc_child.d.ts +0 -194
- package/node_modules/remote-pi/dist/daemon/rpc_child.js +0 -389
- package/node_modules/remote-pi/dist/daemon/rpc_child.js.map +0 -1
- package/node_modules/remote-pi/dist/daemon/supervisor.d.ts +0 -93
- package/node_modules/remote-pi/dist/daemon/supervisor.js +0 -596
- package/node_modules/remote-pi/dist/daemon/supervisor.js.map +0 -1
- package/node_modules/remote-pi/dist/extension_ui_bridge.d.ts +0 -26
- package/node_modules/remote-pi/dist/extension_ui_bridge.js +0 -341
- package/node_modules/remote-pi/dist/extension_ui_bridge.js.map +0 -1
- package/node_modules/remote-pi/dist/index.d.ts +0 -213
- package/node_modules/remote-pi/dist/index.js +0 -4996
- package/node_modules/remote-pi/dist/index.js.map +0 -1
- package/node_modules/remote-pi/dist/mcp/mesh_result.d.ts +0 -10
- package/node_modules/remote-pi/dist/mcp/mesh_result.js +0 -42
- package/node_modules/remote-pi/dist/mcp/mesh_result.js.map +0 -1
- package/node_modules/remote-pi/dist/mcp/mesh_server.d.ts +0 -16
- package/node_modules/remote-pi/dist/mcp/mesh_server.js +0 -327
- package/node_modules/remote-pi/dist/mcp/mesh_server.js.map +0 -1
- package/node_modules/remote-pi/dist/mesh/canonical.d.ts +0 -30
- package/node_modules/remote-pi/dist/mesh/canonical.js +0 -61
- package/node_modules/remote-pi/dist/mesh/canonical.js.map +0 -1
- package/node_modules/remote-pi/dist/mesh/client.d.ts +0 -18
- package/node_modules/remote-pi/dist/mesh/client.js +0 -125
- package/node_modules/remote-pi/dist/mesh/client.js.map +0 -1
- package/node_modules/remote-pi/dist/mesh/encoding.d.ts +0 -38
- package/node_modules/remote-pi/dist/mesh/encoding.js +0 -216
- package/node_modules/remote-pi/dist/mesh/encoding.js.map +0 -1
- package/node_modules/remote-pi/dist/mesh/self_revoke.d.ts +0 -73
- package/node_modules/remote-pi/dist/mesh/self_revoke.js +0 -401
- package/node_modules/remote-pi/dist/mesh/self_revoke.js.map +0 -1
- package/node_modules/remote-pi/dist/mesh/siblings.d.ts +0 -49
- package/node_modules/remote-pi/dist/mesh/siblings.js +0 -159
- package/node_modules/remote-pi/dist/mesh/siblings.js.map +0 -1
- package/node_modules/remote-pi/dist/mesh/types.d.ts +0 -34
- package/node_modules/remote-pi/dist/mesh/types.js +0 -11
- package/node_modules/remote-pi/dist/mesh/types.js.map +0 -1
- package/node_modules/remote-pi/dist/mesh/verify.d.ts +0 -17
- package/node_modules/remote-pi/dist/mesh/verify.js +0 -86
- package/node_modules/remote-pi/dist/mesh/verify.js.map +0 -1
- package/node_modules/remote-pi/dist/pairing/crypto.d.ts +0 -8
- package/node_modules/remote-pi/dist/pairing/crypto.js +0 -22
- package/node_modules/remote-pi/dist/pairing/crypto.js.map +0 -1
- package/node_modules/remote-pi/dist/pairing/handshake.d.ts +0 -28
- package/node_modules/remote-pi/dist/pairing/handshake.js +0 -113
- package/node_modules/remote-pi/dist/pairing/handshake.js.map +0 -1
- package/node_modules/remote-pi/dist/pairing/noise-sha256.d.ts +0 -16
- package/node_modules/remote-pi/dist/pairing/noise-sha256.js +0 -103
- package/node_modules/remote-pi/dist/pairing/noise-sha256.js.map +0 -1
- package/node_modules/remote-pi/dist/pairing/qr.d.ts +0 -59
- package/node_modules/remote-pi/dist/pairing/qr.js +0 -125
- package/node_modules/remote-pi/dist/pairing/qr.js.map +0 -1
- package/node_modules/remote-pi/dist/pairing/storage.d.ts +0 -120
- package/node_modules/remote-pi/dist/pairing/storage.js +0 -604
- package/node_modules/remote-pi/dist/pairing/storage.js.map +0 -1
- package/node_modules/remote-pi/dist/protocol/codec.d.ts +0 -7
- package/node_modules/remote-pi/dist/protocol/codec.js +0 -49
- package/node_modules/remote-pi/dist/protocol/codec.js.map +0 -1
- package/node_modules/remote-pi/dist/protocol/types.d.ts +0 -393
- package/node_modules/remote-pi/dist/protocol/types.js +0 -2
- package/node_modules/remote-pi/dist/protocol/types.js.map +0 -1
- package/node_modules/remote-pi/dist/rooms.d.ts +0 -29
- package/node_modules/remote-pi/dist/rooms.js +0 -57
- package/node_modules/remote-pi/dist/rooms.js.map +0 -1
- package/node_modules/remote-pi/dist/session/address.d.ts +0 -49
- package/node_modules/remote-pi/dist/session/address.js +0 -58
- package/node_modules/remote-pi/dist/session/address.js.map +0 -1
- package/node_modules/remote-pi/dist/session/agent_bridge.d.ts +0 -55
- package/node_modules/remote-pi/dist/session/agent_bridge.js +0 -146
- package/node_modules/remote-pi/dist/session/agent_bridge.js.map +0 -1
- package/node_modules/remote-pi/dist/session/bridge.d.ts +0 -37
- package/node_modules/remote-pi/dist/session/bridge.js +0 -130
- package/node_modules/remote-pi/dist/session/bridge.js.map +0 -1
- package/node_modules/remote-pi/dist/session/broker.d.ts +0 -189
- package/node_modules/remote-pi/dist/session/broker.js +0 -507
- package/node_modules/remote-pi/dist/session/broker.js.map +0 -1
- package/node_modules/remote-pi/dist/session/broker_remote.d.ts +0 -74
- package/node_modules/remote-pi/dist/session/broker_remote.js +0 -583
- package/node_modules/remote-pi/dist/session/broker_remote.js.map +0 -1
- package/node_modules/remote-pi/dist/session/cwd_lock.d.ts +0 -33
- package/node_modules/remote-pi/dist/session/cwd_lock.js +0 -126
- package/node_modules/remote-pi/dist/session/cwd_lock.js.map +0 -1
- package/node_modules/remote-pi/dist/session/envelope.d.ts +0 -33
- package/node_modules/remote-pi/dist/session/envelope.js +0 -117
- package/node_modules/remote-pi/dist/session/envelope.js.map +0 -1
- package/node_modules/remote-pi/dist/session/global_config.d.ts +0 -33
- package/node_modules/remote-pi/dist/session/global_config.js +0 -73
- package/node_modules/remote-pi/dist/session/global_config.js.map +0 -1
- package/node_modules/remote-pi/dist/session/ipc.d.ts +0 -27
- package/node_modules/remote-pi/dist/session/ipc.js +0 -22
- package/node_modules/remote-pi/dist/session/ipc.js.map +0 -1
- package/node_modules/remote-pi/dist/session/leader_election.d.ts +0 -32
- package/node_modules/remote-pi/dist/session/leader_election.js +0 -106
- package/node_modules/remote-pi/dist/session/leader_election.js.map +0 -1
- package/node_modules/remote-pi/dist/session/local_config.d.ts +0 -55
- package/node_modules/remote-pi/dist/session/local_config.js +0 -157
- package/node_modules/remote-pi/dist/session/local_config.js.map +0 -1
- package/node_modules/remote-pi/dist/session/mesh_message.d.ts +0 -20
- package/node_modules/remote-pi/dist/session/mesh_message.js +0 -28
- package/node_modules/remote-pi/dist/session/mesh_message.js.map +0 -1
- package/node_modules/remote-pi/dist/session/mesh_node.d.ts +0 -116
- package/node_modules/remote-pi/dist/session/mesh_node.js +0 -573
- package/node_modules/remote-pi/dist/session/mesh_node.js.map +0 -1
- package/node_modules/remote-pi/dist/session/peer.d.ts +0 -139
- package/node_modules/remote-pi/dist/session/peer.js +0 -451
- package/node_modules/remote-pi/dist/session/peer.js.map +0 -1
- package/node_modules/remote-pi/dist/session/peer_inventory.d.ts +0 -13
- package/node_modules/remote-pi/dist/session/peer_inventory.js +0 -48
- package/node_modules/remote-pi/dist/session/peer_inventory.js.map +0 -1
- package/node_modules/remote-pi/dist/session/peer_limits.d.ts +0 -9
- package/node_modules/remote-pi/dist/session/peer_limits.js +0 -21
- package/node_modules/remote-pi/dist/session/peer_limits.js.map +0 -1
- package/node_modules/remote-pi/dist/session/setup_wizard.d.ts +0 -39
- package/node_modules/remote-pi/dist/session/setup_wizard.js +0 -63
- package/node_modules/remote-pi/dist/session/setup_wizard.js.map +0 -1
- package/node_modules/remote-pi/dist/session/tool_gate.d.ts +0 -5
- package/node_modules/remote-pi/dist/session/tool_gate.js +0 -11
- package/node_modules/remote-pi/dist/session/tool_gate.js.map +0 -1
- package/node_modules/remote-pi/dist/session/tools.d.ts +0 -24
- package/node_modules/remote-pi/dist/session/tools.js +0 -252
- package/node_modules/remote-pi/dist/session/tools.js.map +0 -1
- package/node_modules/remote-pi/dist/session/wizard.d.ts +0 -13
- package/node_modules/remote-pi/dist/session/wizard.js +0 -20
- package/node_modules/remote-pi/dist/session/wizard.js.map +0 -1
- package/node_modules/remote-pi/dist/settings.d.ts +0 -15
- package/node_modules/remote-pi/dist/settings.js +0 -52
- package/node_modules/remote-pi/dist/settings.js.map +0 -1
- package/node_modules/remote-pi/dist/transport/peer_channel.d.ts +0 -37
- package/node_modules/remote-pi/dist/transport/peer_channel.js +0 -98
- package/node_modules/remote-pi/dist/transport/peer_channel.js.map +0 -1
- package/node_modules/remote-pi/dist/transport/pi_forward_client.d.ts +0 -29
- package/node_modules/remote-pi/dist/transport/pi_forward_client.js +0 -62
- package/node_modules/remote-pi/dist/transport/pi_forward_client.js.map +0 -1
- package/node_modules/remote-pi/dist/transport/relay_client.d.ts +0 -91
- package/node_modules/remote-pi/dist/transport/relay_client.js +0 -206
- package/node_modules/remote-pi/dist/transport/relay_client.js.map +0 -1
- package/node_modules/remote-pi/dist/ui/footer.d.ts +0 -32
- package/node_modules/remote-pi/dist/ui/footer.js +0 -34
- package/node_modules/remote-pi/dist/ui/footer.js.map +0 -1
- package/node_modules/remote-pi/docs/daemon.md +0 -289
- package/node_modules/remote-pi/package.json +0 -92
- package/node_modules/remote-pi/service-templates/launchd.plist.template +0 -35
- package/node_modules/remote-pi/service-templates/systemd.service.template +0 -19
- package/node_modules/remote-pi/service-templates/task-launcher.vbs.template +0 -10
- package/node_modules/remote-pi/service-templates/task-scheduler.xml.template +0 -38
- package/node_modules/remote-pi/skills/agent-network/SKILL.md +0 -310
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* #1775: `sessionstart.log` recorded no build identity — no commit hash, no
|
|
3
|
-
* build timestamp. Dogfood forensics ("does this session include PR #1727?")
|
|
4
|
-
* had to reconstruct that by hand: run `git merge-base --is-ancestor` in the
|
|
5
|
-
* serving checkout and compare `dist/` mtimes against the session-start time.
|
|
6
|
-
*
|
|
7
|
-
* The running extension can be a different checkout than the repo an
|
|
8
|
-
* investigator is looking at, so identity is derived from the RUNNING
|
|
9
|
-
* build's own files — `getPackageRoot` (already used by grammar-source.ts to
|
|
10
|
-
* find pi-lens's own assets under both the unbundled dev layout and a
|
|
11
|
-
* packaged install) plus the mtime of the very entry file that is executing
|
|
12
|
-
* right now — never from `process.cwd()` and never assumed to be a git
|
|
13
|
-
* checkout.
|
|
14
|
-
*
|
|
15
|
-
* Commit resolution reuses `review-graph/git-identity.ts`'s
|
|
16
|
-
* `resolveGitIdentity` — a PURE filesystem read, no `git` subprocess. This
|
|
17
|
-
* runs inside the `session_start` handler, ahead of the #473
|
|
18
|
-
* concurrent-secondary classification, so every in-process subagent pays
|
|
19
|
-
* whatever this costs; a synchronous `git rev-parse`/`git status` spawn pair
|
|
20
|
-
* (fix round 1's approach, reverted here) measured 150-300ms typical and up
|
|
21
|
-
* to ~10s worst case on two 5s timeouts. `resolveGitIdentity` is a handful of
|
|
22
|
-
* `fs.readFileSync` calls, LRU-cached per process, so this path never spawns.
|
|
23
|
-
*
|
|
24
|
-
* The dirty working-tree flag genuinely needs `git status`, which has no
|
|
25
|
-
* spawn-free equivalent — so it is dropped from this record rather than
|
|
26
|
-
* reintroducing a spawn on the session-start hot path (refs #1775 followup
|
|
27
|
-
* comment: dirty flag deferred, commit + entryMtime + version shipped).
|
|
28
|
-
*/
|
|
29
|
-
import * as fs from "node:fs";
|
|
30
|
-
import * as path from "node:path";
|
|
31
|
-
import { fileURLToPath } from "node:url";
|
|
32
|
-
import { isTestMode } from "./env-utils.js";
|
|
33
|
-
import { getPackageRoot } from "./package-root.js";
|
|
34
|
-
import { normalizeFilePath } from "./path-utils.js";
|
|
35
|
-
import { resolveGitIdentity } from "./review-graph/git-identity.js";
|
|
36
|
-
/**
|
|
37
|
-
* A `.git` found by walking up from `root` only counts as owning `root` when
|
|
38
|
-
* its resolved worktree top-level IS `root` — not merely an ancestor of it.
|
|
39
|
-
* Without this check, a packaged install nested anywhere under an unrelated
|
|
40
|
-
* repo (a dotfiles checkout in $HOME is the common case) would confidently
|
|
41
|
-
* report that repo's HEAD as the running build's identity.
|
|
42
|
-
*/
|
|
43
|
-
function resolveOwnedCommit(root) {
|
|
44
|
-
const identity = resolveGitIdentity(root);
|
|
45
|
-
if (!identity)
|
|
46
|
-
return "unknown";
|
|
47
|
-
const normalizedRoot = normalizeFilePath(path.resolve(root));
|
|
48
|
-
if (identity.worktreeRoot !== normalizedRoot)
|
|
49
|
-
return "unknown";
|
|
50
|
-
return identity.headCommit.slice(0, 8);
|
|
51
|
-
}
|
|
52
|
-
function readPackageVersion(root) {
|
|
53
|
-
try {
|
|
54
|
-
const raw = fs.readFileSync(path.join(root, "package.json"), "utf-8");
|
|
55
|
-
const pkg = JSON.parse(raw);
|
|
56
|
-
return pkg.version ?? "unknown";
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
return "unknown";
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
function statEntryMtime(entryImportMetaUrl) {
|
|
63
|
-
try {
|
|
64
|
-
return fs.statSync(fileURLToPath(entryImportMetaUrl)).mtime.toISOString();
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
// Entry path unresolvable (e.g. a non-file:// URL) — "unknown" rather
|
|
68
|
-
// than throw out of a session-start observability line.
|
|
69
|
-
return "unknown";
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Resolve the identity of the build currently running — pure filesystem
|
|
74
|
-
* reads, no subprocess. `entryImportMetaUrl` must be the ENTRY module's own
|
|
75
|
-
* `import.meta.url` (index.ts) — passing a different module's URL would
|
|
76
|
-
* report that module's mtime instead of the running build's.
|
|
77
|
-
*
|
|
78
|
-
* Returns `undefined` inside the test runner: nothing computed, nothing
|
|
79
|
-
* logged (`sessionstart-logger`'s writer is a no-op there too), so a caller
|
|
80
|
-
* on the session-start hot path never pays this cost during tests.
|
|
81
|
-
*/
|
|
82
|
-
export function getBuildIdentity(entryImportMetaUrl) {
|
|
83
|
-
if (isTestMode())
|
|
84
|
-
return undefined;
|
|
85
|
-
const root = getPackageRoot(entryImportMetaUrl);
|
|
86
|
-
return {
|
|
87
|
-
commit: resolveOwnedCommit(root),
|
|
88
|
-
entryMtime: statEntryMtime(entryImportMetaUrl),
|
|
89
|
-
version: readPackageVersion(root),
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
/** One bounded, human-readable line for sessionstart.log's free-text writer. */
|
|
93
|
-
export function formatBuildIdentity(identity) {
|
|
94
|
-
return `session_start: build identity — commit=${identity.commit} entryMtime=${identity.entryMtime} version=${identity.version}`;
|
|
95
|
-
}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared health classification + degradation reporting for a bundled
|
|
3
|
-
* resource directory read DIRECTLY by pi-lens (never handed to an external
|
|
4
|
-
* spawned tool as a `--config`/`--rule-dir` argument — that class already
|
|
5
|
-
* fails loudly through the tool's own spawn-failure path).
|
|
6
|
-
*
|
|
7
|
-
* #2626 fixed this shape for `clients/skills-resolver.ts`'s `skills/`
|
|
8
|
-
* directory: `resolvePackagePath(import.meta.url, …)` walks up from the
|
|
9
|
-
* loaded entry file to the nearest `package.json`, which is correct for both
|
|
10
|
-
* the source and compiled `dist/` layouts, but goes wrong SILENTLY, not
|
|
11
|
-
* loudly, when that walk lands somewhere with no resource dir beside it —
|
|
12
|
-
* the bundled dir missing from an installed package, or the entry file
|
|
13
|
-
* copied out of the package tree by a managed extension cache so the
|
|
14
|
-
* nearest `package.json` is the cache's own. #2636 is the class sweep:
|
|
15
|
-
* `clients/ast-grep-client.ts`'s `rules` fallback and the bundled
|
|
16
|
-
* tree-sitter-queries root (read identically by `clients/cache/rule-cache.ts`
|
|
17
|
-
* and `clients/tree-sitter-query-loader.ts`) have the exact same gap.
|
|
18
|
-
*
|
|
19
|
-
* Both callers reuse this ONE classify+report pair rather than each
|
|
20
|
-
* hand-rolling the ENOENT/EACCES distinction (#2626 review F4) a second and
|
|
21
|
-
* third time.
|
|
22
|
-
*/
|
|
23
|
-
import * as fs from "node:fs";
|
|
24
|
-
import { incrementDegradationCount, } from "./degradation-ledger.js";
|
|
25
|
-
import { notifyUserDegradation } from "./user-notify.js";
|
|
26
|
-
/**
|
|
27
|
-
* Classify `dir`: does it exist, is it readable, and does it hold anything?
|
|
28
|
-
* Fail-closed and never throws. Distinguishes `ENOENT` (the common
|
|
29
|
-
* managed-cache-relocation case) from any OTHER `readdirSync` error
|
|
30
|
-
* (`EACCES` and friends) — an unreadable directory might genuinely hold a
|
|
31
|
-
* real resource pi-lens simply cannot read, so the honest report is "cannot
|
|
32
|
-
* read it", never "nothing is there" (#2626 review F4).
|
|
33
|
-
*
|
|
34
|
-
* `countEntries` lets a caller supply its OWN notion of "found" — e.g.
|
|
35
|
-
* `skills-resolver.ts` counts pi-loadable skill entry points via
|
|
36
|
-
* `scanEntriesForSkills`, not a bare directory listing — while still sharing
|
|
37
|
-
* this function's ENOENT/EACCES/empty classification shell (#2636 review F4:
|
|
38
|
-
* that shell was duplicated character-for-character between the two modules
|
|
39
|
-
* before this parameter existed). The default counts plain directory
|
|
40
|
-
* entries, which is what every OTHER caller (ast-grep's rules dir, the
|
|
41
|
-
* bundled tree-sitter-queries root) actually wants.
|
|
42
|
-
*/
|
|
43
|
-
export function classifyBundledResourceDir(dir, countEntries = (d) => fs.readdirSync(d).length) {
|
|
44
|
-
let entryCount;
|
|
45
|
-
try {
|
|
46
|
-
entryCount = countEntries(dir);
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
const fsErrorCode = error?.code ?? "UNKNOWN";
|
|
50
|
-
if (fsErrorCode === "ENOENT")
|
|
51
|
-
return { status: "absent" };
|
|
52
|
-
return { status: "unreadable", fsErrorCode };
|
|
53
|
-
}
|
|
54
|
-
return entryCount > 0
|
|
55
|
-
? { status: "healthy", entryCount }
|
|
56
|
-
: { status: "empty" };
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Render `health` as a reason string. `emptyDescription` lets a caller name
|
|
60
|
-
* what "nothing found" actually means for its own resource (skills' loader
|
|
61
|
-
* cares about `SKILL.md`, not bare directory entries); every other status's
|
|
62
|
-
* prose is shared verbatim, since ENOENT/EACCES mean the exact same thing
|
|
63
|
-
* regardless of which resource directory hit them.
|
|
64
|
-
*/
|
|
65
|
-
export function describeBundledResourceHealth(health, dir, emptyDescription = `${dir} exists but holds nothing`) {
|
|
66
|
-
switch (health.status) {
|
|
67
|
-
case "absent":
|
|
68
|
-
return `no such directory: ${dir}`;
|
|
69
|
-
case "unreadable":
|
|
70
|
-
return `cannot read ${dir} (${health.fsErrorCode})`;
|
|
71
|
-
case "empty":
|
|
72
|
-
return emptyDescription;
|
|
73
|
-
default:
|
|
74
|
-
// unreachable for the "healthy" case — callers only report unhealthy ones.
|
|
75
|
-
return `${dir}: unexpected health status`;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Record ONE bounded `kind` degradation plus one `notifyUserDegradation`
|
|
80
|
-
* warning per (kind, dir) per session, when `health` is not healthy.
|
|
81
|
-
* Pure no-op when healthy. `incrementDegradationCount`'s own return value
|
|
82
|
-
* (not a hand-rolled Set) gates the notify to the rising edge, so a caller
|
|
83
|
-
* invoked on every dispatch (e.g. `RuleCache`'s constructor) can call this
|
|
84
|
-
* unconditionally without spamming the notify surface.
|
|
85
|
-
*
|
|
86
|
-
* `reasonOverride` lets a caller build a richer reason (skills-resolver.ts
|
|
87
|
-
* appends the entry file's directory) while still sharing the
|
|
88
|
-
* increment/notify mechanics below; the default is this module's own
|
|
89
|
-
* `describeBundledResourceHealth`.
|
|
90
|
-
*
|
|
91
|
-
* `notifyMessage` lets a caller replace the DEFAULT `pi-lens: <label>
|
|
92
|
-
* unavailable — <reason>.` sentence with its own finished wording (#2636
|
|
93
|
-
* review round 2, F1): `skills-resolver.ts`'s shipped notify text ("registers
|
|
94
|
-
* zero skills") is user-visible product text #2626 chose deliberately — the
|
|
95
|
-
* SYMPTOM the notification exists to surface — and folding onto this shared
|
|
96
|
-
* helper must never silently reword a string a maintainer already tuned.
|
|
97
|
-
*/
|
|
98
|
-
export function reportBundledResourceDirHealth(kind, dir, health, label, reasonOverride, notifyMessage) {
|
|
99
|
-
if (health.status === "healthy")
|
|
100
|
-
return;
|
|
101
|
-
const reason = reasonOverride ?? describeBundledResourceHealth(health, dir);
|
|
102
|
-
const isFirstOccurrence = incrementDegradationCount({
|
|
103
|
-
kind,
|
|
104
|
-
subject: dir,
|
|
105
|
-
reason,
|
|
106
|
-
metadata: health.status === "unreadable"
|
|
107
|
-
? { fsErrorCode: health.fsErrorCode }
|
|
108
|
-
: undefined,
|
|
109
|
-
});
|
|
110
|
-
if (isFirstOccurrence) {
|
|
111
|
-
notifyUserDegradation(notifyMessage ?? `pi-lens: ${label} unavailable — ${reason}.`, "warning");
|
|
112
|
-
}
|
|
113
|
-
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Persistent NDJSON trace of `pi.events` bus publish attempts
|
|
3
|
-
* (`pilens:files:touched` #482 / `pilens:diagnostics` #502 /
|
|
4
|
-
* `pilens:diagnostic:disposition` / `pilens:format:queued` +
|
|
5
|
-
* `pilens:format:start` + `pilens:autofix:start` #673/#684 /
|
|
6
|
-
* `pi-lens/analysis-complete` + `pi-lens/findings` + `pi-lens/turn-findings`
|
|
7
|
-
* #1415) — nine event names across five producers.
|
|
8
|
-
*
|
|
9
|
-
* All five producers (clients/bus-publish.ts, clients/diagnostics-publish.ts,
|
|
10
|
-
* clients/disposition-publish.ts, clients/format-events-publish.ts,
|
|
11
|
-
* clients/lens-events.ts) are fire-and-forget: on failure or on a structural
|
|
12
|
-
* no-op (never wired, kill switch off) the four #482/#502/#673/#684
|
|
13
|
-
* producers only invoke an optional `dbg` callback, which varies by host and
|
|
14
|
-
* is a documented no-op in the MCP host (clients/mcp/session.ts's
|
|
15
|
-
* `dbg: noop`); `lens-events.ts` (#1415) has no `dbg` param at all — its
|
|
16
|
-
* events are purely observational inter-extension telemetry, so this NDJSON
|
|
17
|
-
* trace is its ONLY failure-visible surface. Either way, that leaves
|
|
18
|
-
* bus-publish outcomes invisible in exactly the context where they matter
|
|
19
|
-
* most — same failure shape as the #544 MCP session_start incident this repo
|
|
20
|
-
* already fixed once.
|
|
21
|
-
*
|
|
22
|
-
* This module gives bus events the same durable trace every other pi-lens
|
|
23
|
-
* subsystem already has (latency.log, cascade.log, read-guard.log, ...) —
|
|
24
|
-
* see clients/latency-logger.ts for the house pattern this mirrors exactly:
|
|
25
|
-
* one shared `createNdjsonLogger` writer, `isTestMode()` no-op guard.
|
|
26
|
-
*
|
|
27
|
-
* Logging volume: `emitted` and `emit_failed` are logged on every call —
|
|
28
|
-
* they're the two outcomes an operator actually needs a per-event trace for.
|
|
29
|
-
* `skipped_unwired` and `skipped_disabled` are process-lifetime-static facts
|
|
30
|
-
* (wiring happens once at extension factory time; the kill switch is an env
|
|
31
|
-
* var read once at startup) — logging them on every publish attempt would
|
|
32
|
-
* spam one identical line per write batch for an entire session with zero
|
|
33
|
-
* new information after the first. Both are gated log-once-per-process, the
|
|
34
|
-
* same `hasLoggedFailure` shape the producers already use for emit_failed.
|
|
35
|
-
* `skipped_stale_session` is an info-level per-occurrence outcome: the emit
|
|
36
|
-
* seam intentionally declined a target whose associated ctx was confirmed
|
|
37
|
-
* stale, so it is neither a bus failure nor input for the smells rollup.
|
|
38
|
-
* The empty-batch branch (`paths.length === 0` / `files.length === 0`) is
|
|
39
|
-
* NOT logged at all: every call site already guards against invoking these
|
|
40
|
-
* functions with nothing to report (see clients/pipeline.ts,
|
|
41
|
-
* clients/runtime-agent-end.ts), so it's a normal, frequent no-op rather
|
|
42
|
-
* than a real event worth a log line.
|
|
43
|
-
*/
|
|
44
|
-
import * as path from "node:path";
|
|
45
|
-
import { isTestMode } from "./env-utils.js";
|
|
46
|
-
import { getGlobalPiLensLogDir } from "./probe-home-state.js";
|
|
47
|
-
import { createNdjsonLogger } from "./ndjson-logger.js";
|
|
48
|
-
import { getMaxLogSizeMB } from "./log-cleanup.js";
|
|
49
|
-
import { logLatency } from "./latency-logger.js";
|
|
50
|
-
const BUS_EVENTS_LOG_FILE = path.join(getGlobalPiLensLogDir(), "bus-events.log");
|
|
51
|
-
const writer = createNdjsonLogger({
|
|
52
|
-
filePath: BUS_EVENTS_LOG_FILE,
|
|
53
|
-
maxBytes: getMaxLogSizeMB() * 1024 * 1024,
|
|
54
|
-
});
|
|
55
|
-
const eventRollupCounts = new Map();
|
|
56
|
-
function bumpRollupCount(event, outcome) {
|
|
57
|
-
const existing = eventRollupCounts.get(event) ?? {
|
|
58
|
-
emitted: 0,
|
|
59
|
-
skipped_stale_session: 0,
|
|
60
|
-
emit_failed: 0,
|
|
61
|
-
};
|
|
62
|
-
existing[outcome] += 1;
|
|
63
|
-
eventRollupCounts.set(event, existing);
|
|
64
|
-
}
|
|
65
|
-
export function logBusEvent(entry) {
|
|
66
|
-
if (entry.outcome === "emitted" ||
|
|
67
|
-
entry.outcome === "skipped_stale_session" ||
|
|
68
|
-
entry.outcome === "emit_failed") {
|
|
69
|
-
bumpRollupCount(entry.event, entry.outcome);
|
|
70
|
-
}
|
|
71
|
-
if (isTestMode()) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
writer.log({ ts: new Date().toISOString(), ...entry });
|
|
75
|
-
}
|
|
76
|
-
/** Snapshot the current session's rollup, keyed by event name. Non-mutating —
|
|
77
|
-
* pair with {@link resetBusEventRollupCounts} at session end. */
|
|
78
|
-
export function getBusEventRollupCounts() {
|
|
79
|
-
return Object.fromEntries(eventRollupCounts);
|
|
80
|
-
}
|
|
81
|
-
/** Clear the rollup — call once the session-end snapshot has been logged
|
|
82
|
-
* (or from tests) so a new session starts from zero. */
|
|
83
|
-
export function resetBusEventRollupCounts() {
|
|
84
|
-
eventRollupCounts.clear();
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Log one `session_end_bus_rollup` latency row per event NAME that had any
|
|
88
|
-
* activity this session, then clear the rollup. Called from index.ts's
|
|
89
|
-
* `session_shutdown` handler (the session-end hook this repo's other
|
|
90
|
-
* teardown work — LSP fleet shutdown, cache-prefix eviction — already runs
|
|
91
|
-
* from). A no-op (logs nothing) when nothing was ever published, matching
|
|
92
|
-
* `formatSmellsSessionStartLine`'s "no noise on an ordinary session" shape.
|
|
93
|
-
*/
|
|
94
|
-
export function emitBusEventRollupAtSessionEnd(cwd) {
|
|
95
|
-
for (const [event, counts] of eventRollupCounts) {
|
|
96
|
-
logLatency({
|
|
97
|
-
type: "phase",
|
|
98
|
-
phase: "session_end_bus_rollup",
|
|
99
|
-
filePath: cwd,
|
|
100
|
-
durationMs: 0,
|
|
101
|
-
metadata: { event, ...counts },
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
resetBusEventRollupCounts();
|
|
105
|
-
}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Publishes `pilens:files:touched` on pi's shared `pi.events` bus (#482).
|
|
3
|
-
*
|
|
4
|
-
* This is pi-lens's FIRST `pi.events` broadcast surface: it exists so other
|
|
5
|
-
* extensions in the same session can observe files pi-lens writes
|
|
6
|
-
* autonomously (autofix/format runners) without reverse-engineering us —
|
|
7
|
-
* writes the agent makes itself via its own tool calls are NOT ours to
|
|
8
|
-
* broadcast; the host already knows about those (see the seam audit in
|
|
9
|
-
* AGENTS.md / issue #482).
|
|
10
|
-
*
|
|
11
|
-
* Versioning policy: the payload is frozen-additive. New optional fields may
|
|
12
|
-
* be added under the same `v: 1`; a breaking/incompatible change to an
|
|
13
|
-
* existing field's meaning must bump `v`.
|
|
14
|
-
*
|
|
15
|
-
* Fire-and-forget: publishing must never affect the write path's success or
|
|
16
|
-
* latency. Any failure (bus unavailable, emit throws) is swallowed; a `dbg`
|
|
17
|
-
* callback is invoked at most once on first failure so a wired caller can log
|
|
18
|
-
* it without spamming.
|
|
19
|
-
*/
|
|
20
|
-
import { logBusEvent } from "./bus-events-logger.js";
|
|
21
|
-
import { normalizeFilePath } from "./path-utils.js";
|
|
22
|
-
import { appendRecentTouches } from "./recent-touches.js";
|
|
23
|
-
import { createLiveBusEmitter, recordStaleBusFailure, resolveLiveBusEmitter, } from "./live-bus-emitter.js";
|
|
24
|
-
export const BUS_FILES_TOUCHED_EVENT = "pilens:files:touched";
|
|
25
|
-
export const BUS_FILES_TOUCHED_VERSION = 1;
|
|
26
|
-
const BUS_LOG_PATH_CAP = 64;
|
|
27
|
-
const liveEmitter = createLiveBusEmitter();
|
|
28
|
-
let hasLoggedFailure = false;
|
|
29
|
-
// Log-once-per-process guards for the two structural-no-op outcomes below
|
|
30
|
-
// (see bus-events-logger.ts's module doc for why these aren't logged on
|
|
31
|
-
// every call — both are static, session-lifetime facts, not transient
|
|
32
|
-
// per-event failures).
|
|
33
|
-
let hasLoggedUnwired = false;
|
|
34
|
-
let hasLoggedDisabled = false;
|
|
35
|
-
/**
|
|
36
|
-
* Wire the emit function from pi's `pi.events` bus. Called once at extension
|
|
37
|
-
* factory time from index.ts (module-level singleton, same pattern as
|
|
38
|
-
* `initLensEvents`). Never called ⇒ `publishFilesTouched` no-ops, which is
|
|
39
|
-
* exactly the state unit tests and the MCP server path run in (no pi host,
|
|
40
|
-
* no `pi.events`).
|
|
41
|
-
*/
|
|
42
|
-
export function wireBusEmitter(emitFn) {
|
|
43
|
-
liveEmitter.wire(emitFn);
|
|
44
|
-
}
|
|
45
|
-
export function wireBusEmitterGetter(getter) {
|
|
46
|
-
liveEmitter.wireGetter(getter);
|
|
47
|
-
}
|
|
48
|
-
/** Test-only: reset module state between test files. */
|
|
49
|
-
export function _resetForTests() {
|
|
50
|
-
liveEmitter.reset();
|
|
51
|
-
hasLoggedFailure = false;
|
|
52
|
-
hasLoggedUnwired = false;
|
|
53
|
-
hasLoggedDisabled = false;
|
|
54
|
-
_envCache = undefined;
|
|
55
|
-
}
|
|
56
|
-
let _envCache;
|
|
57
|
-
/**
|
|
58
|
-
* Lazy env read (house style) so tests can flip `PI_LENS_BUS_PUBLISH` at
|
|
59
|
-
* runtime via `_resetForTests` + re-set the env var. Kill switch: set to `0`
|
|
60
|
-
* to disable publishing outright.
|
|
61
|
-
*/
|
|
62
|
-
export function isBusPublishEnabled() {
|
|
63
|
-
if (_envCache === undefined) {
|
|
64
|
-
_envCache = process.env.PI_LENS_BUS_PUBLISH !== "0";
|
|
65
|
-
}
|
|
66
|
-
return _envCache;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Publish one `pilens:files:touched` event for a logical write batch (one
|
|
70
|
-
* event per call site invocation, not per file). Fire-and-forget: never
|
|
71
|
-
* throws, never awaited by the caller's write path.
|
|
72
|
-
*
|
|
73
|
-
* #492: this is also the producer seam for the cross-process
|
|
74
|
-
* `recent-touches.json` record (clients/recent-touches.ts) — parent and
|
|
75
|
-
* child pi processes run this exact function, so appending here (rather
|
|
76
|
-
* than at each of the several `publishFilesTouched` call sites) guarantees
|
|
77
|
-
* every future call site gets cross-process propagation for free. The
|
|
78
|
-
* append is independent of `busEmit` being wired (a bare/MCP/test host with
|
|
79
|
-
* no `pi.events` still gets a cross-process record — the in-process bus and
|
|
80
|
-
* the on-disk record are two separate deliveries of the same payload, and
|
|
81
|
-
* the record is the ONLY one of the two that survives a process boundary).
|
|
82
|
-
* Fire-and-forget, same as the bus emit: never awaited, failures swallowed
|
|
83
|
-
* and dbg-logged (never break the publish path).
|
|
84
|
-
*/
|
|
85
|
-
export function publishFilesTouched(args) {
|
|
86
|
-
if (args.origin === "bus")
|
|
87
|
-
return;
|
|
88
|
-
if (args.paths.length === 0)
|
|
89
|
-
return;
|
|
90
|
-
if (!isBusPublishEnabled()) {
|
|
91
|
-
if (!hasLoggedDisabled) {
|
|
92
|
-
hasLoggedDisabled = true;
|
|
93
|
-
logBusEvent({
|
|
94
|
-
event: BUS_FILES_TOUCHED_EVENT,
|
|
95
|
-
outcome: "skipped_disabled",
|
|
96
|
-
cwd: normalizeFilePath(args.cwd),
|
|
97
|
-
reason: args.reason,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
void appendRecentTouches({
|
|
103
|
-
cwd: args.cwd,
|
|
104
|
-
reason: args.reason,
|
|
105
|
-
paths: args.paths,
|
|
106
|
-
sessionId: args.sessionId,
|
|
107
|
-
}).catch((err) => {
|
|
108
|
-
args.dbg?.(`bus-publish: recent-touches append failed: ${err}`);
|
|
109
|
-
});
|
|
110
|
-
const resolution = resolveLiveBusEmitter(liveEmitter, () => ({
|
|
111
|
-
event: BUS_FILES_TOUCHED_EVENT,
|
|
112
|
-
cwd: normalizeFilePath(args.cwd),
|
|
113
|
-
reason: args.reason,
|
|
114
|
-
}));
|
|
115
|
-
if (resolution.outcome === "stale-session")
|
|
116
|
-
return;
|
|
117
|
-
if (resolution.outcome === "unwired") {
|
|
118
|
-
if (!hasLoggedUnwired) {
|
|
119
|
-
hasLoggedUnwired = true;
|
|
120
|
-
logBusEvent({
|
|
121
|
-
event: BUS_FILES_TOUCHED_EVENT,
|
|
122
|
-
outcome: "skipped_unwired",
|
|
123
|
-
cwd: normalizeFilePath(args.cwd),
|
|
124
|
-
reason: args.reason,
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
const busEmit = resolution.emit;
|
|
130
|
-
try {
|
|
131
|
-
const payload = {
|
|
132
|
-
v: BUS_FILES_TOUCHED_VERSION,
|
|
133
|
-
source: "pi-lens",
|
|
134
|
-
reason: args.reason,
|
|
135
|
-
paths: args.paths.map((p) => normalizeFilePath(p)),
|
|
136
|
-
cwd: normalizeFilePath(args.cwd),
|
|
137
|
-
};
|
|
138
|
-
if (args.fixes && args.fixes.length > 0) {
|
|
139
|
-
payload.fixes = args.fixes.map((f) => ({
|
|
140
|
-
...f,
|
|
141
|
-
path: normalizeFilePath(f.path),
|
|
142
|
-
}));
|
|
143
|
-
}
|
|
144
|
-
busEmit(BUS_FILES_TOUCHED_EVENT, payload);
|
|
145
|
-
hasLoggedFailure = false;
|
|
146
|
-
logBusEvent({
|
|
147
|
-
event: BUS_FILES_TOUCHED_EVENT,
|
|
148
|
-
outcome: "emitted",
|
|
149
|
-
cwd: payload.cwd,
|
|
150
|
-
reason: args.reason,
|
|
151
|
-
fileCount: payload.paths.length,
|
|
152
|
-
writer: "pi-lens",
|
|
153
|
-
paths: payload.paths.slice(0, BUS_LOG_PATH_CAP),
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
catch (err) {
|
|
157
|
-
logBusEvent({
|
|
158
|
-
event: BUS_FILES_TOUCHED_EVENT,
|
|
159
|
-
outcome: "emit_failed",
|
|
160
|
-
cwd: normalizeFilePath(args.cwd),
|
|
161
|
-
reason: args.reason,
|
|
162
|
-
error: String(err),
|
|
163
|
-
ctxSource: resolution.ctxSource,
|
|
164
|
-
});
|
|
165
|
-
if (!hasLoggedFailure) {
|
|
166
|
-
hasLoggedFailure = true;
|
|
167
|
-
recordStaleBusFailure(BUS_FILES_TOUCHED_EVENT, err);
|
|
168
|
-
args.dbg?.(`bus-publish: pilens:files:touched emit failed (further failures suppressed): ${err}`);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rule Cache for pi-lens
|
|
3
|
-
*
|
|
4
|
-
* Provides disk-based caching for parsed tree-sitter rules with
|
|
5
|
-
* automatic invalidation based on rule file modification times.
|
|
6
|
-
*/
|
|
7
|
-
import * as crypto from "node:crypto";
|
|
8
|
-
import * as fs from "node:fs";
|
|
9
|
-
import * as path from "node:path";
|
|
10
|
-
import { reportBundledResourceDirHealth } from "../bundled-resource-health.js";
|
|
11
|
-
import { getProjectDataDir } from "../file-utils.js";
|
|
12
|
-
import { readJsonCache } from "../json-cache-read.js";
|
|
13
|
-
import { BUNDLED_QUERIES_ROOT, getBundledQueriesRootHealth, } from "../tree-sitter-query-loader.js";
|
|
14
|
-
import { writeFileAtomic } from "../atomic-write.js";
|
|
15
|
-
import { compareOrdinal } from "../string-utils.js";
|
|
16
|
-
// v4: cache skip_test_files + fix_action — v3 entries silently dropped them,
|
|
17
|
-
// and ruleHash (rule-file mtimes) never invalidates on a code-only fix.
|
|
18
|
-
// v5 (#675): rule SELECTION changed in code — javascript no longer inherits the
|
|
19
|
-
// typescript rule set and tsx now does. A v4 entry holds the old merge, and
|
|
20
|
-
// queries now compile against the file's parse language, so replaying it would
|
|
21
|
-
// fire typescript rules on javascript trees for real this time.
|
|
22
|
-
// v6 (#878): the ruleHash FINGERPRINT now covers the full effective rule set —
|
|
23
|
-
// inherited rule-source directories (tsx also runs typescript rules), not just
|
|
24
|
-
// the language's own. A v5 tsx entry was hashed over tsx files only, so a
|
|
25
|
-
// typescript-rule edit never invalidated it; v5 entries self-miss anyway (the
|
|
26
|
-
// hash input set changed), the bump just makes the semantics break explicit.
|
|
27
|
-
// v7 (#1118): computeRuleHash now CONTENT-hashes project-local rule files
|
|
28
|
-
// instead of trusting mtime+size alone. mtime+size is the review-graph
|
|
29
|
-
// first-filter, not the full gold standard (size:mtimeMs + confirmContentChanged)
|
|
30
|
-
// — a rule-file edit that preserves both (git checkout timestamp restoration, a
|
|
31
|
-
// same-length tweak, a formatter that preserves mtime) replayed a stale
|
|
32
|
-
// compiled set from disk and re-persisted it under the still-matching
|
|
33
|
-
// fingerprint, poisoning every future process. The bump forces every v6 entry
|
|
34
|
-
// (hashed under the old metadata-only formula) to miss once on upgrade, so a
|
|
35
|
-
// silently-poisoned v6 entry can't be trusted by the new code.
|
|
36
|
-
export const CACHE_VERSION = "v7";
|
|
37
|
-
/**
|
|
38
|
-
* Bundled rule files ship with the extension and are immutable within a
|
|
39
|
-
* process — they can't change mid-session, so the cheap mtime+size
|
|
40
|
-
* fingerprint (v6's whole-set formula) is sufficient for them, and there are
|
|
41
|
-
* ~705 of them across all languages, so unconditionally reading+hashing their
|
|
42
|
-
* bytes on every edit would be the unconditional hot-path hashing the
|
|
43
|
-
* event-loop discipline forbids (RuleCache.get runs on the per-edit
|
|
44
|
-
* tree-sitter runner hot path).
|
|
45
|
-
*
|
|
46
|
-
* Project-local rule files (under `<project>/rules/tree-sitter-queries/`,
|
|
47
|
-
* see `ruleFilesForLanguage`) are the opposite: mutable, and a SMALL set (the
|
|
48
|
-
* handful a developer actually maintains) — cheap to content-hash. Splitting
|
|
49
|
-
* on this prefix mirrors the split `yaml-rule-parser.ts`/`ast-grep-napi.ts`
|
|
50
|
-
* already use for the ast-grep side of the same class (#1105): project-origin
|
|
51
|
-
* trees get a content-hash CONFIRM, bundled trees stay mtime-cheap.
|
|
52
|
-
*
|
|
53
|
-
* #2636 review F4: re-exported from `tree-sitter-query-loader.ts`'s
|
|
54
|
-
* `BUNDLED_QUERIES_ROOT` rather than computed a second time here — the two
|
|
55
|
-
* modules read the IDENTICAL physical directory, and the "one ledger row"
|
|
56
|
-
* claim below rests on that being reference equality, not two independently
|
|
57
|
-
* `resolvePackagePath`-resolved strings that happen to match.
|
|
58
|
-
*/
|
|
59
|
-
export { BUNDLED_QUERIES_ROOT as BUNDLED_RULES_ROOT } from "../tree-sitter-query-loader.js";
|
|
60
|
-
function isBundledRuleFile(resolvedFile) {
|
|
61
|
-
return (resolvedFile === BUNDLED_QUERIES_ROOT ||
|
|
62
|
-
resolvedFile.startsWith(BUNDLED_QUERIES_ROOT + path.sep));
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* #2636 (the #2626 class sweep's tree-sitter leg): the bundled
|
|
66
|
-
* tree-sitter-queries root above was used unconditionally with no existence
|
|
67
|
-
* check — same managed-cache-relocation gap #2626 fixed for `skills/`.
|
|
68
|
-
* Purely observational (never gates `isBundledRuleFile`'s classification):
|
|
69
|
-
* records a bounded `tree-sitter-queries-dir-missing` degradation only when
|
|
70
|
-
* the bundled root is absent, unreadable, or (uncommonly) present but empty.
|
|
71
|
-
* Shares the exact kind + subject `clients/tree-sitter-query-loader.ts`'s
|
|
72
|
-
* `ruleFilesForLanguage` reports under — both read the SAME physical
|
|
73
|
-
* directory (`getBundledQueriesRootHealth`'s process-lifetime memo, #2636
|
|
74
|
-
* review F6 — this constructor runs per dispatched file, so an unmemoized
|
|
75
|
-
* `readdirSync` here would be the same unconditional hot-path cost the
|
|
76
|
-
* class doc comment above forbids for rule-file hashing), so the ledger's
|
|
77
|
-
* own (kind, subject) dedup collapses whichever call site observes it first
|
|
78
|
-
* into ONE row rather than two duplicates.
|
|
79
|
-
*/
|
|
80
|
-
function reportBundledRulesRootHealth() {
|
|
81
|
-
reportBundledResourceDirHealth("tree-sitter-queries-dir-missing", BUNDLED_QUERIES_ROOT, getBundledQueriesRootHealth(), "bundled tree-sitter query rules");
|
|
82
|
-
}
|
|
83
|
-
export class RuleCache {
|
|
84
|
-
cacheFile;
|
|
85
|
-
cacheDir;
|
|
86
|
-
language;
|
|
87
|
-
constructor(language, rootDir = process.cwd()) {
|
|
88
|
-
this.language = language;
|
|
89
|
-
reportBundledRulesRootHealth();
|
|
90
|
-
this.cacheDir = path.join(getProjectDataDir(rootDir), "cache");
|
|
91
|
-
this.cacheFile = path.join(this.cacheDir, `${language}-rules-${CACHE_VERSION}.json`);
|
|
92
|
-
}
|
|
93
|
-
ensureCacheDir() {
|
|
94
|
-
if (!fs.existsSync(this.cacheDir)) {
|
|
95
|
-
fs.mkdirSync(this.cacheDir, { recursive: true });
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
computeRuleHash(ruleFiles) {
|
|
99
|
-
const hash = crypto.createHash("sha256");
|
|
100
|
-
for (const file of ruleFiles.sort(compareOrdinal)) {
|
|
101
|
-
const resolved = path.resolve(file);
|
|
102
|
-
if (!fs.existsSync(resolved))
|
|
103
|
-
continue;
|
|
104
|
-
const stat = fs.statSync(resolved);
|
|
105
|
-
hash.update(`${file}:${stat.mtimeMs}:${stat.size}`);
|
|
106
|
-
// Content-CONFIRM only the project-local, mutable subset (a handful of
|
|
107
|
-
// files) — mtime+size alone is a first filter, not proof of freshness,
|
|
108
|
-
// and a preserved-mtime+size edit here would otherwise replay (and
|
|
109
|
-
// re-persist) a stale compiled set. Bundled files (~705, immutable
|
|
110
|
-
// within a process) skip this: the metadata fingerprint stays their
|
|
111
|
-
// whole story, keeping the common no-project-rules case as cheap as v6.
|
|
112
|
-
if (!isBundledRuleFile(resolved)) {
|
|
113
|
-
hash.update(fs.readFileSync(resolved));
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return hash.digest("hex").slice(0, 16);
|
|
117
|
-
}
|
|
118
|
-
get(ruleFiles) {
|
|
119
|
-
try {
|
|
120
|
-
this.ensureCacheDir();
|
|
121
|
-
if (!fs.existsSync(this.cacheFile))
|
|
122
|
-
return null;
|
|
123
|
-
const currentHash = this.computeRuleHash(ruleFiles);
|
|
124
|
-
const cached = readJsonCache(this.cacheFile, (parsed) => {
|
|
125
|
-
const entry = parsed;
|
|
126
|
-
if (entry.version !== CACHE_VERSION ||
|
|
127
|
-
entry.ruleHash !== currentHash) {
|
|
128
|
-
return undefined; // Cache invalid
|
|
129
|
-
}
|
|
130
|
-
return entry;
|
|
131
|
-
});
|
|
132
|
-
return cached ?? null;
|
|
133
|
-
}
|
|
134
|
-
catch {
|
|
135
|
-
return null;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
set(ruleFiles, queries) {
|
|
139
|
-
try {
|
|
140
|
-
this.ensureCacheDir();
|
|
141
|
-
const entry = {
|
|
142
|
-
version: CACHE_VERSION,
|
|
143
|
-
timestamp: Date.now(),
|
|
144
|
-
ruleHash: this.computeRuleHash(ruleFiles),
|
|
145
|
-
queries,
|
|
146
|
-
};
|
|
147
|
-
writeFileAtomic(this.cacheFile, JSON.stringify(entry, null, 2));
|
|
148
|
-
this.pruneStaleVersions();
|
|
149
|
-
}
|
|
150
|
-
catch {
|
|
151
|
-
// Cache write failure is non-fatal
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
// Orphaned `<language>-rules-v<N>.json` files from a prior CACHE_VERSION
|
|
155
|
-
// (e.g. v3 entries left behind by the #448 v3→v4 bump) never got cleaned up
|
|
156
|
-
// on their own — nothing ever read or removed them again once the version
|
|
157
|
-
// bumped. Delete every sibling for this language that isn't the current file.
|
|
158
|
-
pruneStaleVersions() {
|
|
159
|
-
const currentName = path.basename(this.cacheFile);
|
|
160
|
-
const pattern = new RegExp(`^${this.language}-rules-v\\d+\\.json$`);
|
|
161
|
-
let dirents;
|
|
162
|
-
try {
|
|
163
|
-
dirents = fs.readdirSync(this.cacheDir);
|
|
164
|
-
}
|
|
165
|
-
catch {
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
for (const name of dirents) {
|
|
169
|
-
if (name === currentName || !pattern.test(name))
|
|
170
|
-
continue;
|
|
171
|
-
try {
|
|
172
|
-
fs.unlinkSync(path.join(this.cacheDir, name));
|
|
173
|
-
}
|
|
174
|
-
catch {
|
|
175
|
-
// Best-effort; ENOENT (already gone) or any other removal failure
|
|
176
|
-
// shouldn't undo the write that already succeeded above.
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
clear() {
|
|
181
|
-
try {
|
|
182
|
-
if (fs.existsSync(this.cacheFile)) {
|
|
183
|
-
fs.unlinkSync(this.cacheFile);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
catch {
|
|
187
|
-
// Ignore
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|