pybao-cli 1.3.93 → 1.3.95

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.
Files changed (149) hide show
  1. package/dist/REPL-7WPVB4IF.js +47 -0
  2. package/dist/{acp-EVHOGBLR.js → acp-IP2EUY3O.js} +29 -29
  3. package/dist/{agentsValidate-SX5WCTHD.js → agentsValidate-YGYIFZ2Q.js} +7 -7
  4. package/dist/{ask-5256RCJR.js → ask-RXRDLJ2Q.js} +28 -28
  5. package/dist/{autoUpdater-62OEX27S.js → autoUpdater-WXXGD5CW.js} +3 -3
  6. package/dist/{chunk-ARHVL4GY.js → chunk-2CQ6B2EF.js} +4 -4
  7. package/dist/{chunk-D5GRAD3G.js → chunk-2OZWUTJN.js} +3 -3
  8. package/dist/{chunk-B55DFBEO.js → chunk-3ZXF2UHD.js} +2 -2
  9. package/dist/{chunk-PBKTN6PS.js → chunk-7VDXI7AR.js} +1 -1
  10. package/dist/{chunk-RCEEY77V.js → chunk-BKPUVKNL.js} +1 -1
  11. package/dist/{chunk-OUXWQ5VS.js → chunk-CH6GH2PY.js} +2 -2
  12. package/dist/{chunk-P5OMB2NR.js → chunk-DNDIMOXI.js} +1 -1
  13. package/dist/{chunk-TATJD3PS.js → chunk-EYQDSK5K.js} +1 -1
  14. package/dist/{chunk-HQU5FX5A.js → chunk-G75MDYMO.js} +2 -2
  15. package/dist/{chunk-BKLDKPLL.js → chunk-GQTOTLSY.js} +6 -3
  16. package/dist/chunk-GQTOTLSY.js.map +7 -0
  17. package/dist/{chunk-NQNSJDW7.js → chunk-GZJWX5KE.js} +3 -3
  18. package/dist/{chunk-DKLWXWL2.js → chunk-KOFUHO7S.js} +28 -11
  19. package/dist/{chunk-DKLWXWL2.js.map → chunk-KOFUHO7S.js.map} +2 -2
  20. package/dist/{chunk-JDY2JDD3.js → chunk-L66UZNNO.js} +125 -45
  21. package/dist/chunk-L66UZNNO.js.map +7 -0
  22. package/dist/{chunk-ZJIMLKMQ.js → chunk-NH77UCWT.js} +3 -3
  23. package/dist/{chunk-APVX3GSP.js → chunk-NPBMF2YV.js} +136 -62
  24. package/dist/chunk-NPBMF2YV.js.map +7 -0
  25. package/dist/{chunk-NCHRQKJP.js → chunk-O6BHLPRE.js} +1 -1
  26. package/dist/{chunk-NCHRQKJP.js.map → chunk-O6BHLPRE.js.map} +1 -1
  27. package/dist/{chunk-GGBJ6RZQ.js → chunk-OM6GCBT3.js} +3 -3
  28. package/dist/{chunk-UKADBDTZ.js → chunk-QSZWYMPZ.js} +7 -4
  29. package/dist/chunk-QSZWYMPZ.js.map +7 -0
  30. package/dist/{chunk-PWRCPRYF.js → chunk-R4AG75VT.js} +2 -2
  31. package/dist/{chunk-53LR6LMF.js → chunk-RIHUVOTZ.js} +2 -2
  32. package/dist/{chunk-JDEWLQHH.js → chunk-RQBIHTZO.js} +1 -1
  33. package/dist/{chunk-TNMW3LIC.js → chunk-RYCR3HAC.js} +4 -4
  34. package/dist/{chunk-2SDOBAYI.js → chunk-TC56HMSX.js} +2 -2
  35. package/dist/{chunk-A6332THM.js → chunk-UBJFL3ZW.js} +3 -3
  36. package/dist/{chunk-AI356RID.js → chunk-UQL55KPP.js} +3 -3
  37. package/dist/{chunk-SR3SWOX7.js → chunk-V77NDZPE.js} +1 -1
  38. package/dist/{chunk-ZZX3RSJM.js → chunk-VQ6RVQVH.js} +1 -1
  39. package/dist/{chunk-AKK6NTGD.js → chunk-XF3KOCXY.js} +1 -1
  40. package/dist/{chunk-A4LZLJ4E.js → chunk-ZC2N4I37.js} +2 -2
  41. package/dist/{chunk-Y5WRSDBM.js → chunk-ZPCPWVPN.js} +3 -3
  42. package/dist/{cli-LOINYVA4.js → cli-4G4Z26BL.js} +87 -87
  43. package/dist/commands-JPUDJKNX.js +51 -0
  44. package/dist/{config-ESCUISGA.js → config-YZNZQLXL.js} +4 -4
  45. package/dist/{context-A6RYVYH3.js → context-EZ47E5Q5.js} +7 -5
  46. package/dist/{customCommands-NP3YOHBP.js → customCommands-G527FNNJ.js} +4 -4
  47. package/dist/{env-QM2GQKSL.js → env-MZGL75G3.js} +2 -2
  48. package/dist/{file-COGPZQB2.js → file-MUZCEO7B.js} +4 -4
  49. package/dist/index.js +3 -3
  50. package/dist/{llm-DZMLOCDR.js → llm-NC2ZA7BQ.js} +29 -29
  51. package/dist/{llmLazy-L4VAGXRS.js → llmLazy-XNMS7UPG.js} +1 -1
  52. package/dist/{loader-J7FDM25W.js → loader-W35B3CAM.js} +4 -4
  53. package/dist/{lsp-ZJDBSAGL.js → lsp-VUBIB4E2.js} +6 -6
  54. package/dist/{lspAnchor-QUM3YKRZ.js → lspAnchor-4WXOLJUM.js} +6 -6
  55. package/dist/{mcp-TYRRTRZO.js → mcp-5P3ONWR7.js} +7 -7
  56. package/dist/{mentionProcessor-VBRYWNJ6.js → mentionProcessor-GCQ5NHV3.js} +5 -5
  57. package/dist/{messages-TI35HRUJ.js → messages-YTLYB5DI.js} +1 -1
  58. package/dist/{model-CYQGPU6S.js → model-HBR6OZOT.js} +5 -5
  59. package/dist/{openai-YJXPABCZ.js → openai-MS35XWNU.js} +5 -5
  60. package/dist/{outputStyles-54CH4AXQ.js → outputStyles-OWR2UZBL.js} +4 -4
  61. package/dist/{pluginRuntime-HUH43L3E.js → pluginRuntime-SN4Y5PIT.js} +6 -6
  62. package/dist/{pluginValidation-YZQAIFOB.js → pluginValidation-6DFK5G6T.js} +6 -6
  63. package/dist/prompts-ILVJ75E2.js +53 -0
  64. package/dist/{pybAgentSessionLoad-IDX6CZ7W.js → pybAgentSessionLoad-OLPYFTYS.js} +4 -4
  65. package/dist/{pybAgentSessionResume-G7CNXIM2.js → pybAgentSessionResume-VJ6G5ZUT.js} +4 -4
  66. package/dist/{pybAgentStreamJsonSession-4DK6ZF6D.js → pybAgentStreamJsonSession-GGISSUF3.js} +1 -1
  67. package/dist/{pybHooks-6NZEXF2Y.js → pybHooks-TFWZEUMM.js} +4 -4
  68. package/dist/query-DEBIJVZX.js +61 -0
  69. package/dist/{registry-MYSH5C4A.js → registry-U3FUZUBO.js} +5 -5
  70. package/dist/{ripgrep-UDJTJUDM.js → ripgrep-EMJZZFWK.js} +3 -3
  71. package/dist/{skillMarketplace-QUB6SCI3.js → skillMarketplace-FXCBEE6R.js} +3 -3
  72. package/dist/{state-H3ASL5UP.js → state-BMWIIFPG.js} +2 -2
  73. package/dist/{theme-N2PDKHSA.js → theme-J6RWKV4W.js} +5 -5
  74. package/dist/{toolPermissionSettings-H3A4FEPL.js → toolPermissionSettings-DSH46ML7.js} +6 -6
  75. package/dist/tools-LFQ5NCA7.js +52 -0
  76. package/dist/{userInput-2C2HUFUT.js → userInput-JGJXNAKY.js} +30 -30
  77. package/package.json +1 -1
  78. package/dist/REPL-YIK4SNUK.js +0 -47
  79. package/dist/chunk-APVX3GSP.js.map +0 -7
  80. package/dist/chunk-BKLDKPLL.js.map +0 -7
  81. package/dist/chunk-JDY2JDD3.js.map +0 -7
  82. package/dist/chunk-UKADBDTZ.js.map +0 -7
  83. package/dist/commands-5MM7DHYR.js +0 -51
  84. package/dist/prompts-MKDGNXMZ.js +0 -53
  85. package/dist/query-3JMCOSE3.js +0 -59
  86. package/dist/tools-JKFSGTP2.js +0 -52
  87. /package/dist/{REPL-YIK4SNUK.js.map → REPL-7WPVB4IF.js.map} +0 -0
  88. /package/dist/{acp-EVHOGBLR.js.map → acp-IP2EUY3O.js.map} +0 -0
  89. /package/dist/{agentsValidate-SX5WCTHD.js.map → agentsValidate-YGYIFZ2Q.js.map} +0 -0
  90. /package/dist/{ask-5256RCJR.js.map → ask-RXRDLJ2Q.js.map} +0 -0
  91. /package/dist/{autoUpdater-62OEX27S.js.map → autoUpdater-WXXGD5CW.js.map} +0 -0
  92. /package/dist/{chunk-ARHVL4GY.js.map → chunk-2CQ6B2EF.js.map} +0 -0
  93. /package/dist/{chunk-D5GRAD3G.js.map → chunk-2OZWUTJN.js.map} +0 -0
  94. /package/dist/{chunk-B55DFBEO.js.map → chunk-3ZXF2UHD.js.map} +0 -0
  95. /package/dist/{chunk-PBKTN6PS.js.map → chunk-7VDXI7AR.js.map} +0 -0
  96. /package/dist/{chunk-RCEEY77V.js.map → chunk-BKPUVKNL.js.map} +0 -0
  97. /package/dist/{chunk-OUXWQ5VS.js.map → chunk-CH6GH2PY.js.map} +0 -0
  98. /package/dist/{chunk-P5OMB2NR.js.map → chunk-DNDIMOXI.js.map} +0 -0
  99. /package/dist/{chunk-TATJD3PS.js.map → chunk-EYQDSK5K.js.map} +0 -0
  100. /package/dist/{chunk-HQU5FX5A.js.map → chunk-G75MDYMO.js.map} +0 -0
  101. /package/dist/{chunk-NQNSJDW7.js.map → chunk-GZJWX5KE.js.map} +0 -0
  102. /package/dist/{chunk-ZJIMLKMQ.js.map → chunk-NH77UCWT.js.map} +0 -0
  103. /package/dist/{chunk-GGBJ6RZQ.js.map → chunk-OM6GCBT3.js.map} +0 -0
  104. /package/dist/{chunk-PWRCPRYF.js.map → chunk-R4AG75VT.js.map} +0 -0
  105. /package/dist/{chunk-53LR6LMF.js.map → chunk-RIHUVOTZ.js.map} +0 -0
  106. /package/dist/{chunk-JDEWLQHH.js.map → chunk-RQBIHTZO.js.map} +0 -0
  107. /package/dist/{chunk-TNMW3LIC.js.map → chunk-RYCR3HAC.js.map} +0 -0
  108. /package/dist/{chunk-2SDOBAYI.js.map → chunk-TC56HMSX.js.map} +0 -0
  109. /package/dist/{chunk-A6332THM.js.map → chunk-UBJFL3ZW.js.map} +0 -0
  110. /package/dist/{chunk-AI356RID.js.map → chunk-UQL55KPP.js.map} +0 -0
  111. /package/dist/{chunk-SR3SWOX7.js.map → chunk-V77NDZPE.js.map} +0 -0
  112. /package/dist/{chunk-ZZX3RSJM.js.map → chunk-VQ6RVQVH.js.map} +0 -0
  113. /package/dist/{chunk-AKK6NTGD.js.map → chunk-XF3KOCXY.js.map} +0 -0
  114. /package/dist/{chunk-A4LZLJ4E.js.map → chunk-ZC2N4I37.js.map} +0 -0
  115. /package/dist/{chunk-Y5WRSDBM.js.map → chunk-ZPCPWVPN.js.map} +0 -0
  116. /package/dist/{cli-LOINYVA4.js.map → cli-4G4Z26BL.js.map} +0 -0
  117. /package/dist/{commands-5MM7DHYR.js.map → commands-JPUDJKNX.js.map} +0 -0
  118. /package/dist/{config-ESCUISGA.js.map → config-YZNZQLXL.js.map} +0 -0
  119. /package/dist/{context-A6RYVYH3.js.map → context-EZ47E5Q5.js.map} +0 -0
  120. /package/dist/{customCommands-NP3YOHBP.js.map → customCommands-G527FNNJ.js.map} +0 -0
  121. /package/dist/{env-QM2GQKSL.js.map → env-MZGL75G3.js.map} +0 -0
  122. /package/dist/{file-COGPZQB2.js.map → file-MUZCEO7B.js.map} +0 -0
  123. /package/dist/{llm-DZMLOCDR.js.map → llm-NC2ZA7BQ.js.map} +0 -0
  124. /package/dist/{llmLazy-L4VAGXRS.js.map → llmLazy-XNMS7UPG.js.map} +0 -0
  125. /package/dist/{loader-J7FDM25W.js.map → loader-W35B3CAM.js.map} +0 -0
  126. /package/dist/{lsp-ZJDBSAGL.js.map → lsp-VUBIB4E2.js.map} +0 -0
  127. /package/dist/{lspAnchor-QUM3YKRZ.js.map → lspAnchor-4WXOLJUM.js.map} +0 -0
  128. /package/dist/{mcp-TYRRTRZO.js.map → mcp-5P3ONWR7.js.map} +0 -0
  129. /package/dist/{mentionProcessor-VBRYWNJ6.js.map → mentionProcessor-GCQ5NHV3.js.map} +0 -0
  130. /package/dist/{messages-TI35HRUJ.js.map → messages-YTLYB5DI.js.map} +0 -0
  131. /package/dist/{model-CYQGPU6S.js.map → model-HBR6OZOT.js.map} +0 -0
  132. /package/dist/{openai-YJXPABCZ.js.map → openai-MS35XWNU.js.map} +0 -0
  133. /package/dist/{outputStyles-54CH4AXQ.js.map → outputStyles-OWR2UZBL.js.map} +0 -0
  134. /package/dist/{pluginRuntime-HUH43L3E.js.map → pluginRuntime-SN4Y5PIT.js.map} +0 -0
  135. /package/dist/{pluginValidation-YZQAIFOB.js.map → pluginValidation-6DFK5G6T.js.map} +0 -0
  136. /package/dist/{prompts-MKDGNXMZ.js.map → prompts-ILVJ75E2.js.map} +0 -0
  137. /package/dist/{pybAgentSessionLoad-IDX6CZ7W.js.map → pybAgentSessionLoad-OLPYFTYS.js.map} +0 -0
  138. /package/dist/{pybAgentSessionResume-G7CNXIM2.js.map → pybAgentSessionResume-VJ6G5ZUT.js.map} +0 -0
  139. /package/dist/{pybAgentStreamJsonSession-4DK6ZF6D.js.map → pybAgentStreamJsonSession-GGISSUF3.js.map} +0 -0
  140. /package/dist/{pybHooks-6NZEXF2Y.js.map → pybHooks-TFWZEUMM.js.map} +0 -0
  141. /package/dist/{query-3JMCOSE3.js.map → query-DEBIJVZX.js.map} +0 -0
  142. /package/dist/{registry-MYSH5C4A.js.map → registry-U3FUZUBO.js.map} +0 -0
  143. /package/dist/{ripgrep-UDJTJUDM.js.map → ripgrep-EMJZZFWK.js.map} +0 -0
  144. /package/dist/{skillMarketplace-QUB6SCI3.js.map → skillMarketplace-FXCBEE6R.js.map} +0 -0
  145. /package/dist/{state-H3ASL5UP.js.map → state-BMWIIFPG.js.map} +0 -0
  146. /package/dist/{theme-N2PDKHSA.js.map → theme-J6RWKV4W.js.map} +0 -0
  147. /package/dist/{toolPermissionSettings-H3A4FEPL.js.map → toolPermissionSettings-DSH46ML7.js.map} +0 -0
  148. /package/dist/{tools-JKFSGTP2.js.map → tools-LFQ5NCA7.js.map} +0 -0
  149. /package/dist/{userInput-2C2HUFUT.js.map → userInput-JGJXNAKY.js.map} +0 -0
