pybao-cli 1.3.54 → 1.3.56

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 (131) hide show
  1. package/dist/REPL-QZ5X2FW7.js +42 -0
  2. package/dist/{acp-RKHYCDNN.js → acp-TJYTOEEN.js} +26 -26
  3. package/dist/{agentsValidate-O7UVE36O.js → agentsValidate-64YYOGBL.js} +7 -7
  4. package/dist/{ask-BD4EI3NU.js → ask-QLCR4PT7.js} +25 -25
  5. package/dist/{autoUpdater-ZYBLYLN3.js → autoUpdater-MZSIHGFH.js} +3 -3
  6. package/dist/{chunk-AGRH2PYY.js → chunk-2KQGZUGU.js} +3 -3
  7. package/dist/{chunk-AQD5PXW6.js → chunk-2XIM4I7M.js} +3 -3
  8. package/dist/{chunk-QUFE2RKU.js → chunk-55ICGEUC.js} +4 -4
  9. package/dist/{chunk-ORJUE22Z.js → chunk-6X7KJO6I.js} +1 -1
  10. package/dist/{chunk-QZOP7ZRC.js → chunk-AHBWXH7T.js} +32 -32
  11. package/dist/{chunk-ZNTAAH36.js → chunk-BI2C6FEF.js} +1 -1
  12. package/dist/{chunk-RX7KHSRR.js → chunk-BPZI5POF.js} +1 -1
  13. package/dist/{chunk-MMT6FJI2.js → chunk-BU3RXXMR.js} +2 -2
  14. package/dist/{chunk-J2LVBW2F.js → chunk-CRMMD7DR.js} +1 -1
  15. package/dist/{chunk-WP6HFJBC.js → chunk-D73KKW2N.js} +3 -3
  16. package/dist/{chunk-GBLM3Z32.js → chunk-EMAS3EQJ.js} +3 -3
  17. package/dist/{chunk-JYGKQP6W.js → chunk-F5VWWWVR.js} +4 -4
  18. package/dist/{chunk-24ZHA7Y6.js → chunk-F7ODJLUD.js} +3 -3
  19. package/dist/{chunk-IK6CQQR7.js → chunk-FFBEN7GD.js} +1 -1
  20. package/dist/{chunk-QFFNOAQC.js → chunk-HKOMN5N6.js} +1 -1
  21. package/dist/{chunk-AD5SXLOX.js → chunk-HX7BGVTC.js} +1 -1
  22. package/dist/{chunk-CXAAFWX6.js → chunk-JVLY4BDD.js} +2 -2
  23. package/dist/{chunk-VVY7D4O6.js → chunk-KFTLGFL2.js} +1 -1
  24. package/dist/{chunk-VVY7D4O6.js.map → chunk-KFTLGFL2.js.map} +1 -1
  25. package/dist/{chunk-CTDRGXVN.js → chunk-NFL5ALCX.js} +2 -2
  26. package/dist/{chunk-UHBE6Z4U.js → chunk-NMDJSF4E.js} +1 -1
  27. package/dist/{chunk-BSHNOPUX.js → chunk-O4K7CIS3.js} +3 -3
  28. package/dist/{chunk-VC2SEKFU.js → chunk-OZA25KI6.js} +1 -1
  29. package/dist/{chunk-6FELR65K.js → chunk-PTMWY3FU.js} +3 -3
  30. package/dist/{chunk-EX4CINNF.js → chunk-S7KPCCZ7.js} +57 -42
  31. package/dist/{chunk-EX4CINNF.js.map → chunk-S7KPCCZ7.js.map} +3 -3
  32. package/dist/{chunk-GFIOWE6Y.js → chunk-SQGFUZX6.js} +2 -2
  33. package/dist/{chunk-ISB6223U.js → chunk-YNKPYPAC.js} +2 -2
  34. package/dist/{chunk-ZNV4TPXH.js → chunk-ZQ6DFT2S.js} +2 -2
  35. package/dist/{cli-H755ESGH.js → cli-KC2V3WK3.js} +77 -77
  36. package/dist/commands-ZOEJWEPT.js +46 -0
  37. package/dist/{config-P4S5OVNI.js → config-Q7OH5EIE.js} +4 -4
  38. package/dist/{context-CLIF55DC.js → context-YHHMZG5H.js} +5 -5
  39. package/dist/{customCommands-ANBFOZ5H.js → customCommands-GSZA7XA5.js} +4 -4
  40. package/dist/{env-WWPQUY6R.js → env-UNS5KEWQ.js} +2 -2
  41. package/dist/index.js +3 -3
  42. package/dist/{llm-N36CUF2S.js → llm-B2Q36L7M.js} +26 -26
  43. package/dist/{llmLazy-JCTBA26R.js → llmLazy-F5U3AD6I.js} +1 -1
  44. package/dist/{loader-FYWGHILU.js → loader-WECAPB36.js} +4 -4
  45. package/dist/{mcp-YAOSEBWF.js → mcp-GOCJZ7VT.js} +7 -7
  46. package/dist/{mentionProcessor-WLCP5LRF.js → mentionProcessor-P2C4HFMP.js} +5 -5
  47. package/dist/{messages-FEH5H4RK.js → messages-KB2P3EAS.js} +1 -1
  48. package/dist/{model-BBJMG6RX.js → model-O3N3AN4Y.js} +5 -5
  49. package/dist/{openai-3MMRU2SY.js → openai-X5QMIY7Z.js} +5 -5
  50. package/dist/{outputStyles-YTGRHGMD.js → outputStyles-VFYX3QMO.js} +4 -4
  51. package/dist/{pluginRuntime-WNI4RTXJ.js → pluginRuntime-FA334HX6.js} +6 -6
  52. package/dist/{pluginValidation-H5Y5TDUW.js → pluginValidation-AE6WJAO7.js} +6 -6
  53. package/dist/prompts-CNNTWJWU.js +48 -0
  54. package/dist/{pybAgentSessionLoad-P3AZATOH.js → pybAgentSessionLoad-J5S3HBZO.js} +4 -4
  55. package/dist/{pybAgentSessionResume-LTN62YGZ.js → pybAgentSessionResume-XT6U5KOT.js} +4 -4
  56. package/dist/{pybAgentStreamJsonSession-IQ5FZ62V.js → pybAgentStreamJsonSession-CMFKXVUZ.js} +1 -1
  57. package/dist/{pybHooks-YMAOFH6E.js → pybHooks-6N3I7APK.js} +4 -4
  58. package/dist/query-TKANKJVC.js +50 -0
  59. package/dist/{ripgrep-6BTYBGAN.js → ripgrep-KC2NZ7NP.js} +3 -3
  60. package/dist/{skillMarketplace-MMF67C5A.js → skillMarketplace-ZMAGE33W.js} +3 -3
  61. package/dist/{state-EYS5CCSJ.js → state-BUEHSHUM.js} +2 -2
  62. package/dist/{theme-3YHXLBIA.js → theme-QYBXWA2N.js} +5 -5
  63. package/dist/{toolPermissionSettings-JHDMHHEC.js → toolPermissionSettings-5OMGJ2CG.js} +6 -6
  64. package/dist/tools-KWHZGP5F.js +47 -0
  65. package/dist/{userInput-IAAUYOQQ.js → userInput-6KM5QDMN.js} +27 -27
  66. package/package.json +1 -1
  67. package/dist/REPL-R45FYDIH.js +0 -42
  68. package/dist/commands-Q73J25KY.js +0 -46
  69. package/dist/prompts-ZWF5ATO6.js +0 -48
  70. package/dist/query-OBWM4FDK.js +0 -50
  71. package/dist/tools-P6CKBP5A.js +0 -47
  72. /package/dist/{REPL-R45FYDIH.js.map → REPL-QZ5X2FW7.js.map} +0 -0
  73. /package/dist/{acp-RKHYCDNN.js.map → acp-TJYTOEEN.js.map} +0 -0
  74. /package/dist/{agentsValidate-O7UVE36O.js.map → agentsValidate-64YYOGBL.js.map} +0 -0
  75. /package/dist/{ask-BD4EI3NU.js.map → ask-QLCR4PT7.js.map} +0 -0
  76. /package/dist/{autoUpdater-ZYBLYLN3.js.map → autoUpdater-MZSIHGFH.js.map} +0 -0
  77. /package/dist/{chunk-AGRH2PYY.js.map → chunk-2KQGZUGU.js.map} +0 -0
  78. /package/dist/{chunk-AQD5PXW6.js.map → chunk-2XIM4I7M.js.map} +0 -0
  79. /package/dist/{chunk-QUFE2RKU.js.map → chunk-55ICGEUC.js.map} +0 -0
  80. /package/dist/{chunk-ORJUE22Z.js.map → chunk-6X7KJO6I.js.map} +0 -0
  81. /package/dist/{chunk-QZOP7ZRC.js.map → chunk-AHBWXH7T.js.map} +0 -0
  82. /package/dist/{chunk-ZNTAAH36.js.map → chunk-BI2C6FEF.js.map} +0 -0
  83. /package/dist/{chunk-RX7KHSRR.js.map → chunk-BPZI5POF.js.map} +0 -0
  84. /package/dist/{chunk-MMT6FJI2.js.map → chunk-BU3RXXMR.js.map} +0 -0
  85. /package/dist/{chunk-J2LVBW2F.js.map → chunk-CRMMD7DR.js.map} +0 -0
  86. /package/dist/{chunk-WP6HFJBC.js.map → chunk-D73KKW2N.js.map} +0 -0
  87. /package/dist/{chunk-GBLM3Z32.js.map → chunk-EMAS3EQJ.js.map} +0 -0
  88. /package/dist/{chunk-JYGKQP6W.js.map → chunk-F5VWWWVR.js.map} +0 -0
  89. /package/dist/{chunk-24ZHA7Y6.js.map → chunk-F7ODJLUD.js.map} +0 -0
  90. /package/dist/{chunk-IK6CQQR7.js.map → chunk-FFBEN7GD.js.map} +0 -0
  91. /package/dist/{chunk-QFFNOAQC.js.map → chunk-HKOMN5N6.js.map} +0 -0
  92. /package/dist/{chunk-AD5SXLOX.js.map → chunk-HX7BGVTC.js.map} +0 -0
  93. /package/dist/{chunk-CXAAFWX6.js.map → chunk-JVLY4BDD.js.map} +0 -0
  94. /package/dist/{chunk-CTDRGXVN.js.map → chunk-NFL5ALCX.js.map} +0 -0
  95. /package/dist/{chunk-UHBE6Z4U.js.map → chunk-NMDJSF4E.js.map} +0 -0
  96. /package/dist/{chunk-BSHNOPUX.js.map → chunk-O4K7CIS3.js.map} +0 -0
  97. /package/dist/{chunk-VC2SEKFU.js.map → chunk-OZA25KI6.js.map} +0 -0
  98. /package/dist/{chunk-6FELR65K.js.map → chunk-PTMWY3FU.js.map} +0 -0
  99. /package/dist/{chunk-GFIOWE6Y.js.map → chunk-SQGFUZX6.js.map} +0 -0
  100. /package/dist/{chunk-ISB6223U.js.map → chunk-YNKPYPAC.js.map} +0 -0
  101. /package/dist/{chunk-ZNV4TPXH.js.map → chunk-ZQ6DFT2S.js.map} +0 -0
  102. /package/dist/{cli-H755ESGH.js.map → cli-KC2V3WK3.js.map} +0 -0
  103. /package/dist/{commands-Q73J25KY.js.map → commands-ZOEJWEPT.js.map} +0 -0
  104. /package/dist/{config-P4S5OVNI.js.map → config-Q7OH5EIE.js.map} +0 -0
  105. /package/dist/{context-CLIF55DC.js.map → context-YHHMZG5H.js.map} +0 -0
  106. /package/dist/{customCommands-ANBFOZ5H.js.map → customCommands-GSZA7XA5.js.map} +0 -0
  107. /package/dist/{env-WWPQUY6R.js.map → env-UNS5KEWQ.js.map} +0 -0
  108. /package/dist/{llm-N36CUF2S.js.map → llm-B2Q36L7M.js.map} +0 -0
  109. /package/dist/{llmLazy-JCTBA26R.js.map → llmLazy-F5U3AD6I.js.map} +0 -0
  110. /package/dist/{loader-FYWGHILU.js.map → loader-WECAPB36.js.map} +0 -0
  111. /package/dist/{mcp-YAOSEBWF.js.map → mcp-GOCJZ7VT.js.map} +0 -0
  112. /package/dist/{mentionProcessor-WLCP5LRF.js.map → mentionProcessor-P2C4HFMP.js.map} +0 -0
  113. /package/dist/{messages-FEH5H4RK.js.map → messages-KB2P3EAS.js.map} +0 -0
  114. /package/dist/{model-BBJMG6RX.js.map → model-O3N3AN4Y.js.map} +0 -0
  115. /package/dist/{openai-3MMRU2SY.js.map → openai-X5QMIY7Z.js.map} +0 -0
  116. /package/dist/{outputStyles-YTGRHGMD.js.map → outputStyles-VFYX3QMO.js.map} +0 -0
  117. /package/dist/{pluginRuntime-WNI4RTXJ.js.map → pluginRuntime-FA334HX6.js.map} +0 -0
  118. /package/dist/{pluginValidation-H5Y5TDUW.js.map → pluginValidation-AE6WJAO7.js.map} +0 -0
  119. /package/dist/{prompts-ZWF5ATO6.js.map → prompts-CNNTWJWU.js.map} +0 -0
  120. /package/dist/{pybAgentSessionLoad-P3AZATOH.js.map → pybAgentSessionLoad-J5S3HBZO.js.map} +0 -0
  121. /package/dist/{pybAgentSessionResume-LTN62YGZ.js.map → pybAgentSessionResume-XT6U5KOT.js.map} +0 -0
  122. /package/dist/{pybAgentStreamJsonSession-IQ5FZ62V.js.map → pybAgentStreamJsonSession-CMFKXVUZ.js.map} +0 -0
  123. /package/dist/{pybHooks-YMAOFH6E.js.map → pybHooks-6N3I7APK.js.map} +0 -0
  124. /package/dist/{query-OBWM4FDK.js.map → query-TKANKJVC.js.map} +0 -0
  125. /package/dist/{ripgrep-6BTYBGAN.js.map → ripgrep-KC2NZ7NP.js.map} +0 -0
  126. /package/dist/{skillMarketplace-MMF67C5A.js.map → skillMarketplace-ZMAGE33W.js.map} +0 -0
  127. /package/dist/{state-EYS5CCSJ.js.map → state-BUEHSHUM.js.map} +0 -0
  128. /package/dist/{theme-3YHXLBIA.js.map → theme-QYBXWA2N.js.map} +0 -0
  129. /package/dist/{toolPermissionSettings-JHDMHHEC.js.map → toolPermissionSettings-5OMGJ2CG.js.map} +0 -0
  130. /package/dist/{tools-P6CKBP5A.js.map → tools-KWHZGP5F.js.map} +0 -0
  131. /package/dist/{userInput-IAAUYOQQ.js.map → userInput-6KM5QDMN.js.map} +0 -0
