@herbertgao/pi-extensions 2026.10.2 → 2026.10.4
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 +6 -12
- package/THIRD_PARTY_NOTICES.md +5 -1
- 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 +1 -1
- package/node_modules/@narumitw/pi-caffeinate/src/dbus-inhibit.ts +13 -1
- package/node_modules/pi-lens/CHANGELOG.md +95 -0
- package/node_modules/pi-lens/README.md +1 -0
- package/node_modules/pi-lens/dist/chunk-2FQ62SPM.js +83 -0
- package/node_modules/pi-lens/dist/{chunk-6P62QVEA.js → chunk-2UMYMRI3.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-O6TQT6RI.js → chunk-34OCDWOS.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-XK4CIILI.js → chunk-3FERWMCH.js} +26 -26
- package/node_modules/pi-lens/dist/{chunk-ZAWW3AF6.js → chunk-3JL6IFD7.js} +8 -8
- package/node_modules/pi-lens/dist/{chunk-OAXNDZJ7.js → chunk-3JSEWUWI.js} +8 -4
- package/node_modules/pi-lens/dist/{chunk-RPD5K5NC.js → chunk-3MRXIJ6I.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-IVP5KAB7.js → chunk-3P4PF2BX.js} +14 -14
- package/node_modules/pi-lens/dist/{chunk-5THXD6X5.js → chunk-3PNFWVHT.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-VD4JQCQC.js → chunk-3TTPKMEF.js} +37 -37
- package/node_modules/pi-lens/dist/{chunk-7F72PXY2.js → chunk-5JHXUETW.js} +3 -3
- package/node_modules/pi-lens/dist/{chunk-5ZEJHV35.js → chunk-64LU2OVH.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-ODEEOXPH.js → chunk-6B5I6ICN.js} +11 -11
- package/node_modules/pi-lens/dist/{chunk-5RXBNSW2.js → chunk-6P54TMWL.js} +16 -8
- package/node_modules/pi-lens/dist/{chunk-K6VYLB2U.js → chunk-6UYA642J.js} +12 -12
- package/node_modules/pi-lens/dist/{chunk-V7R425XG.js → chunk-6XX5HCLK.js} +4 -4
- package/node_modules/pi-lens/dist/{chunk-D6QS3U6M.js → chunk-7AXO3ZDF.js} +15 -15
- package/node_modules/pi-lens/dist/{chunk-YGVYKNSN.js → chunk-7BX5DWSA.js} +59 -12
- package/node_modules/pi-lens/dist/{chunk-N3YQJI6O.js → chunk-7ELY2CSM.js} +7 -4
- package/node_modules/pi-lens/dist/{chunk-AWE5TMPO.js → chunk-7M4T5N3V.js} +13 -13
- package/node_modules/pi-lens/dist/{chunk-AJ3QXTRQ.js → chunk-AFZYMAIV.js} +33 -33
- package/node_modules/pi-lens/dist/{chunk-AJXODZY6.js → chunk-ALQRYH6O.js} +12 -12
- package/node_modules/pi-lens/dist/{chunk-AJVLWNFN.js → chunk-AXKPQ6ZI.js} +5 -5
- package/node_modules/pi-lens/dist/{chunk-HWBZIGMJ.js → chunk-BHWHXMQ2.js} +8 -8
- package/node_modules/pi-lens/dist/{chunk-IXEBJSUE.js → chunk-BJF25SUG.js} +10 -10
- package/node_modules/pi-lens/dist/{chunk-GVXA6CCE.js → chunk-BNKLYOOO.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-T4ERT73Y.js → chunk-CBD2B5CP.js} +20 -20
- package/node_modules/pi-lens/dist/{chunk-O5WILGMI.js → chunk-CFYISHUW.js} +5 -5
- package/node_modules/pi-lens/dist/{chunk-EOKRQ3SA.js → chunk-CMU4RMJB.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-YSNFMJKN.js → chunk-CULQYFLU.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-ORTMY4Q4.js → chunk-D65GOCJB.js} +21 -14
- package/node_modules/pi-lens/dist/{chunk-NTUJEGDZ.js → chunk-D6YF5HKX.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-BRJKOBZP.js → chunk-DMS52BEP.js} +17 -6
- package/node_modules/pi-lens/dist/{chunk-NL5GLMFI.js → chunk-ELVWJYRV.js} +11 -11
- package/node_modules/pi-lens/dist/{chunk-4W2PLC4J.js → chunk-EUT3B22Y.js} +12 -12
- package/node_modules/pi-lens/dist/{chunk-GUOGVTCQ.js → chunk-F5VLZHUW.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-I7SPGOWI.js → chunk-FGALODG3.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-Q5U6FMDI.js → chunk-G3RLJYA2.js} +12 -6
- package/node_modules/pi-lens/dist/{chunk-FJNKANOS.js → chunk-GAYGGICG.js} +9 -9
- package/node_modules/pi-lens/dist/{chunk-HVUZXSWK.js → chunk-H2W2AXD3.js} +38 -40
- package/node_modules/pi-lens/dist/{chunk-VHQLPIRJ.js → chunk-H5EV3VMF.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-27BBHSZC.js → chunk-HREZQCT3.js} +3 -3
- package/node_modules/pi-lens/dist/{chunk-TT22N74J.js → chunk-HSIRMK2D.js} +12 -12
- package/node_modules/pi-lens/dist/{chunk-3I5QFT3N.js → chunk-IMSQR4WO.js} +6 -3
- package/node_modules/pi-lens/dist/{chunk-B3I2UUT4.js → chunk-IQZXOZ7S.js} +156 -32
- package/node_modules/pi-lens/dist/{chunk-RIISMHKN.js → chunk-IR6XFA5P.js} +14 -13
- package/node_modules/pi-lens/dist/{chunk-LNAKEO63.js → chunk-IUKPRZER.js} +4 -4
- package/node_modules/pi-lens/dist/{chunk-RUOG5D2C.js → chunk-IUR76K6A.js} +5 -5
- package/node_modules/pi-lens/dist/{chunk-TO6WL3GM.js → chunk-J3FZR3YY.js} +12 -2
- package/node_modules/pi-lens/dist/{chunk-Y4T27COV.js → chunk-J6DFZDFA.js} +4 -4
- package/node_modules/pi-lens/dist/{chunk-E4MAEDPM.js → chunk-J7WJZ6W7.js} +11 -11
- package/node_modules/pi-lens/dist/{chunk-52H5B5TC.js → chunk-JONGANYH.js} +30 -30
- package/node_modules/pi-lens/dist/{chunk-TGPXLY2J.js → chunk-KJCWXUUS.js} +35 -1
- package/node_modules/pi-lens/dist/{chunk-I3R7GKDR.js → chunk-KJN4IOEJ.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-RPD4ZSB7.js → chunk-KMGPUKFD.js} +12 -12
- package/node_modules/pi-lens/dist/{chunk-OQGFCZJ4.js → chunk-LD7WFTRX.js} +13 -13
- package/node_modules/pi-lens/dist/{chunk-DIULIWKU.js → chunk-LNOMA3MP.js} +3 -3
- package/node_modules/pi-lens/dist/{chunk-HHYAELLJ.js → chunk-MGIWSROG.js} +5 -5
- package/node_modules/pi-lens/dist/{chunk-YLF3PPT5.js → chunk-MQA2YBAH.js} +3 -3
- package/node_modules/pi-lens/dist/{chunk-TVN5N6GY.js → chunk-MTDRLSI7.js} +690 -186
- package/node_modules/pi-lens/dist/{chunk-DQ2NZ7C4.js → chunk-N2IRDBZI.js} +44 -6
- package/node_modules/pi-lens/dist/{chunk-AHDW3GPE.js → chunk-N77WFUL7.js} +22 -22
- package/node_modules/pi-lens/dist/{chunk-NXPS2L6U.js → chunk-N7YNJE5R.js} +7 -7
- package/node_modules/pi-lens/dist/{chunk-7FBF7NPR.js → chunk-NFXP47RV.js} +13 -12
- package/node_modules/pi-lens/dist/{chunk-UY752QSN.js → chunk-NJF2X5XF.js} +17 -17
- package/node_modules/pi-lens/dist/{chunk-WONERJTP.js → chunk-O7HZX7CA.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-AS44CFQ4.js → chunk-OC7LYAU5.js} +7 -7
- package/node_modules/pi-lens/dist/{chunk-4RERDEXR.js → chunk-OEX24ECI.js} +30 -30
- package/node_modules/pi-lens/dist/{chunk-6VCD4VKZ.js → chunk-OYOB3ZFG.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-IIXOAGHR.js → chunk-OYTMZXRF.js} +18 -15
- package/node_modules/pi-lens/dist/{chunk-ARFCXG7S.js → chunk-OZJINN4O.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-34U7PLGE.js → chunk-PCHDGUKT.js} +11 -11
- package/node_modules/pi-lens/dist/{chunk-VCSRSYLF.js → chunk-RJFED73B.js} +34 -36
- package/node_modules/pi-lens/dist/chunk-RTQNRM5X.js +27 -0
- package/node_modules/pi-lens/dist/{chunk-PAK6IDME.js → chunk-S6AMWKPC.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-U3VGR4VU.js → chunk-T4QZ6FEH.js} +4 -4
- package/node_modules/pi-lens/dist/{chunk-VN2AXLEX.js → chunk-T54VJRAD.js} +54 -12
- package/node_modules/pi-lens/dist/{chunk-ZMOL6RQC.js → chunk-TA5L5KWQ.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-JOLITGCC.js → chunk-TQFBZVCG.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-VDBPVIKD.js → chunk-U52SAGRM.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-LW6XKDZQ.js → chunk-UEAHAMEI.js} +284 -35
- package/node_modules/pi-lens/dist/{chunk-NMABWBZN.js → chunk-UGSMCQ4D.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-6QIUX4EP.js → chunk-USHG4DLH.js} +7 -7
- package/node_modules/pi-lens/dist/{chunk-LSMJ6KBE.js → chunk-V5MEBST3.js} +16 -16
- package/node_modules/pi-lens/dist/chunk-VGEVL5EQ.js +29 -0
- package/node_modules/pi-lens/dist/{chunk-47D2BO4S.js → chunk-VPWKF3GN.js} +10 -10
- package/node_modules/pi-lens/dist/{chunk-UK3CMEAL.js → chunk-VSMJK3ZJ.js} +1 -1
- package/node_modules/pi-lens/dist/{chunk-22AVIGXS.js → chunk-VYKKMYVT.js} +7 -7
- package/node_modules/pi-lens/dist/{chunk-OS32RNR2.js → chunk-VZHJS6DR.js} +15 -15
- package/node_modules/pi-lens/dist/{chunk-E2WFBRHM.js → chunk-WATC3IQR.js} +3 -3
- package/node_modules/pi-lens/dist/chunk-WPE5FPGR.js +54 -0
- package/node_modules/pi-lens/dist/{chunk-V5PXFSZK.js → chunk-WSEWKCXU.js} +4 -4
- package/node_modules/pi-lens/dist/{chunk-NKOUFPQF.js → chunk-WW5BLB74.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-PWFHBTSF.js → chunk-XGUL4SLQ.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-F3P7VQ7H.js → chunk-XHSCVSOL.js} +3 -3
- package/node_modules/pi-lens/dist/{chunk-DFVMIKMQ.js → chunk-YLN4K6WD.js} +45 -9
- package/node_modules/pi-lens/dist/{chunk-VNMT7C64.js → chunk-Z6BB4JLQ.js} +2 -2
- package/node_modules/pi-lens/dist/{chunk-NTHH2J74.js → chunk-Z7QQA2KT.js} +12 -12
- package/node_modules/pi-lens/dist/{chunk-F3AU2TMM.js → chunk-ZETYB3XG.js} +15 -15
- package/node_modules/pi-lens/dist/{chunk-XECLWQZN.js → chunk-ZMOMPX2Z.js} +12 -10
- package/node_modules/pi-lens/dist/{chunk-C2AUYXQH.js → chunk-ZOEYVXSV.js} +4 -4
- package/node_modules/pi-lens/dist/{chunk-TLGFBM3F.js → chunk-ZZUFZUQZ.js} +68 -64
- package/node_modules/pi-lens/dist/index.js +30113 -28398
- package/node_modules/pi-lens/dist/mcp/analyze-cli.js +8 -8
- package/node_modules/pi-lens/dist/mcp/cli.js +37 -37
- package/node_modules/pi-lens/dist/mcp/server.js +257 -158
- package/node_modules/pi-lens/dist/mcp/worker.js +55 -55
- package/node_modules/pi-lens/dist/probes/installer.js +19 -19
- package/node_modules/pi-lens/docs/ast-grep_rules_catalog.md +2 -2
- package/node_modules/pi-lens/docs/configuration.md +9 -2
- package/node_modules/pi-lens/docs/custom-rules.md +25 -2
- package/node_modules/pi-lens/docs/environment-variables.md +34 -6
- package/node_modules/pi-lens/docs/features.md +37 -1
- package/node_modules/pi-lens/docs/globalconfig.md +1 -1
- package/node_modules/pi-lens/docs/lsp-capability-matrix.md +2 -1
- package/node_modules/pi-lens/docs/lsp-idle-eviction.md +1 -1
- package/node_modules/pi-lens/docs/pi-lens-fixer.md +9 -5
- package/node_modules/pi-lens/docs/pi-lens-merge-policy.md +43 -1
- package/node_modules/pi-lens/docs/pi-lens-monitor.md +3 -1
- package/node_modules/pi-lens/docs/pi-lens-reviewer.md +4 -3
- package/node_modules/pi-lens/docs/schema/pi-lens-config-v1.json +530 -0
- package/node_modules/pi-lens/docs/servercapabilities.md +4 -1
- package/node_modules/pi-lens/docs/word-index.md +6 -0
- package/node_modules/pi-lens/package.json +1 -1
- 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/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-provider-qoder/README.md +140 -0
- package/node_modules/pi-provider-qoder/dist/index.js +10249 -0
- package/node_modules/pi-provider-qoder/package.json +57 -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 +10 -12
- package/node_modules/pi-lens/dist/chunk-54B42YRX.js +0 -27
- package/node_modules/pi-lens/dist/chunk-CGGAIP7J.js +0 -29
- package/node_modules/pi-lens/dist/chunk-HMFXILPV.js +0 -83
- package/node_modules/pi-lens/dist/chunk-T6D4Q4AQ.js +0 -54
- package/node_modules/pi-web-access/opencode-session-headers.ts +0 -24
- package/node_modules/remote-pi/LICENSE +0 -21
- 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
|
@@ -7,33 +7,32 @@ import {
|
|
|
7
7
|
deadCodeIssues,
|
|
8
8
|
formatDeadCodeDelta,
|
|
9
9
|
stableFindingKey
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-HSIRMK2D.js";
|
|
11
11
|
import {
|
|
12
12
|
clearFormatterCache
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-ZETYB3XG.js";
|
|
14
14
|
import {
|
|
15
15
|
findNearestProjectRoot,
|
|
16
|
-
getStartupScanMaxEntries,
|
|
17
16
|
isStartupScanVerdictFresh,
|
|
18
17
|
resolveStartupScanContext
|
|
19
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-6P54TMWL.js";
|
|
20
19
|
import {
|
|
21
20
|
loadCallGraph
|
|
22
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-WW5BLB74.js";
|
|
23
22
|
import {
|
|
24
23
|
RUNNERS,
|
|
25
24
|
formatRunDurationMs,
|
|
26
25
|
isExcludedTestTarget,
|
|
27
26
|
isRunnerErrorResult
|
|
28
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-3P4PF2BX.js";
|
|
29
28
|
import {
|
|
30
29
|
GovulncheckClient
|
|
31
|
-
} from "../chunk-
|
|
30
|
+
} from "../chunk-N7YNJE5R.js";
|
|
32
31
|
import {
|
|
33
32
|
GitleaksClient,
|
|
34
33
|
classifyAndFilterFindings
|
|
35
|
-
} from "../chunk-
|
|
36
|
-
import "../chunk-
|
|
34
|
+
} from "../chunk-DMS52BEP.js";
|
|
35
|
+
import "../chunk-2UMYMRI3.js";
|
|
37
36
|
import {
|
|
38
37
|
isHardFailureSummary
|
|
39
38
|
} from "../chunk-7U2IDNXN.js";
|
|
@@ -54,7 +53,7 @@ import {
|
|
|
54
53
|
peekTurnEndFindings,
|
|
55
54
|
snapshotAdvisoryProvenance,
|
|
56
55
|
validateAdvisoryProvenance
|
|
57
|
-
} from "../chunk-
|
|
56
|
+
} from "../chunk-J6DFZDFA.js";
|
|
58
57
|
import {
|
|
59
58
|
CacheManager,
|
|
60
59
|
DELTA_UNUSED_PROMOTION_NOTE,
|
|
@@ -99,56 +98,56 @@ import {
|
|
|
99
98
|
resetPendingRunnerFindings,
|
|
100
99
|
resetPsScriptAnalyzerAvailability,
|
|
101
100
|
runProviders
|
|
102
|
-
} from "../chunk-
|
|
101
|
+
} from "../chunk-ZZUFZUQZ.js";
|
|
103
102
|
import {
|
|
104
103
|
resetLazyInstallAttempts
|
|
105
|
-
} from "../chunk-
|
|
104
|
+
} from "../chunk-ZOEYVXSV.js";
|
|
106
105
|
import {
|
|
107
106
|
isTestRoleCollateral
|
|
108
|
-
} from "../chunk-
|
|
107
|
+
} from "../chunk-KJN4IOEJ.js";
|
|
109
108
|
import "../chunk-FC4RP4I2.js";
|
|
110
109
|
import {
|
|
111
110
|
TrivyClient
|
|
112
|
-
} from "../chunk-
|
|
113
|
-
import "../chunk-
|
|
114
|
-
import "../chunk-
|
|
111
|
+
} from "../chunk-YLN4K6WD.js";
|
|
112
|
+
import "../chunk-J3FZR3YY.js";
|
|
113
|
+
import "../chunk-5JHXUETW.js";
|
|
115
114
|
import {
|
|
116
115
|
resetRustAvailability
|
|
117
|
-
} from "../chunk-
|
|
116
|
+
} from "../chunk-3MRXIJ6I.js";
|
|
118
117
|
import {
|
|
119
118
|
findingsResult,
|
|
120
119
|
hasUsableResult
|
|
121
|
-
} from "../chunk-
|
|
122
|
-
import "../chunk-
|
|
123
|
-
import "../chunk-
|
|
120
|
+
} from "../chunk-TA5L5KWQ.js";
|
|
121
|
+
import "../chunk-FGALODG3.js";
|
|
122
|
+
import "../chunk-OC7LYAU5.js";
|
|
124
123
|
import {
|
|
125
124
|
getSgCommand,
|
|
126
125
|
resetDispatchAvailabilityState,
|
|
127
126
|
resolveManagedToolClient
|
|
128
|
-
} from "../chunk-
|
|
129
|
-
import "../chunk-
|
|
130
|
-
import "../chunk-
|
|
131
|
-
import "../chunk-
|
|
132
|
-
import "../chunk-
|
|
133
|
-
import "../chunk-
|
|
127
|
+
} from "../chunk-NFXP47RV.js";
|
|
128
|
+
import "../chunk-MGIWSROG.js";
|
|
129
|
+
import "../chunk-WSEWKCXU.js";
|
|
130
|
+
import "../chunk-MQA2YBAH.js";
|
|
131
|
+
import "../chunk-TQFBZVCG.js";
|
|
132
|
+
import "../chunk-WATC3IQR.js";
|
|
134
133
|
import {
|
|
135
134
|
resetGoAvailability
|
|
136
|
-
} from "../chunk-
|
|
137
|
-
import "../chunk-
|
|
135
|
+
} from "../chunk-OYOB3ZFG.js";
|
|
136
|
+
import "../chunk-XHSCVSOL.js";
|
|
138
137
|
import {
|
|
139
138
|
SYMBOL_KIND_NAMES,
|
|
140
139
|
captureReviewGraphStructuralIr,
|
|
141
140
|
formatReviewGraphRevisionDriftNote,
|
|
142
141
|
publishReviewGraphFileIr,
|
|
143
142
|
reviewGraphIrContentHash
|
|
144
|
-
} from "../chunk-
|
|
143
|
+
} from "../chunk-V5MEBST3.js";
|
|
145
144
|
import {
|
|
146
145
|
buildSymbolId
|
|
147
146
|
} from "../chunk-3MED75HT.js";
|
|
148
147
|
import {
|
|
149
148
|
resolveGitCheckout,
|
|
150
149
|
resolveLinkedWorktreeOwner
|
|
151
|
-
} from "../chunk-
|
|
150
|
+
} from "../chunk-IMSQR4WO.js";
|
|
152
151
|
import {
|
|
153
152
|
DEPENDENCY_DRIFT_MAX_DELIVERIES,
|
|
154
153
|
MAX_LATE_AUX_REARMS,
|
|
@@ -244,18 +243,18 @@ import {
|
|
|
244
243
|
widgetDiagnosticUri,
|
|
245
244
|
workspaceEditTextPaths,
|
|
246
245
|
writeOrderToken
|
|
247
|
-
} from "../chunk-
|
|
246
|
+
} from "../chunk-MTDRLSI7.js";
|
|
248
247
|
import {
|
|
249
248
|
emitBounded,
|
|
250
249
|
resetBoundedTelemetry
|
|
251
|
-
} from "../chunk-
|
|
250
|
+
} from "../chunk-OZJINN4O.js";
|
|
252
251
|
import {
|
|
253
252
|
hashText,
|
|
254
253
|
normalizeMessage,
|
|
255
254
|
primePersistedMutationAttribution,
|
|
256
255
|
resetMutationAttribution,
|
|
257
256
|
stableFindingId
|
|
258
|
-
} from "../chunk-
|
|
257
|
+
} from "../chunk-3JSEWUWI.js";
|
|
259
258
|
import {
|
|
260
259
|
mapWithConcurrency
|
|
261
260
|
} from "../chunk-XIMYZ3JA.js";
|
|
@@ -264,8 +263,10 @@ import {
|
|
|
264
263
|
customServerSpecsOf,
|
|
265
264
|
describeRootFallback,
|
|
266
265
|
explainServersForFile,
|
|
266
|
+
getAstGrepRuleFingerprint,
|
|
267
267
|
getServersForFileWithConfig,
|
|
268
268
|
initLSPConfig,
|
|
269
|
+
isAuxiliary,
|
|
269
270
|
isSameOrWithin,
|
|
270
271
|
loadLSPConfig,
|
|
271
272
|
lspConfigOf,
|
|
@@ -275,11 +276,11 @@ import {
|
|
|
275
276
|
resetLSPCaseSensitivityState,
|
|
276
277
|
resolveLspCwdForFile,
|
|
277
278
|
shouldInitializeSessionRoot
|
|
278
|
-
} from "../chunk-
|
|
279
|
+
} from "../chunk-IQZXOZ7S.js";
|
|
279
280
|
import {
|
|
280
281
|
hasAmbientPythonEnvironment
|
|
281
|
-
} from "../chunk-
|
|
282
|
-
import "../chunk-
|
|
282
|
+
} from "../chunk-LNOMA3MP.js";
|
|
283
|
+
import "../chunk-U52SAGRM.js";
|
|
283
284
|
import "../chunk-5W3R6LFT.js";
|
|
284
285
|
import {
|
|
285
286
|
EXT_TO_LANG,
|
|
@@ -293,26 +294,27 @@ import {
|
|
|
293
294
|
queryLoader,
|
|
294
295
|
reportBundledResourceDirHealth,
|
|
295
296
|
resolveTreeSitterLanguage
|
|
296
|
-
} from "../chunk-
|
|
297
|
+
} from "../chunk-UEAHAMEI.js";
|
|
297
298
|
import "../chunk-Z54ZSOBZ.js";
|
|
298
299
|
import {
|
|
299
300
|
SCAN_LANGUAGE_PRIORITY,
|
|
300
301
|
extensionsForLanguage,
|
|
301
302
|
extensionsForLanguageToken,
|
|
303
|
+
getUserRuleRoot,
|
|
302
304
|
resolveLanguage
|
|
303
|
-
} from "../chunk-
|
|
305
|
+
} from "../chunk-KJCWXUUS.js";
|
|
304
306
|
import {
|
|
305
307
|
dump,
|
|
306
308
|
resolvePackagePath
|
|
307
309
|
} from "../chunk-QOZXJ4NA.js";
|
|
308
|
-
import "../chunk-
|
|
309
|
-
import "../chunk-
|
|
310
|
+
import "../chunk-6XX5HCLK.js";
|
|
311
|
+
import "../chunk-S6AMWKPC.js";
|
|
310
312
|
import {
|
|
311
313
|
HOOK_WALL_BUDGET_MS,
|
|
312
314
|
bounded,
|
|
313
315
|
combineAbortSignals,
|
|
314
316
|
withDeadline
|
|
315
|
-
} from "../chunk-
|
|
317
|
+
} from "../chunk-F5VLZHUW.js";
|
|
316
318
|
import {
|
|
317
319
|
PROJECT_SNAPSHOT_VERSION,
|
|
318
320
|
getProjectSnapshotLegacyPath,
|
|
@@ -327,17 +329,17 @@ import {
|
|
|
327
329
|
readJsonCache,
|
|
328
330
|
readProjectSnapshotMeta,
|
|
329
331
|
saveRuntimeProjectSnapshot
|
|
330
|
-
} from "../chunk-
|
|
332
|
+
} from "../chunk-AXKPQ6ZI.js";
|
|
331
333
|
import {
|
|
332
334
|
centralityFromReverseDeps,
|
|
333
335
|
getWordIndexBuildStatus,
|
|
334
336
|
logWordIndex,
|
|
335
337
|
searchWordIndex,
|
|
336
338
|
triggerBackgroundWordIndexBuild
|
|
337
|
-
} from "../chunk-
|
|
339
|
+
} from "../chunk-7BX5DWSA.js";
|
|
338
340
|
import {
|
|
339
341
|
getProjectDiagnosticsScannerMaxFiles
|
|
340
|
-
} from "../chunk-
|
|
342
|
+
} from "../chunk-IUKPRZER.js";
|
|
341
343
|
import {
|
|
342
344
|
PathKeyedMap
|
|
343
345
|
} from "../chunk-Z3CCVDUB.js";
|
|
@@ -350,30 +352,30 @@ import {
|
|
|
350
352
|
readTurnEndStatus,
|
|
351
353
|
resolveRunnerPath,
|
|
352
354
|
toRunnerDisplayPath
|
|
353
|
-
} from "../chunk-
|
|
355
|
+
} from "../chunk-XGUL4SLQ.js";
|
|
354
356
|
import "../chunk-2BEMIWEW.js";
|
|
355
357
|
import {
|
|
356
358
|
commitDurableStore,
|
|
357
359
|
resetResolvedPathCache,
|
|
358
360
|
resetZizmorTokenAvailability
|
|
359
|
-
} from "../chunk-
|
|
361
|
+
} from "../chunk-LD7WFTRX.js";
|
|
360
362
|
import {
|
|
361
363
|
resolveToolCwd
|
|
362
|
-
} from "../chunk-
|
|
364
|
+
} from "../chunk-IUR76K6A.js";
|
|
363
365
|
import {
|
|
364
366
|
_resetPackageManagerCache,
|
|
365
367
|
findGlobalBinary,
|
|
366
368
|
pmBinary,
|
|
367
369
|
resolveNodePackageManager,
|
|
368
370
|
runScriptArgs
|
|
369
|
-
} from "../chunk-
|
|
371
|
+
} from "../chunk-T4QZ6FEH.js";
|
|
370
372
|
import {
|
|
371
373
|
isToolInstallAllowedByTrust,
|
|
372
374
|
projectTrustDenialReason
|
|
373
|
-
} from "../chunk-
|
|
375
|
+
} from "../chunk-D6YF5HKX.js";
|
|
374
376
|
import {
|
|
375
377
|
probeToolAsync
|
|
376
|
-
} from "../chunk-
|
|
378
|
+
} from "../chunk-CMU4RMJB.js";
|
|
377
379
|
import {
|
|
378
380
|
classifyProbeFailure,
|
|
379
381
|
createAvailabilityLatch,
|
|
@@ -381,20 +383,20 @@ import {
|
|
|
381
383
|
logAvailabilityDecision,
|
|
382
384
|
resetInstallRetryLatches,
|
|
383
385
|
startHostStallSampler
|
|
384
|
-
} from "../chunk-
|
|
386
|
+
} from "../chunk-O7HZX7CA.js";
|
|
385
387
|
import {
|
|
386
388
|
canRunStartupHeavyScans,
|
|
387
389
|
detectProjectLanguageProfile,
|
|
388
390
|
getDefaultStartupTools
|
|
389
|
-
} from "../chunk-
|
|
390
|
-
import "../chunk-
|
|
391
|
+
} from "../chunk-VYKKMYVT.js";
|
|
392
|
+
import "../chunk-BNKLYOOO.js";
|
|
391
393
|
import {
|
|
392
394
|
collectSourceFilesWithBudgetAsync,
|
|
393
395
|
getSlowFsVerdict,
|
|
394
396
|
isSlowFs,
|
|
395
397
|
slowFsDegradationNotice
|
|
396
|
-
} from "../chunk-
|
|
397
|
-
import "../chunk-
|
|
398
|
+
} from "../chunk-USHG4DLH.js";
|
|
399
|
+
import "../chunk-H5EV3VMF.js";
|
|
398
400
|
import {
|
|
399
401
|
displayProjectDataPath,
|
|
400
402
|
drainProjectDataDirMigrations,
|
|
@@ -421,7 +423,7 @@ import {
|
|
|
421
423
|
sweepDeadEphemeralDataDirs,
|
|
422
424
|
updateHeartbeat,
|
|
423
425
|
withGenerationLockSync
|
|
424
|
-
} from "../chunk-
|
|
426
|
+
} from "../chunk-T54VJRAD.js";
|
|
425
427
|
import {
|
|
426
428
|
createSingleFlight
|
|
427
429
|
} from "../chunk-BW5KFIQC.js";
|
|
@@ -431,7 +433,7 @@ import {
|
|
|
431
433
|
} from "../chunk-QYF5S6P6.js";
|
|
432
434
|
import {
|
|
433
435
|
detectFileKind
|
|
434
|
-
} from "../chunk-
|
|
436
|
+
} from "../chunk-64LU2OVH.js";
|
|
435
437
|
import {
|
|
436
438
|
compareKeys,
|
|
437
439
|
detectFileRole,
|
|
@@ -441,12 +443,12 @@ import {
|
|
|
441
443
|
provenanceView,
|
|
442
444
|
resolvePiLensConfig,
|
|
443
445
|
summarizeConfigResolution
|
|
444
|
-
} from "../chunk-
|
|
446
|
+
} from "../chunk-N2IRDBZI.js";
|
|
445
447
|
import {
|
|
446
448
|
LSP_NAMESPACE_KEY,
|
|
447
449
|
getPiLensGlobalConfigPath,
|
|
448
450
|
resetWorkspaceTopology
|
|
449
|
-
} from "../chunk-
|
|
451
|
+
} from "../chunk-Z6BB4JLQ.js";
|
|
450
452
|
import {
|
|
451
453
|
DEFAULT_MAX_OUTPUT_BYTES,
|
|
452
454
|
createBoundedOutputSink,
|
|
@@ -467,28 +469,29 @@ import {
|
|
|
467
469
|
resolveLensToolEnabled,
|
|
468
470
|
resolveLensToolName,
|
|
469
471
|
toolRegistryEntryForMcp
|
|
470
|
-
} from "../chunk-
|
|
472
|
+
} from "../chunk-7ELY2CSM.js";
|
|
471
473
|
import {
|
|
472
474
|
createSubsystemLogger,
|
|
473
475
|
flushExtensionLog,
|
|
474
476
|
logExtension
|
|
475
|
-
} from "../chunk-
|
|
477
|
+
} from "../chunk-34OCDWOS.js";
|
|
476
478
|
import {
|
|
477
479
|
claimPhaseOncePerSession,
|
|
478
480
|
logLatency
|
|
479
|
-
} from "../chunk-
|
|
481
|
+
} from "../chunk-3PNFWVHT.js";
|
|
480
482
|
import {
|
|
481
483
|
beginTurnContext,
|
|
482
484
|
createNdjsonLogger,
|
|
483
485
|
getGlobalPiLensLogDir,
|
|
486
|
+
getProcessSingleton,
|
|
484
487
|
isTestMode,
|
|
485
488
|
runLogCleanup,
|
|
486
489
|
setTurnContextSession
|
|
487
|
-
} from "../chunk-
|
|
490
|
+
} from "../chunk-VSMJK3ZJ.js";
|
|
488
491
|
import "../chunk-LJDODBBZ.js";
|
|
489
492
|
import {
|
|
490
493
|
FactStore
|
|
491
|
-
} from "../chunk-
|
|
494
|
+
} from "../chunk-UGSMCQ4D.js";
|
|
492
495
|
import {
|
|
493
496
|
BoundedFifoMap,
|
|
494
497
|
BoundedLruCache
|
|
@@ -505,7 +508,7 @@ import {
|
|
|
505
508
|
realpathOrResolve,
|
|
506
509
|
toProjectRelativePath,
|
|
507
510
|
uriToPath
|
|
508
|
-
} from "../chunk-
|
|
511
|
+
} from "../chunk-G3RLJYA2.js";
|
|
509
512
|
import "../chunk-NXL4FFQQ.js";
|
|
510
513
|
|
|
511
514
|
// dist/mcp/server.js
|
|
@@ -821,37 +824,59 @@ function checkAstGrepRulesHealth(ruleDir) {
|
|
|
821
824
|
var AstGrepRuleManager = class {
|
|
822
825
|
ruleDir;
|
|
823
826
|
log;
|
|
827
|
+
fingerprint;
|
|
824
828
|
ruleDescriptions = null;
|
|
825
|
-
|
|
829
|
+
ruleFingerprint = null;
|
|
830
|
+
constructor(ruleDir, log, fingerprint = () => getAstGrepRuleFingerprint()) {
|
|
826
831
|
this.ruleDir = ruleDir;
|
|
827
832
|
this.log = log;
|
|
833
|
+
this.fingerprint = fingerprint;
|
|
828
834
|
}
|
|
829
835
|
loadRuleDescriptions() {
|
|
830
|
-
|
|
836
|
+
const fingerprint = this.fingerprint();
|
|
837
|
+
if (this.ruleDescriptions !== null && this.ruleFingerprint === fingerprint)
|
|
831
838
|
return this.ruleDescriptions;
|
|
832
839
|
const descriptions = /* @__PURE__ */ new Map();
|
|
833
|
-
const
|
|
834
|
-
const
|
|
840
|
+
const roots = Array.isArray(this.ruleDir) ? this.ruleDir : [this.ruleDir];
|
|
841
|
+
const possiblePaths = roots.flatMap(candidateAstGrepRulesPaths);
|
|
842
|
+
const rulesPaths = [];
|
|
843
|
+
if (Array.isArray(this.ruleDir)) {
|
|
844
|
+
for (const candidate of possiblePaths) {
|
|
845
|
+
if (fs2.existsSync(candidate))
|
|
846
|
+
rulesPaths.push(candidate);
|
|
847
|
+
}
|
|
848
|
+
} else {
|
|
849
|
+
for (const candidate of possiblePaths) {
|
|
850
|
+
if (!fs2.existsSync(candidate))
|
|
851
|
+
continue;
|
|
852
|
+
rulesPaths.push(candidate);
|
|
853
|
+
break;
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
const rulesPath = rulesPaths[0];
|
|
835
857
|
if (!rulesPath) {
|
|
836
858
|
this.log(`Rule descriptions: no rules directory found in ${possiblePaths.join(", ")}`);
|
|
837
859
|
this.ruleDescriptions = descriptions;
|
|
860
|
+
this.ruleFingerprint = fingerprint;
|
|
838
861
|
return descriptions;
|
|
839
862
|
}
|
|
840
863
|
try {
|
|
841
|
-
const
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
const
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
descriptions.
|
|
864
|
+
for (const resolvedPath of rulesPaths) {
|
|
865
|
+
const files = fs2.readdirSync(resolvedPath).filter((f) => f.endsWith(".yml"));
|
|
866
|
+
this.log(`Loaded ${files.length} rule descriptions from ${resolvedPath}`);
|
|
867
|
+
for (const file of files) {
|
|
868
|
+
const filePath = path2.join(resolvedPath, file);
|
|
869
|
+
const content = fs2.readFileSync(filePath, "utf-8");
|
|
870
|
+
const rule = this.parseRuleYaml(content);
|
|
871
|
+
if (rule && !descriptions.has(rule.id))
|
|
872
|
+
descriptions.set(rule.id, rule);
|
|
849
873
|
}
|
|
850
874
|
}
|
|
851
875
|
} catch (err) {
|
|
852
876
|
this.log(`Failed to load rule descriptions: ${err.message}`);
|
|
853
877
|
}
|
|
854
878
|
this.ruleDescriptions = descriptions;
|
|
879
|
+
this.ruleFingerprint = fingerprint;
|
|
855
880
|
return descriptions;
|
|
856
881
|
}
|
|
857
882
|
parseRuleYaml(content) {
|
|
@@ -1641,7 +1666,7 @@ function reportAstGrepRulesHealth(bundledRuleDir) {
|
|
|
1641
1666
|
});
|
|
1642
1667
|
reportBundledResourceDirHealth("ast-grep-rules-dir-missing", bundledRuleDir, health, "ast-grep rule descriptions");
|
|
1643
1668
|
}
|
|
1644
|
-
function recordAstGrepApply(matches, lineage) {
|
|
1669
|
+
function recordAstGrepApply(matches, lineage, toolCallId) {
|
|
1645
1670
|
const bridge = getMutationBridge();
|
|
1646
1671
|
if (!bridge || matches.length === 0)
|
|
1647
1672
|
return;
|
|
@@ -1657,13 +1682,22 @@ function recordAstGrepApply(matches, lineage) {
|
|
|
1657
1682
|
}
|
|
1658
1683
|
for (const [filePath, editRanges] of rangesByFile) {
|
|
1659
1684
|
bridge.recordMutation({
|
|
1660
|
-
|
|
1685
|
+
// ast-grep echoes the spelling passed to its CLI. Resolve that
|
|
1686
|
+
// tool-relative spelling at the producer boundary, then use the
|
|
1687
|
+
// existing canonical path seam before recordability is checked (#4140).
|
|
1688
|
+
filePath: normalizeFilePath(path4.resolve(process.cwd(), filePath)),
|
|
1661
1689
|
kind: "edit",
|
|
1662
1690
|
editRanges,
|
|
1663
1691
|
consumer: "ast_grep_replace",
|
|
1692
|
+
provenance: "observed",
|
|
1664
1693
|
// #3763: the call's session, so an apply that lands after `/new`
|
|
1665
1694
|
// writes none of the next session's state.
|
|
1666
|
-
...lineage && { lineage }
|
|
1695
|
+
...lineage && { lineage },
|
|
1696
|
+
// #4187 R4-1: the apply rewrites every matched file, which an
|
|
1697
|
+
// `ast_grep_replace` call names only when its `paths` are files. The
|
|
1698
|
+
// call's own id lets the guard advance exactly the paths that call
|
|
1699
|
+
// checked, and end the authorship of every other file it rewrote.
|
|
1700
|
+
...toolCallId !== void 0 && { toolCallId }
|
|
1667
1701
|
});
|
|
1668
1702
|
}
|
|
1669
1703
|
}
|
|
@@ -1732,6 +1766,9 @@ function validateInputShape(value, maxChars, label) {
|
|
|
1732
1766
|
}
|
|
1733
1767
|
return void 0;
|
|
1734
1768
|
}
|
|
1769
|
+
function extractRuleLanguage(ruleYaml) {
|
|
1770
|
+
return /^[^\S\n\r\u2028\u2029]*language:\s*([^\s#]+)/im.exec(ruleYaml)?.[1];
|
|
1771
|
+
}
|
|
1735
1772
|
function stderrHasError(stderr) {
|
|
1736
1773
|
return stderr.split(/\r?\n/).some((line) => /^\s*(error|Error):/.test(line));
|
|
1737
1774
|
}
|
|
@@ -1766,7 +1803,7 @@ var AstGrepClient = class {
|
|
|
1766
1803
|
this.log = verbose ? createSubsystemLogger("ast-grep") : () => {
|
|
1767
1804
|
};
|
|
1768
1805
|
this.ensureRulesHealthReported();
|
|
1769
|
-
this.ruleManager = new AstGrepRuleManager(this.ruleDir, this.log);
|
|
1806
|
+
this.ruleManager = new AstGrepRuleManager(ruleDir ? this.ruleDir : [projectRuleDir, getUserRuleRoot(), this.ruleDir], this.log, () => getAstGrepRuleFingerprint(process.cwd()));
|
|
1770
1807
|
this.runner = new SgRunner(verbose);
|
|
1771
1808
|
}
|
|
1772
1809
|
/**
|
|
@@ -1810,7 +1847,7 @@ var AstGrepClient = class {
|
|
|
1810
1847
|
* Replace using a raw YAML rule that includes a `fix:` field (Phase 3/4 of #125).
|
|
1811
1848
|
* Dry-run returns matches for preview; apply writes fixes to disk.
|
|
1812
1849
|
*/
|
|
1813
|
-
async replaceWithRule(ruleYaml, paths, apply) {
|
|
1850
|
+
async replaceWithRule(ruleYaml, paths, apply, options) {
|
|
1814
1851
|
const allMatches = [];
|
|
1815
1852
|
for (const scanPath of paths) {
|
|
1816
1853
|
if (apply) {
|
|
@@ -1843,6 +1880,8 @@ var AstGrepClient = class {
|
|
|
1843
1880
|
}
|
|
1844
1881
|
allMatches.push(...result.matches);
|
|
1845
1882
|
}
|
|
1883
|
+
if (apply)
|
|
1884
|
+
recordAstGrepApply(allMatches, options?.lineage, options?.toolCallId);
|
|
1846
1885
|
return {
|
|
1847
1886
|
matches: allMatches,
|
|
1848
1887
|
totalMatches: allMatches.length,
|
|
@@ -1964,7 +2003,7 @@ var AstGrepClient = class {
|
|
|
1964
2003
|
const shapeError = validateInputShape(ruleYaml, MAX_VALIDATE_RULE_CHARS, "rule");
|
|
1965
2004
|
if (shapeError)
|
|
1966
2005
|
return { valid: false, error: shapeError };
|
|
1967
|
-
const language =
|
|
2006
|
+
const language = extractRuleLanguage(ruleYaml) ?? "typescript";
|
|
1968
2007
|
const snippet = validationSnippetFor(language);
|
|
1969
2008
|
const tmpDir = fs4.mkdtempSync(path4.join(os2.tmpdir(), "pi-lens-sg-rule-"));
|
|
1970
2009
|
try {
|
|
@@ -2109,7 +2148,7 @@ var AstGrepClient = class {
|
|
|
2109
2148
|
error: applyResult.error
|
|
2110
2149
|
};
|
|
2111
2150
|
}
|
|
2112
|
-
recordAstGrepApply(preCheck.matches, options?.lineage);
|
|
2151
|
+
recordAstGrepApply(preCheck.matches, options?.lineage, options?.toolCallId);
|
|
2113
2152
|
return {
|
|
2114
2153
|
matches: preCheck.matches,
|
|
2115
2154
|
totalMatches: preCheck.totalMatches,
|
|
@@ -2686,7 +2725,7 @@ function resolveRebuildScript(serverFilePath) {
|
|
|
2686
2725
|
return serverFilePath.replace(/\\/g, "/").includes("/dist/") ? "build:dist" : "build";
|
|
2687
2726
|
}
|
|
2688
2727
|
function analyzeFileFresh(workerPath, file, cwd, options = {}, timeoutMs = 12e4) {
|
|
2689
|
-
return new Promise((
|
|
2728
|
+
return new Promise((resolve31) => {
|
|
2690
2729
|
const args = [workerPath, `--file=${file}`, `--cwd=${cwd}`];
|
|
2691
2730
|
if (options.flags)
|
|
2692
2731
|
args.push(`--flags=${JSON.stringify(options.flags)}`);
|
|
@@ -2696,7 +2735,7 @@ function analyzeFileFresh(workerPath, file, cwd, options = {}, timeoutMs = 12e4)
|
|
|
2696
2735
|
stdio: ["ignore", "pipe", "pipe"]
|
|
2697
2736
|
});
|
|
2698
2737
|
} catch (err) {
|
|
2699
|
-
|
|
2738
|
+
resolve31({
|
|
2700
2739
|
error: `failed to fork worker: ${err instanceof Error ? err.message : String(err)}`
|
|
2701
2740
|
});
|
|
2702
2741
|
return;
|
|
@@ -2709,7 +2748,7 @@ function analyzeFileFresh(workerPath, file, cwd, options = {}, timeoutMs = 12e4)
|
|
|
2709
2748
|
return;
|
|
2710
2749
|
settled = true;
|
|
2711
2750
|
clearTimeout(timer);
|
|
2712
|
-
|
|
2751
|
+
resolve31(outcome);
|
|
2713
2752
|
};
|
|
2714
2753
|
const timer = setTimeout(() => {
|
|
2715
2754
|
child.kill();
|
|
@@ -2874,29 +2913,29 @@ async function buildBootstrapClients() {
|
|
|
2874
2913
|
}
|
|
2875
2914
|
}
|
|
2876
2915
|
const [ruffClient, biomeClient, knipClient, todoScanner, jscpdClient, depChecker, testRunnerClient, metricsClient, complexityClient, goClient, govulncheckClient, gitleaksClient, trivyClient, opengrepClient, rustClient, agentBehaviorClient2, deadCodeClients] = await Promise.all([
|
|
2877
|
-
load("ruff", async () => new (await import("../chunk-
|
|
2878
|
-
load("biome", async () => new (await import("../chunk-
|
|
2879
|
-
load("knip", async () => new (await import("../chunk-
|
|
2880
|
-
load("todo", async () => new (await import("../chunk-
|
|
2881
|
-
load("jscpd", async () => new (await import("../chunk-
|
|
2882
|
-
load("dependency-checker", async () => new (await import("../chunk-
|
|
2883
|
-
load("test-runner", async () => new (await import("../chunk-
|
|
2884
|
-
load("metrics", async () => new (await import("../chunk-
|
|
2885
|
-
load("complexity", async () => new (await import("../chunk-
|
|
2916
|
+
load("ruff", async () => new (await import("../chunk-JONGANYH.js")).RuffClient()),
|
|
2917
|
+
load("biome", async () => new (await import("../chunk-OEX24ECI.js")).BiomeClient()),
|
|
2918
|
+
load("knip", async () => new (await import("../chunk-AFZYMAIV.js")).KnipClient()),
|
|
2919
|
+
load("todo", async () => new (await import("../chunk-ELVWJYRV.js")).TodoScanner()),
|
|
2920
|
+
load("jscpd", async () => new (await import("../chunk-H2W2AXD3.js")).JscpdClient()),
|
|
2921
|
+
load("dependency-checker", async () => new (await import("../chunk-WPE5FPGR.js")).DependencyChecker()),
|
|
2922
|
+
load("test-runner", async () => new (await import("../chunk-N77WFUL7.js")).TestRunnerClient()),
|
|
2923
|
+
load("metrics", async () => new (await import("../chunk-HREZQCT3.js")).MetricsClient()),
|
|
2924
|
+
load("complexity", async () => new (await import("../chunk-VZHJS6DR.js")).ComplexityClient()),
|
|
2886
2925
|
// The process-wide singleton, NOT a fresh instance (#2455 fix round 4,
|
|
2887
2926
|
// F2). `handleSessionStart` reads this object for its "Active tools"
|
|
2888
2927
|
// line while `resetGoAvailability` re-arms the singleton's latch; a
|
|
2889
2928
|
// second instance here meant the reset never reached the surface a
|
|
2890
2929
|
// user actually sees.
|
|
2891
|
-
load("go", async () => (await import("../chunk-
|
|
2892
|
-
load("govulncheck", async () => new (await import("../chunk-
|
|
2893
|
-
load("gitleaks", async () => new (await import("../chunk-
|
|
2894
|
-
load("trivy", async () => new (await import("../chunk-
|
|
2895
|
-
load("opengrep", async () => new (await import("../chunk-
|
|
2930
|
+
load("go", async () => (await import("../chunk-Z7QQA2KT.js")).goClient),
|
|
2931
|
+
load("govulncheck", async () => new (await import("../chunk-RTQNRM5X.js")).GovulncheckClient()),
|
|
2932
|
+
load("gitleaks", async () => new (await import("../chunk-IR6XFA5P.js")).GitleaksClient()),
|
|
2933
|
+
load("trivy", async () => new (await import("../chunk-OYTMZXRF.js")).TrivyClient()),
|
|
2934
|
+
load("opengrep", async () => new (await import("../chunk-D65GOCJB.js")).OpengrepClient()),
|
|
2896
2935
|
// The process-wide singleton, for the same reason as "go" above.
|
|
2897
|
-
load("rust", async () => (await import("../chunk-
|
|
2898
|
-
load("agent-behavior", async () => (await import("../chunk-
|
|
2899
|
-
loadList("dead-code", async () => (await import("../chunk-
|
|
2936
|
+
load("rust", async () => (await import("../chunk-EUT3B22Y.js")).rustClient),
|
|
2937
|
+
load("agent-behavior", async () => (await import("../chunk-BJF25SUG.js")).agentBehaviorClient),
|
|
2938
|
+
loadList("dead-code", async () => (await import("../chunk-NJF2X5XF.js")).getDeadCodeClients())
|
|
2900
2939
|
]);
|
|
2901
2940
|
if (failures.length > 0)
|
|
2902
2941
|
await logBootstrapFailures(failures);
|
|
@@ -2983,7 +3022,7 @@ function resetAnalyzerBootstrapSessionState() {
|
|
|
2983
3022
|
}
|
|
2984
3023
|
|
|
2985
3024
|
// dist/clients/formatters-lazy.js
|
|
2986
|
-
var lazyFormatters = createLazyImport(() => import("../chunk-
|
|
3025
|
+
var lazyFormatters = createLazyImport(() => import("../chunk-3FERWMCH.js"));
|
|
2987
3026
|
function warmFormatters() {
|
|
2988
3027
|
return lazyFormatters.get();
|
|
2989
3028
|
}
|
|
@@ -3332,6 +3371,13 @@ function deriveProviderFromModelId(modelId) {
|
|
|
3332
3371
|
|
|
3333
3372
|
// dist/clients/runtime-coordinator.js
|
|
3334
3373
|
var MAX_PENDING_CASCADE_RUNS = 32;
|
|
3374
|
+
function nextTelemetrySessionId() {
|
|
3375
|
+
const state = getProcessSingleton("runtime-coordinator-telemetry", 1, () => ({
|
|
3376
|
+
processId: randomBytes(6).toString("hex"),
|
|
3377
|
+
nextGeneration: 0
|
|
3378
|
+
}));
|
|
3379
|
+
return `lens-${state.processId}-${++state.nextGeneration}`;
|
|
3380
|
+
}
|
|
3335
3381
|
var MAX_CUT_ADVISORY_LANES = 16;
|
|
3336
3382
|
var MAX_MUTATION_RECEIPTS = 512;
|
|
3337
3383
|
function recordViewIncomplete(cwd, cause) {
|
|
@@ -3403,7 +3449,8 @@ var RuntimeCoordinator = class {
|
|
|
3403
3449
|
rules: [],
|
|
3404
3450
|
hasCustomRules: false
|
|
3405
3451
|
};
|
|
3406
|
-
|
|
3452
|
+
/** Process-unique and monotonic across coordinator reloads (#4213). */
|
|
3453
|
+
_telemetrySessionId = nextTelemetrySessionId();
|
|
3407
3454
|
_lifecycleReason;
|
|
3408
3455
|
_hasStableSessionId = false;
|
|
3409
3456
|
_telemetryModel = "unknown";
|
|
@@ -3472,9 +3519,10 @@ var RuntimeCoordinator = class {
|
|
|
3472
3519
|
/** tool_call → tool_result path-attribution correlation (#1642). */
|
|
3473
3520
|
_toolCallAttributions = new BoundedLruCache(TOOL_CALL_ATTRIBUTION_CAPACITY);
|
|
3474
3521
|
/**
|
|
3475
|
-
* #3555:
|
|
3476
|
-
*
|
|
3477
|
-
*
|
|
3522
|
+
* #3555: a widening rides its own correlation, with the same bound. Since
|
|
3523
|
+
* #4138 a read also carries a {@link ToolCallAttribution} (its origin cwd
|
|
3524
|
+
* is what a relative read path resolves against at tool_result); the
|
|
3525
|
+
* widening stays separate because it outlives a blocked call's attribution.
|
|
3478
3526
|
*/
|
|
3479
3527
|
_readWidenings = new BoundedLruCache(TOOL_CALL_ATTRIBUTION_CAPACITY);
|
|
3480
3528
|
_lspReadWarmState = /* @__PURE__ */ new Map();
|
|
@@ -3543,7 +3591,7 @@ var RuntimeCoordinator = class {
|
|
|
3543
3591
|
this._droppedMutationReceipts = 0;
|
|
3544
3592
|
this._actionableWarningsThisTurn.clear(this._telemetrySessionId);
|
|
3545
3593
|
this._codeQualityWarningsThisTurn.clear(this._telemetrySessionId);
|
|
3546
|
-
this._telemetrySessionId =
|
|
3594
|
+
this._telemetrySessionId = nextTelemetrySessionId();
|
|
3547
3595
|
this._hasStableSessionId = false;
|
|
3548
3596
|
this._telemetryModel = "unknown";
|
|
3549
3597
|
this._telemetryModelId = "";
|
|
@@ -4075,8 +4123,8 @@ var RuntimeCoordinator = class {
|
|
|
4075
4123
|
});
|
|
4076
4124
|
return entry;
|
|
4077
4125
|
});
|
|
4078
|
-
const timeout = new Promise((
|
|
4079
|
-
setTimeout(
|
|
4126
|
+
const timeout = new Promise((resolve31) => {
|
|
4127
|
+
setTimeout(resolve31, maxWaitMs).unref?.();
|
|
4080
4128
|
});
|
|
4081
4129
|
await Promise.race([
|
|
4082
4130
|
Promise.allSettled(tracked.map((t) => t.promise)),
|
|
@@ -4820,6 +4868,17 @@ var RuntimeCoordinator = class {
|
|
|
4820
4868
|
deferFormat(filePath, cwd, toolName, turnStateCwd, ownerSessionId, originCwd) {
|
|
4821
4869
|
return this.deferMutation(filePath, cwd, toolName, turnStateCwd, "format", ownerSessionId, originCwd);
|
|
4822
4870
|
}
|
|
4871
|
+
/** Return the ownership identity of a queued format record for bus events. */
|
|
4872
|
+
deferredFormatIdentity(filePath) {
|
|
4873
|
+
const record = this._pendingDeferredMutations.get(path8.resolve(filePath));
|
|
4874
|
+
if (!record || !record.kinds.has("format"))
|
|
4875
|
+
return void 0;
|
|
4876
|
+
return {
|
|
4877
|
+
ownerSessionId: record.ownerSessionId,
|
|
4878
|
+
turnIndex: record.queuedTurnIndex,
|
|
4879
|
+
batchId: record.queuedTurnId
|
|
4880
|
+
};
|
|
4881
|
+
}
|
|
4823
4882
|
get pendingDeferredFormatCount() {
|
|
4824
4883
|
return this._pendingDeferredMutations.size;
|
|
4825
4884
|
}
|
|
@@ -5231,6 +5290,30 @@ function resetTestRunnerDelivery() {
|
|
|
5231
5290
|
}
|
|
5232
5291
|
|
|
5233
5292
|
// dist/clients/runtime-session.js
|
|
5293
|
+
function notifyStartupWarmSkip(args) {
|
|
5294
|
+
if (!args.runtime.isCurrentSession(args.sessionGeneration))
|
|
5295
|
+
return;
|
|
5296
|
+
const reason = args.scan.reason;
|
|
5297
|
+
if (reason !== "too-many-source-files" && reason !== "too-many-entries") {
|
|
5298
|
+
return;
|
|
5299
|
+
}
|
|
5300
|
+
const bound = reason === "too-many-entries" ? {
|
|
5301
|
+
name: "maxScanEntries",
|
|
5302
|
+
value: args.scan.maxScanEntries,
|
|
5303
|
+
hint: `set PI_LENS_STARTUP_SCAN_MAX_ENTRIES=<n> to override the ${args.scan.maxScanEntries}-entry cap`
|
|
5304
|
+
} : {
|
|
5305
|
+
name: "maxProjectFiles",
|
|
5306
|
+
value: args.scan.maxProjectFiles,
|
|
5307
|
+
hint: `set maxProjectFiles in .pi-lens.json to override the ${args.scan.maxProjectFiles}-source-file cap`
|
|
5308
|
+
};
|
|
5309
|
+
recordDegradationOnce({
|
|
5310
|
+
kind: "startup-warm-skipped",
|
|
5311
|
+
subject: args.analysisRoot,
|
|
5312
|
+
reason: `${reason}; ${bound.name}=${bound.value}`,
|
|
5313
|
+
metadata: { reason, [bound.name]: bound.value }
|
|
5314
|
+
});
|
|
5315
|
+
args.notify(`\u{1F4E6} Project-size limits disabled background warm scans (heavy scans, TODO scan, LSP pre-warm) (${bound.hint}).`, "warning");
|
|
5316
|
+
}
|
|
5234
5317
|
async function demandBootstrapDeps(deps, reason) {
|
|
5235
5318
|
const clients = await deps.bootstrap.request(reason);
|
|
5236
5319
|
if (!clients)
|
|
@@ -5359,8 +5442,8 @@ async function readSequenceWithBudget(args) {
|
|
|
5359
5442
|
const { snapshotRoot, base, cwd, runtime, sessionGeneration, dbg, onDeferredSequenceResolved } = args;
|
|
5360
5443
|
const readPromise = readLatestProjectSequenceAsync(snapshotRoot, base);
|
|
5361
5444
|
let timeoutHandle;
|
|
5362
|
-
const timeoutPromise = new Promise((
|
|
5363
|
-
timeoutHandle = setTimeout(() =>
|
|
5445
|
+
const timeoutPromise = new Promise((resolve31) => {
|
|
5446
|
+
timeoutHandle = setTimeout(() => resolve31({ timedOut: true }), sequenceReadBudgetMs());
|
|
5364
5447
|
timeoutHandle.unref();
|
|
5365
5448
|
});
|
|
5366
5449
|
const raced = await Promise.race([
|
|
@@ -5460,8 +5543,8 @@ async function igniteDominantLanguageWarm(cwd, runtime, sessionGeneration, dbg)
|
|
|
5460
5543
|
if (!runtime.isCurrentSession(sessionGeneration))
|
|
5461
5544
|
return;
|
|
5462
5545
|
const lspService = (await loadLspService()).getLSPService();
|
|
5463
|
-
const { collectSourceFilesAsync } = await import("../chunk-
|
|
5464
|
-
const { CODE_KINDS, detectFileKind: detectFileKind2 } = await import("../chunk-
|
|
5546
|
+
const { collectSourceFilesAsync } = await import("../chunk-J7WJZ6W7.js");
|
|
5547
|
+
const { CODE_KINDS, detectFileKind: detectFileKind2 } = await import("../chunk-CFYISHUW.js");
|
|
5465
5548
|
const files = await collectSourceFilesAsync(cwd, {
|
|
5466
5549
|
inspectGeneratedHeaders: false
|
|
5467
5550
|
});
|
|
@@ -5527,7 +5610,7 @@ function scheduleManagedToolRefresh(dbg) {
|
|
|
5527
5610
|
const timer = setTimeout(() => {
|
|
5528
5611
|
void (async () => {
|
|
5529
5612
|
try {
|
|
5530
|
-
const refresh = await import("../chunk-
|
|
5613
|
+
const refresh = await import("../chunk-CBD2B5CP.js");
|
|
5531
5614
|
const outcome = await refresh.runManagedToolRefresh();
|
|
5532
5615
|
if (outcome.skipped) {
|
|
5533
5616
|
dbg(`session_start tool-refresh: skipped (${outcome.skipped})`);
|
|
@@ -5574,7 +5657,7 @@ function scanOneTodoFile(scanner, filePath, items) {
|
|
|
5574
5657
|
async function collectTodoBaselineItems(scanner, analysisRoot, stillCurrent) {
|
|
5575
5658
|
const items = [];
|
|
5576
5659
|
try {
|
|
5577
|
-
const { getSourceFilesAsync } = await import("../chunk-
|
|
5660
|
+
const { getSourceFilesAsync } = await import("../chunk-KMGPUKFD.js");
|
|
5578
5661
|
const files = await getSourceFilesAsync(analysisRoot, true);
|
|
5579
5662
|
if (!stillCurrent())
|
|
5580
5663
|
return items;
|
|
@@ -5603,7 +5686,7 @@ async function buildOrRefreshWordIndex(args) {
|
|
|
5603
5686
|
const snapshot = loadProjectSnapshot(snapshotRoot);
|
|
5604
5687
|
const snapshotLoadMs = Date.now() - snapshotLoadStartMs;
|
|
5605
5688
|
if (snapshot?.wordIndex) {
|
|
5606
|
-
const { deserializeWordIndex, refreshWordIndexIncrementally, countWordIndexPostingEntries: countWordIndexPostingEntries2, estimateWordIndexResidentBytes: estimateWordIndexResidentBytes2 } = await import("../chunk-
|
|
5689
|
+
const { deserializeWordIndex, refreshWordIndexIncrementally, countWordIndexPostingEntries: countWordIndexPostingEntries2, estimateWordIndexResidentBytes: estimateWordIndexResidentBytes2 } = await import("../chunk-ZMOMPX2Z.js");
|
|
5607
5690
|
const deserializeStartMs = Date.now();
|
|
5608
5691
|
const index = deserializeWordIndex(snapshot.wordIndex);
|
|
5609
5692
|
const deserializeMs = Date.now() - deserializeStartMs;
|
|
@@ -5675,7 +5758,7 @@ async function buildOrRefreshWordIndex(args) {
|
|
|
5675
5758
|
}
|
|
5676
5759
|
}
|
|
5677
5760
|
}
|
|
5678
|
-
const { buildWordIndexAsync, collectWordIndexDocs, countWordIndexPostingEntries, estimateWordIndexResidentBytes } = await import("../chunk-
|
|
5761
|
+
const { buildWordIndexAsync, collectWordIndexDocs, countWordIndexPostingEntries, estimateWordIndexResidentBytes } = await import("../chunk-ZMOMPX2Z.js");
|
|
5679
5762
|
const docs = await collectWordIndexDocs(analysisRoot, () => runtime.isCurrentSession(sessionGeneration), rebuildPreflightFiles);
|
|
5680
5763
|
if (!runtime.isCurrentSession(sessionGeneration))
|
|
5681
5764
|
return;
|
|
@@ -5745,7 +5828,7 @@ function scheduleStartupScansWithClients(deps, runtime, sessionGeneration, analy
|
|
|
5745
5828
|
const queuedAt = Date.now();
|
|
5746
5829
|
dbg(`session_start task ${name}: scheduled`);
|
|
5747
5830
|
runtime.markStartupScanInFlight(name, sessionGeneration);
|
|
5748
|
-
const completion = new Promise((
|
|
5831
|
+
const completion = new Promise((resolve31) => {
|
|
5749
5832
|
const fire = () => {
|
|
5750
5833
|
const startedAt = Date.now();
|
|
5751
5834
|
dbg(`session_start task ${name}: start queuedMs=${startedAt - queuedAt}`);
|
|
@@ -5757,7 +5840,7 @@ function scheduleStartupScansWithClients(deps, runtime, sessionGeneration, analy
|
|
|
5757
5840
|
}).finally(() => {
|
|
5758
5841
|
runtime.clearStartupScanInFlight(name, sessionGeneration);
|
|
5759
5842
|
dbg(`session_start task ${name}: end`);
|
|
5760
|
-
|
|
5843
|
+
resolve31();
|
|
5761
5844
|
});
|
|
5762
5845
|
};
|
|
5763
5846
|
const delay = taskDeferMsByName[name] ?? 0;
|
|
@@ -6040,9 +6123,9 @@ function scheduleStartupScansWithClients(deps, runtime, sessionGeneration, analy
|
|
|
6040
6123
|
});
|
|
6041
6124
|
let callGraphIdentity;
|
|
6042
6125
|
const callGraphTask = runTask("call-graph", async () => {
|
|
6043
|
-
const { FactStore: FactStore2 } = await import("../chunk-
|
|
6044
|
-
const { buildOrUpdateGraph, extractSymbolsAndRefsFromGraph, getReviewGraphCacheIdentity } = await import("../chunk-
|
|
6045
|
-
const { buildCallGraph, saveCallGraph, loadCallGraph: loadCallGraph2 } = await import("../chunk-
|
|
6126
|
+
const { FactStore: FactStore2 } = await import("../chunk-CULQYFLU.js");
|
|
6127
|
+
const { buildOrUpdateGraph, extractSymbolsAndRefsFromGraph, getReviewGraphCacheIdentity } = await import("../chunk-3TTPKMEF.js");
|
|
6128
|
+
const { buildCallGraph, saveCallGraph, loadCallGraph: loadCallGraph2 } = await import("../chunk-GAYGGICG.js");
|
|
6046
6129
|
if (!runtime.isCurrentSession(sessionGeneration))
|
|
6047
6130
|
return;
|
|
6048
6131
|
const startMs = Date.now();
|
|
@@ -6083,7 +6166,7 @@ function scheduleStartupScansWithClients(deps, runtime, sessionGeneration, analy
|
|
|
6083
6166
|
return;
|
|
6084
6167
|
if (!runtime.callGraph)
|
|
6085
6168
|
return;
|
|
6086
|
-
const { buildCodebaseModel, saveCodebaseModel, DEFAULT_CODEBASE_MODEL_TOKEN_BUDGET } = await import("../chunk-
|
|
6169
|
+
const { buildCodebaseModel, saveCodebaseModel, DEFAULT_CODEBASE_MODEL_TOKEN_BUDGET } = await import("../chunk-6UYA642J.js");
|
|
6087
6170
|
if (!callGraphIdentity)
|
|
6088
6171
|
return;
|
|
6089
6172
|
const model = buildCodebaseModel(runtime.callGraph, analysisRoot, DEFAULT_CODEBASE_MODEL_TOKEN_BUDGET, callGraphIdentity);
|
|
@@ -6161,6 +6244,7 @@ var SESSION_START_GUIDANCE = [
|
|
|
6161
6244
|
];
|
|
6162
6245
|
async function handleSessionStart(deps) {
|
|
6163
6246
|
resetDegradationLedger();
|
|
6247
|
+
let sessionGenerationAtStart = deps.runtime.sessionGeneration;
|
|
6164
6248
|
resetAnalyzerBootstrapSessionState();
|
|
6165
6249
|
resetProjectDataDirSessionState();
|
|
6166
6250
|
resetTestRunnerDelivery();
|
|
@@ -6199,8 +6283,8 @@ async function handleSessionStart(deps) {
|
|
|
6199
6283
|
try {
|
|
6200
6284
|
warmupDbg("warmup: starting background warmup");
|
|
6201
6285
|
const scanContextStartedAt = Date.now();
|
|
6202
|
-
const startupScanModule = await import("../chunk-
|
|
6203
|
-
const languageProfileModule = await import("../chunk-
|
|
6286
|
+
const startupScanModule = await import("../chunk-6B5I6ICN.js");
|
|
6287
|
+
const languageProfileModule = await import("../chunk-7M4T5N3V.js");
|
|
6204
6288
|
const warmupSnapshotRoot = resolveSnapshotRoot(warmupCwd);
|
|
6205
6289
|
const cachedSnapshot = loadProjectSnapshot(warmupSnapshotRoot);
|
|
6206
6290
|
warmupOwnSnapshotRead = cachedSnapshot ? {
|
|
@@ -6241,6 +6325,13 @@ async function handleSessionStart(deps) {
|
|
|
6241
6325
|
});
|
|
6242
6326
|
if (!scan.canWarmCaches) {
|
|
6243
6327
|
warmupDbg(`warmup: skipping language-profile (canWarm=false, reason=${scan.reason ?? "unknown"})`);
|
|
6328
|
+
notifyStartupWarmSkip({
|
|
6329
|
+
scan,
|
|
6330
|
+
analysisRoot: scan.projectRoot ?? warmupCwd,
|
|
6331
|
+
notify: deps.notify,
|
|
6332
|
+
runtime: deps.runtime,
|
|
6333
|
+
sessionGeneration: sessionGenerationAtStart
|
|
6334
|
+
});
|
|
6244
6335
|
return;
|
|
6245
6336
|
}
|
|
6246
6337
|
const languageRoot = scan.projectRoot ?? warmupCwd;
|
|
@@ -6356,6 +6447,7 @@ async function handleSessionStart(deps) {
|
|
|
6356
6447
|
deps.bootstrap.peek()?.knipClient.resetSessionState?.();
|
|
6357
6448
|
resetCascadeTierSessionState();
|
|
6358
6449
|
runtime.resetForSession(sessionStartMs);
|
|
6450
|
+
sessionGenerationAtStart = runtime.sessionGeneration;
|
|
6359
6451
|
logLatency({
|
|
6360
6452
|
type: "phase",
|
|
6361
6453
|
phase: "session_start_runtime_reset",
|
|
@@ -6792,10 +6884,13 @@ async function handleSessionStart(deps) {
|
|
|
6792
6884
|
} else if (!startupScan.canWarmCaches) {
|
|
6793
6885
|
dbg(`session_start: skipping heavy scans (${startupScan.reason ?? "unknown"})`);
|
|
6794
6886
|
dbg(`session_start: skipping TODO scan (${startupScan.reason ?? "unknown"})`);
|
|
6795
|
-
|
|
6796
|
-
|
|
6797
|
-
|
|
6798
|
-
|
|
6887
|
+
notifyStartupWarmSkip({
|
|
6888
|
+
scan: startupScan,
|
|
6889
|
+
analysisRoot,
|
|
6890
|
+
notify,
|
|
6891
|
+
runtime,
|
|
6892
|
+
sessionGeneration
|
|
6893
|
+
});
|
|
6799
6894
|
} else {
|
|
6800
6895
|
scheduleStartupScans(deps, runtime, sessionGeneration, analysisRoot, snapshotRoot, languageProfile, dbg);
|
|
6801
6896
|
}
|
|
@@ -7235,7 +7330,7 @@ async function buildActionableWarningsReport(args) {
|
|
|
7235
7330
|
}
|
|
7236
7331
|
};
|
|
7237
7332
|
const deferredWork = (async () => {
|
|
7238
|
-
await new Promise((
|
|
7333
|
+
await new Promise((resolve31) => setTimeout(resolve31, 0));
|
|
7239
7334
|
const deferredRecords = [...carried];
|
|
7240
7335
|
const deferredDeadline = Date.now() + ACTIONABLE_WARNINGS_DEFERRED_BUDGET_MS;
|
|
7241
7336
|
deferredDeps.deadlineAt = deferredDeadline;
|
|
@@ -8610,7 +8705,7 @@ function stillReportedParked(parked, current, keyOf, offeredKeys) {
|
|
|
8610
8705
|
}
|
|
8611
8706
|
|
|
8612
8707
|
// dist/clients/knip-scan-roots.js
|
|
8613
|
-
import { resolve as
|
|
8708
|
+
import { resolve as resolve12 } from "node:path";
|
|
8614
8709
|
var MAX_KNIP_ROOTS_PER_TURN = 3;
|
|
8615
8710
|
function resolveKnipScanRoots(sessionCwd, modifiedFiles) {
|
|
8616
8711
|
const session = resolveGitCheckout(sessionCwd);
|
|
@@ -8620,7 +8715,7 @@ function resolveKnipScanRoots(sessionCwd, modifiedFiles) {
|
|
|
8620
8715
|
let sessionOwnsEdit = false;
|
|
8621
8716
|
const linked = [];
|
|
8622
8717
|
for (const file of modifiedFiles) {
|
|
8623
|
-
const owner = resolveLinkedWorktreeOwner(session,
|
|
8718
|
+
const owner = resolveLinkedWorktreeOwner(session, resolve12(sessionCwd, file));
|
|
8624
8719
|
if (owner === null) {
|
|
8625
8720
|
sessionOwnsEdit = true;
|
|
8626
8721
|
} else if (!linked.some((known) => pathsEqual(known.root, owner.root))) {
|
|
@@ -9249,7 +9344,7 @@ async function runTestTargetsBounded(args) {
|
|
|
9249
9344
|
});
|
|
9250
9345
|
void pool.catch(() => {
|
|
9251
9346
|
});
|
|
9252
|
-
await new Promise((
|
|
9347
|
+
await new Promise((resolve31) => {
|
|
9253
9348
|
let settled = false;
|
|
9254
9349
|
const finish = (reason) => {
|
|
9255
9350
|
if (settled)
|
|
@@ -9261,7 +9356,7 @@ async function runTestTargetsBounded(args) {
|
|
|
9261
9356
|
batchAbort.abort();
|
|
9262
9357
|
clearTimeout(timer);
|
|
9263
9358
|
args.signal?.removeEventListener("abort", onAbort);
|
|
9264
|
-
|
|
9359
|
+
resolve31();
|
|
9265
9360
|
};
|
|
9266
9361
|
const onAbort = () => finish("abort");
|
|
9267
9362
|
const timer = setTimeout(() => finish("budget"), budgetMs);
|
|
@@ -11236,8 +11331,8 @@ ${suffix}`;
|
|
|
11236
11331
|
} else {
|
|
11237
11332
|
const callGraphStart = Date.now();
|
|
11238
11333
|
try {
|
|
11239
|
-
const { impact, formatImpact, parseSymbolKey } = await import("../chunk-
|
|
11240
|
-
const { callGraphImpactToProjectDiagnostics } = await import("../chunk-
|
|
11334
|
+
const { impact, formatImpact, parseSymbolKey } = await import("../chunk-GAYGGICG.js");
|
|
11335
|
+
const { callGraphImpactToProjectDiagnostics } = await import("../chunk-VPWKF3GN.js");
|
|
11241
11336
|
const impactLines = [];
|
|
11242
11337
|
let callGraphDispositionSuppressed = 0;
|
|
11243
11338
|
const impactFindings = [];
|
|
@@ -12186,10 +12281,10 @@ var TurnEndQueue = class {
|
|
|
12186
12281
|
if (this.pending.length >= 1) {
|
|
12187
12282
|
return Promise.reject(new Error("turn_end queue is busy"));
|
|
12188
12283
|
}
|
|
12189
|
-
return new Promise((
|
|
12284
|
+
return new Promise((resolve31, reject) => {
|
|
12190
12285
|
const item = {
|
|
12191
12286
|
work,
|
|
12192
|
-
resolve:
|
|
12287
|
+
resolve: resolve31,
|
|
12193
12288
|
reject,
|
|
12194
12289
|
timer: setTimeout(() => {
|
|
12195
12290
|
const index = this.pending.indexOf(item);
|
|
@@ -12926,7 +13021,7 @@ function blastReadArgs(graph, normalizedFile) {
|
|
|
12926
13021
|
return { path: normalizedFile, offset: 1, limit };
|
|
12927
13022
|
}
|
|
12928
13023
|
async function computeBlastRadius(graph, normalizedPath, projectRoot, maxDepth) {
|
|
12929
|
-
const { computeTransitiveImpact } = await import("../chunk-
|
|
13024
|
+
const { computeTransitiveImpact } = await import("../chunk-PCHDGUKT.js");
|
|
12930
13025
|
const result = computeTransitiveImpact(graph, normalizedPath, { maxDepth });
|
|
12931
13026
|
const byFile = /* @__PURE__ */ new Map();
|
|
12932
13027
|
for (const hit of result.hits) {
|
|
@@ -13543,7 +13638,7 @@ async function moduleReport(file, cwd, options) {
|
|
|
13543
13638
|
let callGraphIdentity;
|
|
13544
13639
|
let revisionDriftNote;
|
|
13545
13640
|
try {
|
|
13546
|
-
const { getCachedReviewGraph, getReviewGraphCacheIdentity, getReviewGraphSizeSkipVerdict, getReviewGraphRevisionDrift, formatReviewGraphRevisionDriftNote: formatReviewGraphRevisionDriftNote2 } = await import("../chunk-
|
|
13641
|
+
const { getCachedReviewGraph, getReviewGraphCacheIdentity, getReviewGraphSizeSkipVerdict, getReviewGraphRevisionDrift, formatReviewGraphRevisionDriftNote: formatReviewGraphRevisionDriftNote2 } = await import("../chunk-3TTPKMEF.js");
|
|
13547
13642
|
graph = getCachedReviewGraph(cwd);
|
|
13548
13643
|
graphFileCap = getReviewGraphSizeSkipVerdict(cwd)?.maxFileCount;
|
|
13549
13644
|
const drift = graph ? getReviewGraphRevisionDrift(cwd) : void 0;
|
|
@@ -14327,7 +14422,7 @@ function roleFor(graph, filePath) {
|
|
|
14327
14422
|
return top.length > 0 ? top.map((s) => s.name).join(", ") : void 0;
|
|
14328
14423
|
}
|
|
14329
14424
|
async function computeHubs(graph, degrees, cwd, limit, focusTerms) {
|
|
14330
|
-
const { computeTransitiveImpact } = await import("../chunk-
|
|
14425
|
+
const { computeTransitiveImpact } = await import("../chunk-PCHDGUKT.js");
|
|
14331
14426
|
const ranked = [...graph.fileNodes.entries()].map(([filePath, fileNodeId]) => ({
|
|
14332
14427
|
filePath,
|
|
14333
14428
|
fileNodeId,
|
|
@@ -14579,7 +14674,7 @@ async function projectReport(cwd, options) {
|
|
|
14579
14674
|
const limit = clampLimit(options?.limit);
|
|
14580
14675
|
const focusTerms = normalizeFocus2(options?.focus);
|
|
14581
14676
|
const view = options?.view;
|
|
14582
|
-
const { getCachedReviewGraph, getReviewGraphSizeSkipVerdict, getLastReviewGraphBuildAttempt, buildOrUpdateGraph, isGraphBuildInFlight, getReviewGraphRevisionDrift } = await import("../chunk-
|
|
14677
|
+
const { getCachedReviewGraph, getReviewGraphSizeSkipVerdict, getLastReviewGraphBuildAttempt, buildOrUpdateGraph, isGraphBuildInFlight, getReviewGraphRevisionDrift } = await import("../chunk-3TTPKMEF.js");
|
|
14583
14678
|
let graph;
|
|
14584
14679
|
try {
|
|
14585
14680
|
graph = getCachedReviewGraph(cwd);
|
|
@@ -14603,7 +14698,7 @@ async function projectReport(cwd, options) {
|
|
|
14603
14698
|
};
|
|
14604
14699
|
}
|
|
14605
14700
|
const previousAttempt = getLastReviewGraphBuildAttempt(cwd);
|
|
14606
|
-
const { FactStore: FactStore2 } = await import("../chunk-
|
|
14701
|
+
const { FactStore: FactStore2 } = await import("../chunk-CULQYFLU.js");
|
|
14607
14702
|
const trigger = triggerBackgroundGraphBuild(cwd, {
|
|
14608
14703
|
buildOrUpdateGraph,
|
|
14609
14704
|
isGraphBuildInFlight,
|
|
@@ -15022,7 +15117,7 @@ async function symbolSearch(query, cwd, limit = 20, options = {}) {
|
|
|
15022
15117
|
warmLease.release();
|
|
15023
15118
|
}
|
|
15024
15119
|
const hits = results.map(toSymbolSearchHit);
|
|
15025
|
-
const { getCachedReviewGraph } = await import("../chunk-
|
|
15120
|
+
const { getCachedReviewGraph } = await import("../chunk-3TTPKMEF.js");
|
|
15026
15121
|
const graph = getCachedReviewGraph(cwd);
|
|
15027
15122
|
if (graph)
|
|
15028
15123
|
annotateSymbolSearchHitsWithGraph(hits, centrality, graph);
|
|
@@ -15388,7 +15483,7 @@ function createAstGrepReplaceTool(astGrepClient2, captureLineage) {
|
|
|
15388
15483
|
details: {}
|
|
15389
15484
|
};
|
|
15390
15485
|
}
|
|
15391
|
-
const ruleResult = await astGrepClient2.replaceWithRule(ruleYaml, searchPaths, applyFlag);
|
|
15486
|
+
const ruleResult = await astGrepClient2.replaceWithRule(ruleYaml, searchPaths, applyFlag, { lineage, toolCallId: _toolCallId });
|
|
15392
15487
|
if (ruleResult.stalePreview) {
|
|
15393
15488
|
logOutcome("error", { errorRaw: "stale_preview" });
|
|
15394
15489
|
return {
|
|
@@ -15427,7 +15522,7 @@ function createAstGrepReplaceTool(astGrepClient2, captureLineage) {
|
|
|
15427
15522
|
}
|
|
15428
15523
|
};
|
|
15429
15524
|
}
|
|
15430
|
-
const result = await astGrepClient2.replace(pattern, rewrite, lang, searchPaths, applyFlag, { strictness, lineage });
|
|
15525
|
+
const result = await astGrepClient2.replace(pattern, rewrite, lang, searchPaths, applyFlag, { strictness, lineage, toolCallId: _toolCallId });
|
|
15431
15526
|
if (result.stalePreview) {
|
|
15432
15527
|
logOutcome("error", { errorRaw: "stale_preview" });
|
|
15433
15528
|
return {
|
|
@@ -16824,12 +16919,12 @@ async function fetchFreshProjectDiagnostics(cacheManager2, cwd, clients, signal,
|
|
|
16824
16919
|
const allSettled = Promise.all(tasks).then(() => "completed").catch(() => "completed");
|
|
16825
16920
|
const outcome = signal ? await Promise.race([
|
|
16826
16921
|
allSettled,
|
|
16827
|
-
new Promise((
|
|
16922
|
+
new Promise((resolve31) => {
|
|
16828
16923
|
if (signal.aborted) {
|
|
16829
|
-
|
|
16924
|
+
resolve31("aborted");
|
|
16830
16925
|
return;
|
|
16831
16926
|
}
|
|
16832
|
-
signal.addEventListener("abort", () =>
|
|
16927
|
+
signal.addEventListener("abort", () => resolve31("aborted"), {
|
|
16833
16928
|
once: true
|
|
16834
16929
|
});
|
|
16835
16930
|
})
|
|
@@ -17272,7 +17367,7 @@ function coveredSourcesForCheck(file, serverScope, unconfirmedServerIds) {
|
|
|
17272
17367
|
return [];
|
|
17273
17368
|
}
|
|
17274
17369
|
for (const server of servers) {
|
|
17275
|
-
const auxiliary = server
|
|
17370
|
+
const auxiliary = isAuxiliary(server);
|
|
17276
17371
|
if (auxiliary && serverScope === "primary")
|
|
17277
17372
|
continue;
|
|
17278
17373
|
if (unconfirmed.has(server.id))
|
|
@@ -17748,12 +17843,12 @@ async function collectBatchDiagnostics(files, severity, lspService, options) {
|
|
|
17748
17843
|
});
|
|
17749
17844
|
const result = options.signal ? await Promise.race([
|
|
17750
17845
|
bounded2,
|
|
17751
|
-
new Promise((
|
|
17846
|
+
new Promise((resolve31) => {
|
|
17752
17847
|
if (options.signal?.aborted) {
|
|
17753
|
-
|
|
17848
|
+
resolve31(void 0);
|
|
17754
17849
|
return;
|
|
17755
17850
|
}
|
|
17756
|
-
options.signal?.addEventListener("abort", () =>
|
|
17851
|
+
options.signal?.addEventListener("abort", () => resolve31(void 0), {
|
|
17757
17852
|
once: true
|
|
17758
17853
|
});
|
|
17759
17854
|
})
|
|
@@ -18170,7 +18265,7 @@ async function findFullScanBindingMismatches(results) {
|
|
|
18170
18265
|
sinceYield += 1;
|
|
18171
18266
|
if (sinceYield >= FULL_SCAN_BINDING_YIELD_EVERY) {
|
|
18172
18267
|
sinceYield = 0;
|
|
18173
|
-
await new Promise((
|
|
18268
|
+
await new Promise((resolve31) => setImmediate(resolve31));
|
|
18174
18269
|
}
|
|
18175
18270
|
}
|
|
18176
18271
|
return mismatched;
|
|
@@ -20724,6 +20819,10 @@ function createLspNavigationTool(getFlag, mutationDeps) {
|
|
|
20724
20819
|
mutationContext = {
|
|
20725
20820
|
cwd,
|
|
20726
20821
|
correlationId: newLspMutationCorrelationId(_toolCallId),
|
|
20822
|
+
// #4187 R4-1: the call whose `tool_call` licensed the paths it
|
|
20823
|
+
// named; the workspace edit's other files (a rename's importers)
|
|
20824
|
+
// are unlicensed, so they end an authorship instead of advancing it.
|
|
20825
|
+
toolCallId: _toolCallId,
|
|
20727
20826
|
tool: `lsp_navigation:${operation}`,
|
|
20728
20827
|
source: mutationSource,
|
|
20729
20828
|
...mutationDeps,
|
|
@@ -20977,7 +21076,7 @@ ${JSON.stringify(result2)}`
|
|
|
20977
21076
|
const msg = err instanceof Error ? err.message : String(err);
|
|
20978
21077
|
if (rawPath && /No Project/i.test(msg)) {
|
|
20979
21078
|
await openFileBestEffort(lspService, filePath);
|
|
20980
|
-
await new Promise((
|
|
21079
|
+
await new Promise((resolve31) => setTimeout(resolve31, 120));
|
|
20981
21080
|
const retryRaw = await lspService.workspaceSymbol(query ?? "", filePath);
|
|
20982
21081
|
const retrySymbols = (Array.isArray(retryRaw) ? retryRaw : [retryRaw]).filter((s) => typeof s === "object" && s !== null);
|
|
20983
21082
|
return dedupeWorkspaceSymbols(retrySymbols);
|