@@ -4,7 +4,7 @@ const require = __pybCreateRequire(import.meta.url);
4
4
  // package.json
5
5
  var package_default = {
6
6
  name: "pybao-cli",
7
- version: "1.3.93",
7
+ version: "1.3.95",
8
8
  bin: {
9
9
  pyb: "cli.js",
10
10
  "pyb-acp": "cli-acp.js"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../package.json", "../src/constants/macros.ts"],
4
- "sourcesContent": ["{\n \"name\": \"pybao-cli\",\n \"version\": \"1.3.93\",\n \"bin\": {\n \"pyb\": \"cli.js\",\n \"pyb-acp\": \"cli-acp.js\"\n },\n \"engines\": {\n \"node\": \">=20.18.1\"\n },\n \"main\": \"cli.js\",\n \"author\": \"PYB-XC\",\n \"license\": \"MIT\",\n \"description\": \"PYB-CLI - Minimal AI Agent with multi-model support and CLI interface\",\n \"keywords\": [\n \"ai\",\n \"agent\",\n \"minimal\",\n \"claude\"\n ],\n \"homepage\": \"https://github.com/pyb-xc/pyb-ts\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/pyb-xc/pyb-ts.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/pyb-xc/pyb-ts/issues\"\n },\n \"files\": [\n \"cli.js\",\n \"cli-acp.js\",\n \"yoga.wasm\",\n \"dist/**/*\",\n \"scripts/binary-utils.cjs\",\n \"scripts/cli-wrapper.cjs\",\n \"scripts/cli-acp-wrapper.cjs\",\n \"scripts/postinstall.js\",\n \".npmrc\",\n \"resources/**/*\"\n ],\n \"scripts\": {\n \"dev\": \"bun run ./src/entrypoints/cli.tsx --verbose\",\n \"build:npm\": \"bun scripts/build.mjs\",\n \"build\": \"npm run build:npm\",\n \"build:binary\": \"node scripts/build-binary.mjs\",\n \"clean\": \"node scripts/clean.mjs\",\n \"prepublishOnly\": \"npm run build:npm && node scripts/prepublish-check.js\",\n \"postinstall\": \"node scripts/postinstall.js || true\",\n \"format\": \"prettier --write \\\"src/**/*.{ts,tsx,js,jsx,json}\\\" \\\"tests/**/*.{ts,tsx,js,jsx,json}\\\"\",\n \"format:check\": \"prettier --check \\\"src/**/*.{ts,tsx,js,jsx,json}\\\" \\\"tests/**/*.{ts,tsx,js,jsx,json}\\\"\",\n \"lint\": \"eslint . --ext .ts,.tsx,.js --max-warnings 0\",\n \"lint:fix\": \"eslint . --ext .ts,.tsx,.js --fix\",\n \"test\": \"bun test\",\n \"test:unit\": \"bun test tests/unit\",\n \"test:integration\": \"bun test tests/integration\",\n \"test:e2e\": \"bun test tests/e2e\",\n \"typecheck\": \"tsc --noEmit\",\n \"prepare\": \"bun run scripts/install-hooks.mjs\",\n \"publish:dev\": \"bun run scripts/publish-dev.js\",\n \"publish:release\": \"bun run scripts/publish-release.js\",\n \"bench:startup\": \"bun run scripts/bench-startup.mjs\",\n \"parity:reference\": \"bun run scripts/reference-parity-check.mjs\"\n },\n \"dependencies\": {\n \"@anthropic-ai/bedrock-sdk\": \"^0.12.6\",\n \"@anthropic-ai/sdk\": \"^0.39.0\",\n \"@anthropic-ai/vertex-sdk\": \"^0.7.0\",\n \"@astrojs/language-server\": \"2.16.2\",\n \"@aws-sdk/client-bedrock-runtime\": \"3.797.0\",\n \"@commander-js/extra-typings\": \"^13.1.0\",\n \"@inkjs/ui\": \"^2.0.0\",\n \"@modelcontextprotocol/sdk\": \"^1.15.1\",\n \"@prisma/language-server\": \"31.3.4\",\n \"@types/lodash-es\": \"^4.17.12\",\n \"@types/react\": \"^19.1.8\",\n \"@vscode/ripgrep\": \"^1.17.0\",\n \"@vue/language-server\": \"3.2.2\",\n \"ajv\": \"^8.17.1\",\n \"ansi-escapes\": \"^7.0.0\",\n \"bash-language-server\": \"5.6.0\",\n \"chalk\": \"^5.4.1\",\n \"cli-highlight\": \"^2.1.11\",\n \"cli-table3\": \"^0.6.5\",\n \"commander\": \"^13.1.0\",\n \"debug\": \"^4.4.1\",\n \"diff\": \"^7.0.0\",\n \"dockerfile-language-server-nodejs\": \"0.15.0\",\n \"dotenv\": \"^16.6.1\",\n \"env-paths\": \"^3.0.0\",\n \"fflate\": \"^0.8.2\",\n \"figures\": \"^6.1.0\",\n \"glob\": \"^11.0.3\",\n \"graphql-language-service-cli\": \"3.5.0\",\n \"gray-matter\": \"^4.0.3\",\n \"highlight.js\": \"^11.11.1\",\n \"ignore\": \"^7.0.5\",\n \"ink\": \"5.2.1\",\n \"ink-link\": \"^4.1.0\",\n \"ink-select-input\": \"^6.2.0\",\n \"ink-text-input\": \"^6.0.0\",\n \"intelephense\": \"1.16.3\",\n \"js-yaml\": \"^4.1.1\",\n \"lodash-es\": \"^4.17.21\",\n \"lru-cache\": \"^11.1.0\",\n \"marked\": \"^15.0.12\",\n \"minimatch\": \"^10.1.1\",\n \"nanoid\": \"^5.1.5\",\n \"node-html-parser\": \"^7.0.1\",\n \"openai\": \"4.104.0\",\n \"pyright\": \"1.1.408\",\n \"react\": \"18.3.1\",\n \"semver\": \"^7.7.2\",\n \"shell-quote\": \"1.8.3\",\n \"spawn-rx\": \"^5.1.2\",\n \"string-width\": \"^7.2.0\",\n \"strip-ansi\": \"^7.1.0\",\n \"svelte-language-server\": \"0.17.23\",\n \"tsx\": \"^4.20.3\",\n \"typescript-language-server\": \"5.1.3\",\n \"undici\": \"^7.11.0\",\n \"vscode-jsonrpc\": \"8.2.1\",\n \"vscode-langservers-extracted\": \"4.10.0\",\n \"web-tree-sitter\": \"0.25.10\",\n \"which\": \"^6.0.0\",\n \"wrap-ansi\": \"^9.0.0\",\n \"yaml-language-server\": \"1.19.2\",\n \"zod\": \"^3.25.76\",\n \"zod-to-json-schema\": \"^3.24.6\"\n },\n \"devDependencies\": {\n \"@types/bun\": \"latest\",\n \"@types/jest\": \"^30.0.0\",\n \"@types/node\": \"^24.1.0\",\n \"@types/which\": \"^3.0.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.50.1\",\n \"@typescript-eslint/parser\": \"^8.50.1\",\n \"abort-controller\": \"3.0.0\",\n \"bun-types\": \"latest\",\n \"cheerio\": \"1.1.2\",\n \"esbuild\": \"^0.25.9\",\n \"eslint\": \"8.57.0\",\n \"eslint-plugin-react-hooks\": \"^7.0.1\",\n \"ink-testing-library\": \"4.0.0\",\n \"node-fetch\": \"3.3.2\",\n \"prettier\": \"^3.6.2\",\n \"react-devtools-core\": \"^7.0.1\",\n \"tree-sitter-bash\": \"0.25.1\",\n \"tree-sitter-c-sharp\": \"0.23.1\",\n \"tree-sitter-clojure\": \"0.4.0\",\n \"tree-sitter-cpp\": \"0.23.4\",\n \"tree-sitter-go\": \"0.25.0\",\n \"tree-sitter-haskell\": \"0.23.1\",\n \"tree-sitter-java\": \"0.23.5\",\n \"tree-sitter-julia\": \"0.23.1\",\n \"tree-sitter-nix\": \"0.0.2\",\n \"tree-sitter-ocaml\": \"0.24.2\",\n \"tree-sitter-python\": \"0.25.0\",\n \"tree-sitter-rust\": \"0.24.0\",\n \"tree-sitter-scala\": \"0.24.0\",\n \"tree-sitter-swift\": \"0.7.1\",\n \"tree-sitter-typescript\": \"0.23.2\",\n \"turndown\": \"7.2.2\",\n \"typescript\": \"^5.9.2\"\n },\n \"overrides\": {\n \"@aws-sdk/client-bedrock-runtime\": \"3.797.0\",\n \"@smithy/smithy-client\": \"2.5.1\"\n }\n}\n", "import pkg from '../../package.json'\n\nexport const MACRO = {\n VERSION: pkg.version,\n README_URL: 'https://github.com/pyb-xc/pyb-ts#readme',\n PACKAGE_URL: 'pybao-cli',\n ISSUES_EXPLAINER:\n 'report the issue at https://github.com/pyb-xc/pyb-ts/issues',\n}\n"],
4
+ "sourcesContent": ["{\n \"name\": \"pybao-cli\",\n \"version\": \"1.3.95\",\n \"bin\": {\n \"pyb\": \"cli.js\",\n \"pyb-acp\": \"cli-acp.js\"\n },\n \"engines\": {\n \"node\": \">=20.18.1\"\n },\n \"main\": \"cli.js\",\n \"author\": \"PYB-XC\",\n \"license\": \"MIT\",\n \"description\": \"PYB-CLI - Minimal AI Agent with multi-model support and CLI interface\",\n \"keywords\": [\n \"ai\",\n \"agent\",\n \"minimal\",\n \"claude\"\n ],\n \"homepage\": \"https://github.com/pyb-xc/pyb-ts\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/pyb-xc/pyb-ts.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/pyb-xc/pyb-ts/issues\"\n },\n \"files\": [\n \"cli.js\",\n \"cli-acp.js\",\n \"yoga.wasm\",\n \"dist/**/*\",\n \"scripts/binary-utils.cjs\",\n \"scripts/cli-wrapper.cjs\",\n \"scripts/cli-acp-wrapper.cjs\",\n \"scripts/postinstall.js\",\n \".npmrc\",\n \"resources/**/*\"\n ],\n \"scripts\": {\n \"dev\": \"bun run ./src/entrypoints/cli.tsx --verbose\",\n \"build:npm\": \"bun scripts/build.mjs\",\n \"build\": \"npm run build:npm\",\n \"build:binary\": \"node scripts/build-binary.mjs\",\n \"clean\": \"node scripts/clean.mjs\",\n \"prepublishOnly\": \"npm run build:npm && node scripts/prepublish-check.js\",\n \"postinstall\": \"node scripts/postinstall.js || true\",\n \"format\": \"prettier --write \\\"src/**/*.{ts,tsx,js,jsx,json}\\\" \\\"tests/**/*.{ts,tsx,js,jsx,json}\\\"\",\n \"format:check\": \"prettier --check \\\"src/**/*.{ts,tsx,js,jsx,json}\\\" \\\"tests/**/*.{ts,tsx,js,jsx,json}\\\"\",\n \"lint\": \"eslint . --ext .ts,.tsx,.js --max-warnings 0\",\n \"lint:fix\": \"eslint . --ext .ts,.tsx,.js --fix\",\n \"test\": \"bun test\",\n \"test:unit\": \"bun test tests/unit\",\n \"test:integration\": \"bun test tests/integration\",\n \"test:e2e\": \"bun test tests/e2e\",\n \"typecheck\": \"tsc --noEmit\",\n \"prepare\": \"bun run scripts/install-hooks.mjs\",\n \"publish:dev\": \"bun run scripts/publish-dev.js\",\n \"publish:release\": \"bun run scripts/publish-release.js\",\n \"bench:startup\": \"bun run scripts/bench-startup.mjs\",\n \"parity:reference\": \"bun run scripts/reference-parity-check.mjs\"\n },\n \"dependencies\": {\n \"@anthropic-ai/bedrock-sdk\": \"^0.12.6\",\n \"@anthropic-ai/sdk\": \"^0.39.0\",\n \"@anthropic-ai/vertex-sdk\": \"^0.7.0\",\n \"@astrojs/language-server\": \"2.16.2\",\n \"@aws-sdk/client-bedrock-runtime\": \"3.797.0\",\n \"@commander-js/extra-typings\": \"^13.1.0\",\n \"@inkjs/ui\": \"^2.0.0\",\n \"@modelcontextprotocol/sdk\": \"^1.15.1\",\n \"@prisma/language-server\": \"31.3.4\",\n \"@types/lodash-es\": \"^4.17.12\",\n \"@types/react\": \"^19.1.8\",\n \"@vscode/ripgrep\": \"^1.17.0\",\n \"@vue/language-server\": \"3.2.2\",\n \"ajv\": \"^8.17.1\",\n \"ansi-escapes\": \"^7.0.0\",\n \"bash-language-server\": \"5.6.0\",\n \"chalk\": \"^5.4.1\",\n \"cli-highlight\": \"^2.1.11\",\n \"cli-table3\": \"^0.6.5\",\n \"commander\": \"^13.1.0\",\n \"debug\": \"^4.4.1\",\n \"diff\": \"^7.0.0\",\n \"dockerfile-language-server-nodejs\": \"0.15.0\",\n \"dotenv\": \"^16.6.1\",\n \"env-paths\": \"^3.0.0\",\n \"fflate\": \"^0.8.2\",\n \"figures\": \"^6.1.0\",\n \"glob\": \"^11.0.3\",\n \"graphql-language-service-cli\": \"3.5.0\",\n \"gray-matter\": \"^4.0.3\",\n \"highlight.js\": \"^11.11.1\",\n \"ignore\": \"^7.0.5\",\n \"ink\": \"5.2.1\",\n \"ink-link\": \"^4.1.0\",\n \"ink-select-input\": \"^6.2.0\",\n \"ink-text-input\": \"^6.0.0\",\n \"intelephense\": \"1.16.3\",\n \"js-yaml\": \"^4.1.1\",\n \"lodash-es\": \"^4.17.21\",\n \"lru-cache\": \"^11.1.0\",\n \"marked\": \"^15.0.12\",\n \"minimatch\": \"^10.1.1\",\n \"nanoid\": \"^5.1.5\",\n \"node-html-parser\": \"^7.0.1\",\n \"openai\": \"4.104.0\",\n \"pyright\": \"1.1.408\",\n \"react\": \"18.3.1\",\n \"semver\": \"^7.7.2\",\n \"shell-quote\": \"1.8.3\",\n \"spawn-rx\": \"^5.1.2\",\n \"string-width\": \"^7.2.0\",\n \"strip-ansi\": \"^7.1.0\",\n \"svelte-language-server\": \"0.17.23\",\n \"tsx\": \"^4.20.3\",\n \"typescript-language-server\": \"5.1.3\",\n \"undici\": \"^7.11.0\",\n \"vscode-jsonrpc\": \"8.2.1\",\n \"vscode-langservers-extracted\": \"4.10.0\",\n \"web-tree-sitter\": \"0.25.10\",\n \"which\": \"^6.0.0\",\n \"wrap-ansi\": \"^9.0.0\",\n \"yaml-language-server\": \"1.19.2\",\n \"zod\": \"^3.25.76\",\n \"zod-to-json-schema\": \"^3.24.6\"\n },\n \"devDependencies\": {\n \"@types/bun\": \"latest\",\n \"@types/jest\": \"^30.0.0\",\n \"@types/node\": \"^24.1.0\",\n \"@types/which\": \"^3.0.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.50.1\",\n \"@typescript-eslint/parser\": \"^8.50.1\",\n \"abort-controller\": \"3.0.0\",\n \"bun-types\": \"latest\",\n \"cheerio\": \"1.1.2\",\n \"esbuild\": \"^0.25.9\",\n \"eslint\": \"8.57.0\",\n \"eslint-plugin-react-hooks\": \"^7.0.1\",\n \"ink-testing-library\": \"4.0.0\",\n \"node-fetch\": \"3.3.2\",\n \"prettier\": \"^3.6.2\",\n \"react-devtools-core\": \"^7.0.1\",\n \"tree-sitter-bash\": \"0.25.1\",\n \"tree-sitter-c-sharp\": \"0.23.1\",\n \"tree-sitter-clojure\": \"0.4.0\",\n \"tree-sitter-cpp\": \"0.23.4\",\n \"tree-sitter-go\": \"0.25.0\",\n \"tree-sitter-haskell\": \"0.23.1\",\n \"tree-sitter-java\": \"0.23.5\",\n \"tree-sitter-julia\": \"0.23.1\",\n \"tree-sitter-nix\": \"0.0.2\",\n \"tree-sitter-ocaml\": \"0.24.2\",\n \"tree-sitter-python\": \"0.25.0\",\n \"tree-sitter-rust\": \"0.24.0\",\n \"tree-sitter-scala\": \"0.24.0\",\n \"tree-sitter-swift\": \"0.7.1\",\n \"tree-sitter-typescript\": \"0.23.2\",\n \"turndown\": \"7.2.2\",\n \"typescript\": \"^5.9.2\"\n },\n \"overrides\": {\n \"@aws-sdk/client-bedrock-runtime\": \"3.797.0\",\n \"@smithy/smithy-client\": \"2.5.1\"\n }\n}\n", "import pkg from '../../package.json'\n\nexport const MACRO = {\n VERSION: pkg.version,\n README_URL: 'https://github.com/pyb-xc/pyb-ts#readme',\n PACKAGE_URL: 'pybao-cli',\n ISSUES_EXPLAINER:\n 'report the issue at https://github.com/pyb-xc/pyb-ts/issues',\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -5,14 +5,14 @@ import {
5
5
  } from "./chunk-B6IMQJZM.js";
6
6
  import {
7
7
  loadSettingsWithLegacyFallback
8
- } from "./chunk-AKK6NTGD.js";
8
+ } from "./chunk-XF3KOCXY.js";
9
9
  import {
10
10
  getSessionPlugins
11
11
  } from "./chunk-BJSWTHRM.js";
12
12
  import {
13
13
  getCwd,
14
14
  logError
15
- } from "./chunk-ZZX3RSJM.js";
15
+ } from "./chunk-VQ6RVQVH.js";
16
16
 