@@ -3,13 +3,13 @@ const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getSettingsFileCandidates,
5
5
  loadSettingsWithLegacyFallback
6
- } from "./chunk-IK6CQQR7.js";
6
+ } from "./chunk-FFBEN7GD.js";
7
7
  import {
8
8
  getSessionPlugins
9
9
  } from "./chunk-BJSWTHRM.js";
10
10
  import {
11
11
  getTheme
12
- } from "./chunk-QFFNOAQC.js";
12
+ } from "./chunk-HKOMN5N6.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-AQD5PXW6.js";
22
+ } from "./chunk-2XIM4I7M.js";
23
23
  import {
24
24
  PRODUCT_COMMAND,
25
25
  PRODUCT_NAME,
26
26
  getCwd,
27
27
  logMCPError
28
- } from "./chunk-VC2SEKFU.js";
28
+ } from "./chunk-OZA25KI6.js";
29
29
 
30
30
  // src/services/mcp/client.ts
31
31
  import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
@@ -4,10 +4,10 @@ import {
4
4
  PRODUCT_NAME,
5
5
  execFileNoThrow,
6
6
  logError
7
- } from "./chunk-VC2SEKFU.js";
7
+ } from "./chunk-OZA25KI6.js";
8
8
  import {
9
9
  MACRO
10
- } from "./chunk-VVY7D4O6.js";
10
+ } from "./chunk-KFTLGFL2.js";
11
11
 