17
17
  // src/utils/session/pybHooks.ts
18
18
  import { spawn } from "child_process";
@@ -496,7 +496,7 @@ async function runPromptHook(args) {
496
496
  fallbackTimeoutMs: args.fallbackTimeoutMs
497
497
  });
498
498
  try {
499
- const { queryQuick } = await import("./llmLazy-L4VAGXRS.js");
499
+ const { queryQuick } = await import("./llmLazy-XNMS7UPG.js");
500
500
  const systemPrompt = [
501
501
  "You are executing a Pyb prompt hook.",
502
502
  "Return a single JSON object only (no markdown, no prose).",
@@ -4,7 +4,7 @@ import {
4
4
  BunShell,
5
5
  execFileNoThrow,
6
6
  logError
7
- } from "./chunk-ZZX3RSJM.js";
7
+ } from "./chunk-VQ6RVQVH.js";
8
8
 
9
9
  // src/utils/system/ripgrep.ts
10
10
  import { findActualExecutable } from "spawn-rx";
@@ -227,7 +227,8 @@ async function ripGrepWithStatus(args, target, abortSignal, options) {
227
227
  if (options?.sandbox?.enabled === true) {
228
228
  const cmd = quote([rg, ...args, target]);
229
229
  const result = await BunShell.getInstance().exec(cmd, abortSignal, 1e4, {
230
- sandbox: options.sandbox
230
+ sandbox: options.sandbox,
231
+ cwd: options.cwd
231
232
  });
232
233
  if (result.code === 1) return { files: [], status: "ok", code: 1 };
233
234
  if (result.code !== 0) {
@@ -250,7 +251,8 @@ async function ripGrepWithStatus(args, target, abortSignal, options) {
250
251
  const proc2 = bun.spawn([rg, ...args, target], {
251
252
  stdout: "pipe",
252
253
  stderr: "pipe",
253
- signal: abortSignal
254
+ signal: abortSignal,
255
+ cwd: options?.cwd
254
256
  });
255
257
  const readStdout = async () => {
256
258
  const reader = proc2.stdout.getReader();
@@ -294,7 +296,8 @@ async function ripGrepWithStatus(args, target, abortSignal, options) {
294
296
  }
295
297
  const proc = spawn(rg, [...args, target], {
296
298
  signal: abortSignal,
297
- timeout: 1e4
299
+ timeout: 1e4,
300
+ cwd: options?.cwd
298
301
  });
299
302
  const files = [];
300
303
  let buffer = "";
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/utils/system/ripgrep.ts"],
4
+ "sourcesContent": ["import { findActualExecutable } from 'spawn-rx'\nimport { memoize } from 'lodash-es'\nimport {\n chmodSync,\n closeSync,\n copyFileSync,\n existsSync,\n mkdirSync,\n mkdtempSync,\n openSync,\n readdirSync,\n rmSync,\n statSync,\n writeFileSync,\n} from 'node:fs'\nimport { execFile, spawn } from 'child_process'\nimport debug from 'debug'\nimport { quote } from 'shell-quote'\nimport { logError } from '@utils/log'\nimport { execFileNoThrow } from '@utils/system/execFileNoThrow'\nimport type { BunShellSandboxOptions } from '@utils/bun/shell'\nimport { BunShell } from '@utils/bun/shell'\nimport { basename, isAbsolute, join, relative, sep } from 'path'\nimport envPaths from 'env-paths'\nimport { unzipSync } from 'fflate'\n\nconst d = debug('pyb:ripgrep')\n\nconst DEFAULT_RIPGREP_VERSION = '14.1.1'\nconst PLATFORM_CONFIG = {\n 'arm64-darwin': { platform: 'aarch64-apple-darwin', extension: 'tar.gz' },\n 'arm64-linux': { platform: 'aarch64-unknown-linux-gnu', extension: 'tar.gz' },\n 'x64-darwin': { platform: 'x86_64-apple-darwin', extension: 'tar.gz' },\n 'x64-linux': { platform: 'x86_64-unknown-linux-musl', extension: 'tar.gz' },\n 'x64-win32': { platform: 'x86_64-pc-windows-msvc', extension: 'zip' },\n} as const\n\nfunction isTruthyEnv(value: string | undefined): boolean {\n if (!value) return false\n return ['1', 'true', 'yes', 'on'].includes(value.trim().toLowerCase())\n}\n\nfunction getRipgrepVersion(): string {\n const override = process.env.PYB_RIPGREP_VERSION?.trim()\n return override || DEFAULT_RIPGREP_VERSION\n}\n\nfunction getRipgrepBinaryName(): string {\n return process.platform === 'win32' ? 'rg.exe' : 'rg'\n}\n\nfunction getPlatformConfig() {\n const platformKey = `${process.arch}-${process.platform}` as keyof typeof PLATFORM_CONFIG\n const config = PLATFORM_CONFIG[platformKey]\n if (!config) {\n throw new Error(`Unsupported ripgrep platform: ${platformKey}`)\n }\n return { platformKey, ...config }\n}\n\nfunction getRipgrepCacheRoot(): string {\n const override = process.env.PYB_RIPGREP_CACHE_DIR?.trim()\n if (override) return override\n const paths = envPaths('pyb')\n return join(paths.cache, 'ripgrep')\n}\n\nfunction getDownloadBaseUrl(version: string): string {\n const override = process.env.PYB_RIPGREP_DOWNLOAD_BASE_URL?.trim()\n if (!override) {\n return `https://github.com/BurntSushi/ripgrep/releases/download/${version}`\n }\n if (override.includes('{version}')) {\n return override.replace('{version}', version)\n }\n return `${override.replace(/\\/$/, '')}/${version}`\n}\n\nasync function delay(ms: number): Promise<void> {\n await new Promise(resolve => setTimeout(resolve, ms))\n}\n\nfunction findFileRecursive(root: string, filename: string): string | null {\n const entries = readdirSync(root, { withFileTypes: true })\n for (const entry of entries) {\n const full = join(root, entry.name)\n if (entry.isDirectory()) {\n const found = findFileRecursive(full, filename)\n if (found) return found\n } else if (entry.isFile() && entry.name === filename) {\n return full\n }\n }\n return null\n}\n\nasync function execFileChecked(\n command: string,\n args: string[],\n options: { cwd: string },\n): Promise<void> {\n await new Promise<void>((resolve, reject) => {\n execFile(\n command,\n args,\n { cwd: options.cwd, maxBuffer: 1_000_000 },\n (error, _stdout, stderr) => {\n if (error) {\n reject(\n new Error(\n `${command} ${args.join(' ')} failed: ${stderr || error.message}`,\n ),\n )\n } else {\n resolve()\n }\n },\n )\n })\n}\n\nasync function acquireLock(\n lockPath: string,\n readyPath: string,\n): Promise<number | null> {\n const start = Date.now()\n while (true) {\n try {\n return openSync(lockPath, 'wx')\n } catch (error: any) {\n if (error?.code !== 'EEXIST') {\n throw error\n }\n if (existsSync(readyPath)) return null\n if (Date.now() - start > 20000) {\n throw new Error('Timed out waiting for ripgrep download lock')\n }\n await delay(100)\n }\n }\n}\n\nasync function downloadRipgrepTo(cacheDir: string): Promise<string> {\n const { platform, extension, platformKey } = getPlatformConfig()\n const version = getRipgrepVersion()\n const filename = `ripgrep-${version}-${platform}.${extension}`\n const url = `${getDownloadBaseUrl(version)}/${filename}`\n const response = await fetch(url)\n if (!response.ok) {\n throw new Error(\n `Failed to download ripgrep (${response.status}): ${url}`,\n )\n }\n const buffer = new Uint8Array(await response.arrayBuffer())\n const tempDir = mkdtempSync(join(cacheDir, 'tmp-'))\n try {\n const binaryName = getRipgrepBinaryName()\n const targetPath = join(cacheDir, binaryName)\n if (extension === 'zip') {\n const files = unzipSync(buffer)\n const entryName = Object.keys(files).find(name =>\n name.endsWith(binaryName),\n )\n if (!entryName) {\n throw new Error(`ripgrep binary not found in zip: ${filename}`)\n }\n writeFileSync(targetPath, files[entryName]!)\n } else {\n const archivePath = join(tempDir, filename)\n const extractDir = join(tempDir, 'extract')\n mkdirSync(extractDir, { recursive: true })\n writeFileSync(archivePath, buffer)\n await execFileChecked('tar', ['-xzf', archivePath, '-C', extractDir], {\n cwd: tempDir,\n })\n const extracted = findFileRecursive(extractDir, binaryName)\n if (!extracted) {\n throw new Error(\n `ripgrep binary not found after extraction: ${platformKey}`,\n )\n }\n copyFileSync(extracted, targetPath)\n }\n if (process.platform !== 'win32') {\n chmodSync(targetPath, 0o755)\n }\n return targetPath\n } finally {\n rmSync(tempDir, { recursive: true, force: true })\n }\n}\n\nasync function ensureCachedRipgrep(): Promise<string> {\n const version = getRipgrepVersion()\n const { platformKey } = getPlatformConfig()\n const cacheRoot = getRipgrepCacheRoot()\n const cacheDir = join(cacheRoot, version, platformKey)\n const binaryPath = join(cacheDir, getRipgrepBinaryName())\n if (existsSync(binaryPath)) return binaryPath\n mkdirSync(cacheDir, { recursive: true })\n const lockPath = join(cacheDir, '.lock')\n const lockFd = await acquireLock(lockPath, binaryPath)\n if (!lockFd) return binaryPath\n try {\n if (!existsSync(binaryPath)) {\n await downloadRipgrepTo(cacheDir)\n }\n return binaryPath\n } finally {\n try {\n closeSync(lockFd)\n } catch {}\n rmSync(lockPath, { force: true })\n }\n}\n\nasync function resolveRipgrepPathOrThrow(): Promise<string> {\n const explicit = process.env.PYB_RIPGREP_PATH\n if (explicit) {\n if (!existsSync(explicit)) {\n throw new Error(`PYB_RIPGREP_PATH points to a missing file: ${explicit}`)\n }\n return explicit\n }\n\n const preferBundled = isTruthyEnv(process.env.USE_BUILTIN_RIPGREP)\n if (!preferBundled) {\n const { cmd } = findActualExecutable('rg', [])\n d(`ripgrep initially resolved as: ${cmd}`)\n if (cmd !== 'rg') {\n return cmd\n }\n }\n\n const cached = await ensureCachedRipgrep()\n d('Using cached ripgrep: %s', cached)\n return cached\n}\n\nexport const getRipgrepPath = memoize(\n async (): Promise<string> => resolveRipgrepPathOrThrow(),\n)\n\ntype RipGrepStatus = {\n files: string[]\n status: 'ok' | 'error'\n code?: number\n}\n\nexport async function ripGrepWithStatus(\n args: string[],\n target: string,\n abortSignal: AbortSignal,\n options?: { sandbox?: BunShellSandboxOptions; cwd?: string },\n): Promise<RipGrepStatus> {\n await codesignRipgrepIfNecessary()\n const rg = await getRipgrepPath()\n d('ripgrep called: %s %o', rg, target, args)\n\n if (options?.sandbox?.enabled === true) {\n const cmd = quote([rg, ...args, target])\n const result = await BunShell.getInstance().exec(cmd, abortSignal, 10_000, {\n sandbox: options.sandbox,\n cwd: options.cwd,\n })\n if (result.code === 1) return { files: [], status: 'ok', code: 1 }\n if (result.code !== 0) {\n logError(`ripgrep failed with exit code ${result.code}: ${result.stderr}`)\n return { files: [], status: 'error', code: result.code }\n }\n return {\n files: result.stdout.trim().split('\\n').filter(Boolean),\n status: 'ok',\n code: 0,\n }\n }\n\n return new Promise(resolve => {\n const bun = (globalThis as any).Bun\n if (bun?.spawn && typeof bun.spawn === 'function') {\n const files: string[] = []\n let buffer = ''\n let stderr = ''\n const decoder = new TextDecoder()\n const proc = bun.spawn([rg, ...args, target], {\n stdout: 'pipe',\n stderr: 'pipe',\n signal: abortSignal,\n cwd: options?.cwd,\n })\n const readStdout = async () => {\n const reader = proc.stdout.getReader()\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n buffer += decoder.decode(value, { stream: true })\n const parts = buffer.split(/\\r?\\n/)\n buffer = parts.pop() ?? ''\n for (const line of parts) {\n if (line) files.push(line)\n }\n }\n reader.releaseLock()\n }\n const readStderr = async () => {\n const reader = proc.stderr.getReader()\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n stderr += decoder.decode(value, { stream: true })\n }\n reader.releaseLock()\n }\n Promise.all([readStdout(), readStderr(), proc.exited])\n .then(([_, __, exitCode]) => {\n if (buffer) files.push(buffer)\n if (exitCode && exitCode !== 1) {\n if (stderr) {\n logError(`ripgrep failed with exit code ${exitCode}: ${stderr}`)\n }\n resolve({ files: [], status: 'error', code: exitCode })\n return\n }\n resolve({ files, status: 'ok', code: exitCode ?? 0 })\n })\n .catch(error => {\n d('ripgrep error: %o', error)\n logError(error)\n resolve({ files: [], status: 'error' })\n })\n return\n }\n const proc = spawn(rg, [...args, target], {\n signal: abortSignal,\n timeout: 10_000,\n cwd: options?.cwd,\n })\n const files: string[] = []\n let buffer = ''\n let stderr = ''\n proc.stdout?.on('data', chunk => {\n buffer += chunk.toString()\n const parts = buffer.split(/\\r?\\n/)\n buffer = parts.pop() ?? ''\n for (const line of parts) {\n if (line) files.push(line)\n }\n })\n proc.stderr?.on('data', chunk => {\n stderr += chunk.toString()\n })\n proc.on('error', error => {\n d('ripgrep error: %o', error)\n logError(error)\n })\n proc.on('close', code => {\n if (buffer.trim().length > 0) files.push(buffer.trim())\n if (code && code !== 1) {\n if (stderr) {\n logError(`ripgrep failed with exit code ${code}: ${stderr}`)\n }\n resolve({ files: [], status: 'error', code })\n return\n }\n resolve({\n files,\n status: 'ok',\n code: code ?? 0,\n })\n })\n })\n}\n\nexport async function ripGrep(\n args: string[],\n target: string,\n abortSignal: AbortSignal,\n options?: { sandbox?: BunShellSandboxOptions; cwd?: string },\n): Promise<string[]> {\n const result = await ripGrepWithStatus(args, target, abortSignal, options)\n return result.files\n}\n\nexport async function listAllContentFiles(\n path: string,\n abortSignal: AbortSignal,\n limit: number,\n): Promise<string[]> {\n try {\n d('listAllContentFiles called: %s', path)\n return (await ripGrep(['-l', '.', path], path, abortSignal)).slice(0, limit)\n } catch (e) {\n d('listAllContentFiles failed: %o', e)\n\n logError(e)\n return []\n }\n}\n\nlet alreadyDoneSignCheck = false\nasync function codesignRipgrepIfNecessary(): Promise<void> {\n if (process.platform !== 'darwin' || alreadyDoneSignCheck) {\n return\n }\n\n alreadyDoneSignCheck = true\n\n d('checking if ripgrep is already signed')\n const lines = (\n await execFileNoThrow(\n 'codesign',\n ['-vv', '-d', await getRipgrepPath()],\n undefined,\n undefined,\n false,\n )\n ).stdout.split('\\n')\n\n const needsSigned = lines.find(line => line.includes('linker-signed'))\n if (!needsSigned) {\n d('seems to be already signed')\n return\n }\n\n try {\n d('signing ripgrep')\n const signResult = await execFileNoThrow('codesign', [\n '--sign',\n '-',\n '--force',\n '--preserve-metadata=entitlements,requirements,flags,runtime',\n await getRipgrepPath(),\n ])\n\n if (signResult.code !== 0) {\n d('failed to sign ripgrep: %o', signResult)\n logError(\n `Failed to sign ripgrep: ${signResult.stdout} ${signResult.stderr}`,\n )\n }\n\n d('removing quarantine')\n const quarantineResult = await execFileNoThrow('xattr', [\n '-d',\n 'com.apple.quarantine',\n await getRipgrepPath(),\n ])\n\n if (quarantineResult.code !== 0) {\n d('failed to remove quarantine: %o', quarantineResult)\n logError(\n `Failed to remove quarantine: ${quarantineResult.stdout} ${quarantineResult.stderr}`,\n )\n }\n } catch (e) {\n d('failed during sign: %o', e)\n logError(e)\n }\n}\n\nexport function resetRipgrepPathCacheForTests(): void {\n ;(getRipgrepPath as any).cache?.clear?.()\n alreadyDoneSignCheck = false\n}\n\nexport function filesToTree(\n files: string[],\n cwd: string,\n limit: number = 50,\n): string {\n if (files.length === 0) return ''\n\n const relFiles = files.map(f => {\n if (isAbsolute(f)) return relative(cwd, f)\n return f\n })\n\n // Build Trie\n type Node = { [key: string]: Node }\n const treeRoot: Node = {}\n for (const f of relFiles) {\n const parts = f.split(sep)\n let cur = treeRoot\n for (const p of parts) {\n if (!cur[p]) cur[p] = {}\n cur = cur[p]\n }\n }\n\n // BFS to mark visible nodes\n const visible = new Set<Node>()\n const queue: Node[] = [treeRoot]\n visible.add(treeRoot)\n let visibleCount = 0\n\n while (queue.length > 0) {\n const node = queue.shift()!\n const children = Object.values(node)\n\n // Check if we can add children\n for (const child of children) {\n if (visibleCount < limit) {\n visible.add(child)\n visibleCount++\n queue.push(child)\n } else {\n break\n }\n }\n if (visibleCount >= limit) break\n }\n\n // Render DFS\n let output = ''\n\n function render(node: Node, prefix: string, isLast: boolean, name: string) {\n if (node !== treeRoot) {\n const connector = isLast ? '\u2514\u2500\u2500 ' : '\u251C\u2500\u2500 '\n output += `${prefix}${connector}${name}\\n`\n } else {\n output += `${name}\\n`\n }\n\n const childrenKeys = Object.keys(node).sort()\n const visibleChildren = childrenKeys.filter(k => visible.has(node[k]))\n const hiddenCount = childrenKeys.length - visibleChildren.length\n\n const childPrefix =\n node === treeRoot ? '' : prefix + (isLast ? ' ' : '\u2502 ')\n\n for (let i = 0; i < visibleChildren.length; i++) {\n const key = visibleChildren[i]\n const isChildLast = i === visibleChildren.length - 1 && hiddenCount === 0\n render(node[key], childPrefix, isChildLast, key)\n }\n\n if (hiddenCount > 0) {\n // If we have hidden children, we append truncation info.\n // The connector depends on whether we showed any children.\n // If visibleChildren.length > 0, the last one used \u251C\u2500\u2500, so we use \u2514\u2500\u2500.\n // If visibleChildren.length == 0, we use \u2514\u2500\u2500.\n const connector = '\u2514\u2500\u2500 '\n output += `${childPrefix}${connector}... [${hiddenCount} truncated]\\n`\n }\n }\n\n render(treeRoot, '', true, basename(cwd) || '.')\n return output\n}\n\nexport async function tree(\n cwd: string,\n limit: number = 50,\n abortSignal: AbortSignal,\n): Promise<string> {\n const files = await ripGrep(['--files'], cwd, abortSignal)\n return filesToTree(files, cwd, limit)\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["files", "buffer", "stderr", "proc"]
7
+ }
@@ -8,12 +8,12 @@ import {
8
8
  } from "./chunk-BJSWTHRM.js";
9
9
  import {
10
10
  debug
11
- } from "./chunk-JDEWLQHH.js";
11
+ } from "./chunk-RQBIHTZO.js";
12
12
  import {
13
13
  getCwd,
14
14
  getXdgConfigDir,
15
15
  logError
16
- } from "./chunk-ZZX3RSJM.js";
16
+ } from "./chunk-VQ6RVQVH.js";
17
17
 
18
18
  // src/utils/agent/loader.ts
19
19
  import {
@@ -9,10 +9,10 @@ import {
9
9
  PLAN_SLUG_VERBS,
10
10
  getCwd,
11
11
  resolveXdgDataPath
12
- } from "./chunk-ZZX3RSJM.js";
12
+ } from "./chunk-VQ6RVQVH.js";
13
13
  import {
14
14
  MACRO
15
- } from "./chunk-NCHRQKJP.js";
15
+ } from "./chunk-O6BHLPRE.js";
16
16
 
17
17
  // src/utils/protocol/pybAgentSessionLog.ts
18
18
  import { execFileSync } from "child_process";
@@ -3,7 +3,7 @@ const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  SESSION_ID,
5
5
  resolveXdgCachePath
6
- } from "./chunk-ZZX3RSJM.js";
6
+ } from "./chunk-VQ6RVQVH.js";
7
7
 
8
8
  // src/utils/log/debugLogger.ts
9
9
  import { existsSync, mkdirSync, appendFileSync } from "fs";
@@ -3,13 +3,13 @@ const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getSettingsFileCandidates,
5
5
  loadSettingsWithLegacyFallback
6
- } from "./chunk-AKK6NTGD.js";
6
+ } from "./chunk-XF3KOCXY.js";
7
7
  import {
8
8
  getSessionPlugins
9
9
  } from "./chunk-BJSWTHRM.js";