12
12
  // src/utils/session/autoUpdater.ts
13
13
  async function getSemver() {
@@ -82,7 +82,7 @@ async function checkAndNotifyUpdate() {
82
82
  const [
83
83
  { isAutoUpdaterDisabled, getGlobalConfig, saveGlobalConfig },
84
84
  { env }
85
- ] = await Promise.all([import("./config-P4S5OVNI.js"), import("./env-WWPQUY6R.js")]);
85
+ ] = await Promise.all([import("./config-Q7OH5EIE.js"), import("./env-UNS5KEWQ.js")]);
86
86
  if (await isAutoUpdaterDisabled()) return;
87
87
  if (await env.getIsDocker()) return;
88
88
  if (!await env.hasInternetAccess()) return;
@@ -3,7 +3,7 @@ const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getCwd,
5
5
  logError
6
- } from "./chunk-VC2SEKFU.js";
6
+ } from "./chunk-OZA25KI6.js";
7
7
 
8
8
  // src/utils/config/settingsFiles.ts
9
9
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "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-AQD5PXW6.js";
5
+ } from "./chunk-2XIM4I7M.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
  SESSION_ID
5
- } from "./chunk-VC2SEKFU.js";
5
+ } from "./chunk-OZA25KI6.js";
6
6
 
7
7
  // src/utils/log/debugLogger.ts
8
8
  import { existsSync, mkdirSync, appendFileSync } from "fs";
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-ERMQRV55.js";
7
7
  import {
8
8
  debug
9
- } from "./chunk-AD5SXLOX.js";
9
+ } from "./chunk-HX7BGVTC.js";
10
10
  import {
11
11
  logError
12
- } from "./chunk-VC2SEKFU.js";
12
+ } from "./chunk-OZA25KI6.js";
13
13
 
14
14
  // src/utils/agent/storage.ts
15
15
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
@@ -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.54",
7
+ version: "1.3.56",
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.54\",\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\": \"node 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-fetch\": \"^3.3.2\",\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 \"turndown\": \"^7.2.0\",\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 \"bun-types\": \"latest\",\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 \"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 \"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.56\",\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\": \"node 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-fetch\": \"^3.3.2\",\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 \"turndown\": \"^7.2.0\",\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 \"bun-types\": \"latest\",\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 \"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 \"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
  }
@@ -9,10 +9,10 @@ import {
9
9
  PLAN_SLUG_VERBS,
10
10
  getCwd,
11
11
  getPybBaseDir
12
- } from "./chunk-VC2SEKFU.js";
12
+ } from "./chunk-OZA25KI6.js";
13
13
  import {
14
14
  MACRO
15
- } from "./chunk-VVY7D4O6.js";
15
+ } from "./chunk-KFTLGFL2.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
  getSessionProjectDir,