10
10
  import {
11
11
  getTheme
12
- } from "./chunk-SR3SWOX7.js";
12
+ } from "./chunk-V77NDZPE.js";
13
13
  import {
14
14
  addMcprcServerForTesting,
15
15
  getCurrentProjectConfig,
@@ -19,13 +19,13 @@ import {
19
19
  safeParseJSON,
20
20
  saveCurrentProjectConfig,
21
21
  saveGlobalConfig
22
- } from "./chunk-BKLDKPLL.js";
22
+ } from "./chunk-GQTOTLSY.js";
23
23
  import {
24
24
  PRODUCT_COMMAND,
25
25
  PRODUCT_NAME,
26
26
  getCwd,
27
27
  logMCPError
28
- } from "./chunk-ZZX3RSJM.js";
28
+ } from "./chunk-VQ6RVQVH.js";
29
29
 
30
30
  // src/services/mcp/client.ts
31
31
  import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
@@ -5,12 +5,12 @@ import {
5
5
  } from "./chunk-BJSWTHRM.js";
6
6
  import {
7
7
  debug
8
- } from "./chunk-JDEWLQHH.js";
8
+ } from "./chunk-RQBIHTZO.js";
9
9
  import {
10
10
  getCwd,
11
11
  logError,
12
12
  resolveXdgDataPath
13
- } from "./chunk-ZZX3RSJM.js";
13
+ } from "./chunk-VQ6RVQVH.js";
14
14
 
15
15
  // src/services/plugins/customCommands.ts
16
16
  import { existsSync, readFileSync, readdirSync, statSync } from "fs";
@@ -3,13 +3,13 @@ const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getGlobalConfig,
5
5
  saveGlobalConfig
6
- } from "./chunk-BKLDKPLL.js";
6
+ } from "./chunk-GQTOTLSY.js";
7
7
  import {
8
8
  debug
9
- } from "./chunk-JDEWLQHH.js";
9
+ } from "./chunk-RQBIHTZO.js";
10
10
  import {
11
11
  logError
12
- } from "./chunk-ZZX3RSJM.js";
12
+ } from "./chunk-VQ6RVQVH.js";
13
13
 
14
14
  // src/utils/model/index.ts
15
15
  import { memoize } from "lodash-es";
@@ -2,13 +2,13 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  MarketplaceManifestSchema
5
- } from "./chunk-TATJD3PS.js";
5
+ } from "./chunk-EYQDSK5K.js";
6
6
  import {
7
7
  parseFrontmatter
8
- } from "./chunk-2SDOBAYI.js";
8
+ } from "./chunk-TC56HMSX.js";
9
9
  import {
10
10
  getCwd
11
- } from "./chunk-ZZX3RSJM.js";
11
+ } from "./chunk-VQ6RVQVH.js";
12
12
 