5
5
  getSessionProjectsDir
6
- } from "./chunk-CTDRGXVN.js";
6
+ } from "./chunk-NFL5ALCX.js";
7
7
  import {
8
8
  isUuid
9
9
  } from "./chunk-5P7HBXTD.js";
@@ -5,14 +5,14 @@ import {
5
5
  } from "./chunk-B6IMQJZM.js";
6
6
  import {
7
7
  loadSettingsWithLegacyFallback
8
- } from "./chunk-IK6CQQR7.js";
8
+ } from "./chunk-FFBEN7GD.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-VC2SEKFU.js";
15
+ } from "./chunk-OZA25KI6.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-JCTBA26R.js");
499
+ const { queryQuick } = await import("./llmLazy-F5U3AD6I.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).",
@@ -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-VVY7D4O6.js";
5
+ } from "./chunk-KFTLGFL2.js";
6
6
 
7
7
  // src/utils/state/index.ts
8
8
  import { cwd } from "process";
@@ -3,13 +3,13 @@ const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getGlobalConfig,
5
5
  saveGlobalConfig
6
- } from "./chunk-AQD5PXW6.js";
6
+ } from "./chunk-2XIM4I7M.js";
7
7
  import {
8
8
  debug
9
- } from "./chunk-AD5SXLOX.js";
9
+ } from "./chunk-HX7BGVTC.js";
10
10
  import {
11
11
  logError
12
- } from "./chunk-VC2SEKFU.js";
12
+ } from "./chunk-OZA25KI6.js";
13
13
 
14
14
  // src/utils/model/index.ts
15
15
  import { memoize } from "lodash-es";