13
13
  // src/services/plugins/pluginValidation.ts
14
14
  import { existsSync, lstatSync, readFileSync } from "node:fs";
@@ -2,7 +2,7 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getGlobalConfig
5
- } from "./chunk-BKLDKPLL.js";
5
+ } from "./chunk-GQTOTLSY.js";
6
6
 
7
7
  // src/utils/theme/index.ts
8
8
  var lightTheme = {
@@ -2,7 +2,7 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  MACRO
5
- } from "./chunk-NCHRQKJP.js";
5
+ } from "./chunk-O6BHLPRE.js";
6
6
 
7
7
  // src/utils/state/index.ts
8
8
  import { cwd } from "process";
@@ -3,7 +3,7 @@ const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getCwd,
5
5
  logError
6
- } from "./chunk-ZZX3RSJM.js";
6
+ } from "./chunk-VQ6RVQVH.js";
7
7
 
8
8
  // src/utils/config/settingsFiles.ts
9
9
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -2,11 +2,11 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  listAllContentFiles
5
- } from "./chunk-UKADBDTZ.js";
5
+ } from "./chunk-QSZWYMPZ.js";
6
6
  import {
7
7
  getCwd,
8
8
  logError
9
- } from "./chunk-ZZX3RSJM.js";
9
+ } from "./chunk-VQ6RVQVH.js";
10
10
 