@@ -30,45 +30,45 @@ import {
30
30
  hasWritePermission,
31
31
  loadLanguage,
32
32
  query
33
- } from "./chunk-QZOP7ZRC.js";
33
+ } from "./chunk-AHBWXH7T.js";
34
34
  import {
35
35
  FallbackToolUseRejectedMessage,
36
36
  MCPTool,
37
37
  getClients,
38
38
  getMCPTools
39
- } from "./chunk-JYGKQP6W.js";
39
+ } from "./chunk-F5VWWWVR.js";
40
40
  import {
41
41
  queryLLM
42
- } from "./chunk-QUFE2RKU.js";
42
+ } from "./chunk-55ICGEUC.js";
43
43
  import {
44
44
  tree
45
- } from "./chunk-RX7KHSRR.js";
45
+ } from "./chunk-BPZI5POF.js";
46
46
  import {
47
47
  generateAgentId
48
- } from "./chunk-CXAAFWX6.js";
48
+ } from "./chunk-JVLY4BDD.js";
49
49
  import {
50
50
  getActiveAgents,
51
51
  getAgentByType,
52
52
  getAvailableAgentTypes
53
- } from "./chunk-MMT6FJI2.js";
53
+ } from "./chunk-BU3RXXMR.js";
54
54
  import {
55
55
  INTERRUPT_MESSAGE,
56
56
  createAssistantMessage,
57
57
  createUserMessage,
58
58
  getLastAssistantMessageId
59
- } from "./chunk-ZNTAAH36.js";
59
+ } from "./chunk-BI2C6FEF.js";
60
60
  import {
61
61
  getModelManager
62
- } from "./chunk-6FELR65K.js";
62
+ } from "./chunk-PTMWY3FU.js";
63
63
  import {
64
64
  getContext
65
- } from "./chunk-AGRH2PYY.js";
65
+ } from "./chunk-2KQGZUGU.js";
66
66
  import {
67
67
  getTheme
68
- } from "./chunk-QFFNOAQC.js";
68
+ } from "./chunk-HKOMN5N6.js";
69
69
  import {
70
70
  debug
71
- } from "./chunk-AD5SXLOX.js";
71
+ } from "./chunk-HX7BGVTC.js";
72
72
  import {
73
73
  BunShell,
74
74
  getCwd,
@@ -77,7 +77,7 @@ import {
77
77
  logError,
78
78
  overwriteLog,
79
79
  readTaskOutput
80
- } from "./chunk-VC2SEKFU.js";
80
+ } from "./chunk-OZA25KI6.js";
81
81
  import {
82
82
  formatDuration,
83
83
  formatNumber
@@ -3272,6 +3272,8 @@ Example:
3272
3272
  `;
3273
3273
 
3274
3274
  // src/tools/filesystem/PatchTool/PatchTool.tsx
3275
+ import { Box as Box7, Text as Text7 } from "ink";
3276
+ import React7 from "react";
3275
3277
  var inputSchema7 = z7.strictObject({
3276
3278
  patch: z7.string().describe("The unified diff to apply. Must include file headers (---/+++)")
3277
3279
  });
@@ -3303,7 +3305,8 @@ var PatchTool = {
3303
3305
  return `Applying patch...`;
3304
3306
  },
3305
3307
  renderToolResultMessage(result) {
3306
- return `Patch applied successfully to ${result.metadata?.files_changed?.length ?? 0} files.`;
3308
+ const count = result.metadata?.files_changed?.length ?? 0;
3309
+ return /* @__PURE__ */ React7.createElement(Box7, { flexDirection: "column" }, /* @__PURE__ */ React7.createElement(Text7, null, "Patch applied successfully to ", count, " files."));
3307
3310
  },
3308
3311
  async validateInput({ patch }) {
3309
3312
  if (!patch || patch.trim().length === 0) {
@@ -3311,17 +3314,24 @@ var PatchTool = {
3311
3314
  }
3312
3315
  return { result: true };
3313
3316
  },
3314
- async execute({ patch }, context) {
3315
- const hunks = PatchManager.parse(patch);
3316
- if (hunks.length === 0) {
3317
- throw new Error("No valid hunks found in patch");
3318
- }
3317
+ async *call(input, context) {
3318
+ const { patch } = input;
3319
3319
  const patches = PatchManager.parseMultiFileDiff(patch);
3320
+ if (patches.length === 0) {
3321
+ throw new Error("No valid hunks found in patch. Ensure standard Unified Diff format with file headers (---/+++).");
3322
+ }
3320
3323
  const plan = [];
3324
+ const messages = [];
3321
3325
  for (const p of patches) {
3322
- const filePath = p.filePath.trim();
3326
+ let filePath = p.filePath.trim();
3327
+ if (!fileExistsBun(filePath) && (filePath.startsWith("a/") || filePath.startsWith("b/"))) {
3328
+ const stripped = filePath.substring(2);
3329
+ if (fileExistsBun(stripped)) {
3330
+ filePath = stripped;
3331
+ }
3332
+ }
3323
3333
  if (!fileExistsBun(filePath)) {
3324
- throw new Error(`File not found: ${filePath}`);
3334
+ throw new Error(`Target file not found: ${filePath}`);
3325
3335
  }
3326
3336
  const content = readFileSync4(filePath, "utf-8");
3327
3337
  try {
@@ -3336,18 +3346,23 @@ var PatchTool = {
3336
3346
  writeFileSync2(item.filePath, item.newContent);
3337
3347
  changedFiles.push(item.filePath);
3338
3348
  }
3339
- return {
3340
- output: `Successfully applied patch to ${changedFiles.length} files.`,
3341
- metadata: {
3342
- files_changed: changedFiles
3343
- }
3349
+ yield {
3350
+ type: "result",
3351
+ data: {
3352
+ output: `Successfully applied patch to ${changedFiles.length} files:
3353
+ ${changedFiles.map((f) => `- ${f}`).join("\n")}`,
3354
+ metadata: {
3355
+ files_changed: changedFiles
3356
+ }
3357
+ },
3358
+ resultForAssistant: `Successfully applied patch to ${changedFiles.length} files: ${changedFiles.join(", ")}`
3344
3359
  };
3345
3360
  }
3346
3361
  };
3347
3362
 
3348
3363
  // src/tools/mcp/ReadMcpResourceTool/ReadMcpResourceTool.tsx
3349
- import { Box as Box7, Text as Text7 } from "ink";
3350
- import React7 from "react";
3364
+ import { Box as Box8, Text as Text8 } from "ink";
3365
+ import React8 from "react";
3351
3366
  import { z as z8 } from "zod";
3352
3367
  import { ReadResourceResultSchema } from "@modelcontextprotocol/sdk/types.js";
3353
3368
 
@@ -3433,11 +3448,11 @@ var ReadMcpResourceTool = {
3433
3448
  return `Read resource "${uri}" from server "${server}"`;
3434
3449
  },
3435
3450
  renderToolUseRejectedMessage() {
3436
- return /* @__PURE__ */ React7.createElement(FallbackToolUseRejectedMessage, null);
3451
+ return /* @__PURE__ */ React8.createElement(FallbackToolUseRejectedMessage, null);
3437
3452
  },
3438
3453
  renderToolResultMessage(output) {
3439
3454
  const count = output.contents?.length ?? 0;
3440
- return /* @__PURE__ */ React7.createElement(Box7, { justifyContent: "space-between", width: "100%" }, /* @__PURE__ */ React7.createElement(Box7, { flexDirection: "row" }, /* @__PURE__ */ React7.createElement(Text7, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React7.createElement(Text7, { bold: true }, "Read MCP resource"), /* @__PURE__ */ React7.createElement(Text7, null, count ? ` (${count} part${count === 1 ? "" : "s"})` : "")), /* @__PURE__ */ React7.createElement(Cost, { costUSD: 0, durationMs: 0, debug: false }));
3455
+ return /* @__PURE__ */ React8.createElement(Box8, { justifyContent: "space-between", width: "100%" }, /* @__PURE__ */ React8.createElement(Box8, { flexDirection: "row" }, /* @__PURE__ */ React8.createElement(Text8, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React8.createElement(Text8, { bold: true }, "Read MCP resource"), /* @__PURE__ */ React8.createElement(Text8, null, count ? ` (${count} part${count === 1 ? "" : "s"})` : "")), /* @__PURE__ */ React8.createElement(Cost, { costUSD: 0, durationMs: 0, debug: false }));
3441
3456
  },
3442
3457
  renderResultForAssistant(output) {
3443
3458
  return JSON.stringify(output);
@@ -3478,8 +3493,8 @@ var ReadMcpResourceTool = {
3478
3493
 
3479
3494
  // src/tools/agent/TaskTool/TaskTool.tsx
3480
3495
  import { last, memoize } from "lodash-es";
3481
- import React8 from "react";
3482
- import { Box as Box8, Text as Text8 } from "ink";
3496
+ import React9 from "react";
3497
+ import { Box as Box9, Text as Text9 } from "ink";
3483
3498
  import { z as z9 } from "zod";
3484
3499
  import { randomUUID as randomUUID2 } from "crypto";
3485
3500
  import { existsSync as existsSync6, readFileSync as readFileSync5 } from "fs";
@@ -3802,20 +3817,20 @@ var TaskTool = {
3802
3817
  return description;
3803
3818
  },
3804
3819
  renderToolUseRejectedMessage() {
3805
- return /* @__PURE__ */ React8.createElement(FallbackToolUseRejectedMessage, null);
3820
+ return /* @__PURE__ */ React9.createElement(FallbackToolUseRejectedMessage, null);
3806
3821
  },
3807
3822
  renderToolResultMessage(output, { verbose }) {
3808
3823
  const theme = getTheme();
3809
3824
  if (output.status === "async_launched") {
3810
3825
  const hint = output.prompt ? " (down arrow \u2193 to manage \xB7 ctrl+o to expand)" : " (down arrow \u2193 to manage)";
3811
- return /* @__PURE__ */ React8.createElement(Box8, { flexDirection: "column" }, /* @__PURE__ */ React8.createElement(Box8, { flexDirection: "row" }, /* @__PURE__ */ React8.createElement(Text8, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React8.createElement(Text8, null, "Backgrounded agent", !verbose && /* @__PURE__ */ React8.createElement(Text8, { dimColor: true }, hint))), verbose && output.prompt && /* @__PURE__ */ React8.createElement(
3812
- Box8,
3826
+ return /* @__PURE__ */ React9.createElement(Box9, { flexDirection: "column" }, /* @__PURE__ */ React9.createElement(Box9, { flexDirection: "row" }, /* @__PURE__ */ React9.createElement(Text9, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React9.createElement(Text9, null, "Backgrounded agent", !verbose && /* @__PURE__ */ React9.createElement(Text9, { dimColor: true }, hint))), verbose && output.prompt && /* @__PURE__ */ React9.createElement(
3827
+ Box9,
3813
3828
  {
3814
3829
  paddingLeft: 2,
3815
3830
  borderLeftStyle: "single",
3816
3831
  borderLeftColor: theme.secondaryBorder
3817
3832
  },
3818
- /* @__PURE__ */ React8.createElement(Text8, { color: theme.secondaryText, wrap: "wrap" }, output.prompt)
3833
+ /* @__PURE__ */ React9.createElement(Text9, { color: theme.secondaryText, wrap: "wrap" }, output.prompt)
3819
3834
  ));
3820
3835
  }
3821
3836
  const summary = [
@@ -3823,32 +3838,32 @@ var TaskTool = {
3823
3838
  `${formatNumber(output.totalTokens)} tokens`,
3824
3839
  formatDuration(output.totalDurationMs)
3825
3840
  ];
3826
- return /* @__PURE__ */ React8.createElement(Box8, { flexDirection: "column" }, verbose && output.prompt && /* @__PURE__ */ React8.createElement(
3827
- Box8,
3841
+ return /* @__PURE__ */ React9.createElement(Box9, { flexDirection: "column" }, verbose && output.prompt && /* @__PURE__ */ React9.createElement(
3842
+ Box9,
3828
3843
  {
3829
3844
  paddingLeft: 2,
3830
3845
  borderLeftStyle: "single",
3831
3846
  borderLeftColor: theme.secondaryBorder
3832
3847
  },
3833
- /* @__PURE__ */ React8.createElement(Text8, { color: theme.secondaryText, wrap: "wrap" }, maybeTruncateVerboseToolOutput(output.prompt, {
3848
+ /* @__PURE__ */ React9.createElement(Text9, { color: theme.secondaryText, wrap: "wrap" }, maybeTruncateVerboseToolOutput(output.prompt, {
3834
3849
  maxLines: 120,
3835
3850
  maxChars: 2e4
3836
3851
  }).text)
3837
- ), verbose && output.content.length > 0 && /* @__PURE__ */ React8.createElement(
3838
- Box8,
3852
+ ), verbose && output.content.length > 0 && /* @__PURE__ */ React9.createElement(
3853
+ Box9,
3839
3854
  {
3840
3855
  paddingLeft: 2,
3841
3856
  borderLeftStyle: "single",
3842
3857
  borderLeftColor: theme.secondaryBorder
3843
3858
  },
3844
- /* @__PURE__ */ React8.createElement(Text8, { wrap: "wrap" }, maybeTruncateVerboseToolOutput(
3859
+ /* @__PURE__ */ React9.createElement(Text9, { wrap: "wrap" }, maybeTruncateVerboseToolOutput(
3845
3860
  output.content.map((b) => b.text).join("\n"),
3846
3861
  {
3847
3862
  maxLines: 200,
3848
3863
  maxChars: 4e4
3849
3864
  }
3850
3865
  ).text)
3851
- ), /* @__PURE__ */ React8.createElement(Box8, { flexDirection: "row" }, /* @__PURE__ */ React8.createElement(Text8, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React8.createElement(Text8, { dimColor: true }, "Done (", summary.join(" \xB7 "), ")")));
3866
+ ), /* @__PURE__ */ React9.createElement(Box9, { flexDirection: "row" }, /* @__PURE__ */ React9.createElement(Text9, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React9.createElement(Text9, { dimColor: true }, "Done (", summary.join(" \xB7 "), ")")));
3852
3867
  },
3853
3868
  renderResultForAssistant(output) {
3854
3869
  if (output.status === "async_launched")