11
11
  // src/utils/fs/file.ts
12
12
  import {
@@ -4,13 +4,13 @@ import {
4
4
  LspServerRegistry,
5
5
  findNearestRoot,
6
6
  getInstallNotices
7
- } from "./chunk-NQNSJDW7.js";
7
+ } from "./chunk-GZJWX5KE.js";
8
8
  import {
9
9
  levenshtein
10
10
  } from "./chunk-UZ34JEUK.js";
11
11
  import {
12
12
  getCwd
13
- } from "./chunk-ZZX3RSJM.js";
13
+ } from "./chunk-VQ6RVQVH.js";
14
14
 
15
15
  // src/lsp/index.ts
16
16
  import { extname as extname2 } from "path";
@@ -529,7 +529,7 @@ var LspClientManager = class _LspClientManager {
529
529
  const safeCwd = /[^\x00-\x7F]/.test(resolvedRoot) ? process.cwd() : resolvedRoot;
530
530
  let initOpts = serverInfo.initializationOptions;
531
531
  if (serverInfo.id === "pyright" || serverInfo.id === "ty") {
532
- const { detectPythonVenv } = await import("./registry-MYSH5C4A.js");
532
+ const { detectPythonVenv } = await import("./registry-U3FUZUBO.js");
533
533
  const pythonPath = detectPythonVenv(resolvedRoot);
534
534
  if (pythonPath) {
535
535
  initOpts = { ...initOpts ?? {}, pythonPath };