pybao-cli 1.3.40 → 1.3.41

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 (135) hide show
  1. package/dist/REPL-MBQCMFZU.js +42 -0
  2. package/dist/{acp-HK26TVTX.js → acp-QKD5VUCV.js} +26 -26
  3. package/dist/{agentsValidate-C52NI4ZX.js → agentsValidate-KGXQRAJZ.js} +7 -7
  4. package/dist/{ask-TIKNC4HH.js → ask-NG2DSJRD.js} +25 -25
  5. package/dist/{autoUpdater-6U6FBBY4.js → autoUpdater-PBGQE65K.js} +3 -3
  6. package/dist/{chunk-J4CEGSQ7.js → chunk-2WZBP3E6.js} +3 -3
  7. package/dist/{chunk-J5HENS3F.js → chunk-323DBFRU.js} +1 -1
  8. package/dist/{chunk-MET7COVN.js → chunk-3PVOXGE5.js} +3 -3
  9. package/dist/{chunk-JPJLV62E.js → chunk-6C2CNJRZ.js} +3 -3
  10. package/dist/{chunk-CZGRVY44.js → chunk-7GCGTI7J.js} +1 -1
  11. package/dist/{chunk-L6PDI2LK.js → chunk-AMVMTW6J.js} +1 -1
  12. package/dist/{chunk-MXDNS5HL.js → chunk-CBTG3DDM.js} +4 -4
  13. package/dist/{chunk-MONIWPPJ.js → chunk-E6MRBVMZ.js} +4 -4
  14. package/dist/chunk-E6MRBVMZ.js.map +7 -0
  15. package/dist/{chunk-IUNA74OB.js → chunk-F6SGOSTZ.js} +3 -3
  16. package/dist/{chunk-QHPT5HAM.js → chunk-FLAFIEJY.js} +2 -2
  17. package/dist/{chunk-NIDMOHDA.js → chunk-G5EEYVNM.js} +1 -1
  18. package/dist/{chunk-NIDMOHDA.js.map → chunk-G5EEYVNM.js.map} +1 -1
  19. package/dist/{chunk-OJ3JWDTV.js → chunk-GDOGPXE6.js} +2 -2
  20. package/dist/{chunk-MGU7OPPZ.js → chunk-GU7DR4Q6.js} +4 -4
  21. package/dist/{chunk-PKOB5QYA.js → chunk-GY3JVIGB.js} +1 -1
  22. package/dist/{chunk-I3X7KJ7P.js → chunk-IVDZ5RFK.js} +11 -11
  23. package/dist/{chunk-RVDWDEY6.js → chunk-JNQ5X6FY.js} +1 -1
  24. package/dist/{chunk-4RVXOTCT.js → chunk-KLT3BL7D.js} +2 -2
  25. package/dist/{chunk-VL3J3OB7.js → chunk-L2STOSKP.js} +3 -3
  26. package/dist/{chunk-7BI7LYYP.js → chunk-PDFPZAVP.js} +2 -2
  27. package/dist/{chunk-Y4NSWZ3P.js → chunk-TFNPGJGI.js} +3 -3
  28. package/dist/{chunk-U5K52MY5.js → chunk-TGOTYPGA.js} +90 -43
  29. package/dist/chunk-TGOTYPGA.js.map +7 -0
  30. package/dist/{chunk-OH45AP2K.js → chunk-VIFUYXF3.js} +2 -2
  31. package/dist/{chunk-YUB4IWOB.js → chunk-VOXTBNUO.js} +1 -1
  32. package/dist/{chunk-BO7QTTFB.js → chunk-W7JREM72.js} +3 -3
  33. package/dist/{chunk-GDKAN3RP.js → chunk-WIFBEJAS.js} +1 -1
  34. package/dist/{chunk-74XTVYUF.js → chunk-YHZXXFBV.js} +66 -2
  35. package/dist/chunk-YHZXXFBV.js.map +7 -0
  36. package/dist/{chunk-GXHQJSTV.js → chunk-YPLS7OWH.js} +2 -2
  37. package/dist/{cli-KNGFKSED.js → cli-KKDAWCY2.js} +85 -79
  38. package/dist/cli-KKDAWCY2.js.map +7 -0
  39. package/dist/commands-TJ4JH5Y6.js +46 -0
  40. package/dist/{config-XXRW4FRM.js → config-WUL7I6UC.js} +4 -4
  41. package/dist/{context-HHVWYM7B.js → context-HY6Z3A5M.js} +5 -5
  42. package/dist/{customCommands-O2D54K5O.js → customCommands-AUI43OH4.js} +4 -4
  43. package/dist/{env-EBRAYCUX.js → env-6DF67ZM4.js} +2 -2
  44. package/dist/index.js +3 -3
  45. package/dist/{llm-VIIROLPD.js → llm-5SVIGJOW.js} +26 -26
  46. package/dist/{llmLazy-VJU63SZW.js → llmLazy-23OYBTCV.js} +1 -1
  47. package/dist/{loader-JNQPPZNG.js → loader-ALO5SB6E.js} +4 -4
  48. package/dist/{mcp-2TQXBXD5.js → mcp-IUJFQINE.js} +7 -7
  49. package/dist/{mentionProcessor-5D7M7UMN.js → mentionProcessor-6WZPWT57.js} +5 -5
  50. package/dist/{messages-7L6RMHJ3.js → messages-DI4VAVMF.js} +1 -1
  51. package/dist/{model-YJD7P7GS.js → model-M5RQC5M4.js} +5 -5
  52. package/dist/{openai-PHUFOSMW.js → openai-WE5G54EO.js} +5 -5
  53. package/dist/{outputStyles-AHIYQTVA.js → outputStyles-SOEAXDKX.js} +4 -4
  54. package/dist/{pluginRuntime-2UNY7UUH.js → pluginRuntime-IZ3VID66.js} +6 -6
  55. package/dist/{pluginValidation-N5FWLZFG.js → pluginValidation-K6LGPOD6.js} +6 -6
  56. package/dist/prompts-45RRJ63H.js +48 -0
  57. package/dist/{pybAgentSessionLoad-MQXGEE2I.js → pybAgentSessionLoad-C2Q2ENOC.js} +4 -4
  58. package/dist/{pybAgentSessionResume-PPOQWVA6.js → pybAgentSessionResume-PFDYZVEA.js} +4 -4
  59. package/dist/{pybAgentStreamJsonSession-JYKKNE3C.js → pybAgentStreamJsonSession-CXNTLW6O.js} +1 -1
  60. package/dist/{pybHooks-S7OXYH3A.js → pybHooks-256H2DVZ.js} +4 -4
  61. package/dist/query-GDNDZELU.js +50 -0
  62. package/dist/{ripgrep-OBTBZJHR.js → ripgrep-UY2H3NIW.js} +7 -5
  63. package/dist/{skillMarketplace-4PGHIXQA.js → skillMarketplace-FHDM3WVC.js} +3 -3
  64. package/dist/{state-WPCJDB3S.js → state-CVX5CCDE.js} +2 -2
  65. package/dist/{theme-UYKK2IIP.js → theme-26CQI4Q2.js} +5 -5
  66. package/dist/{toolPermissionSettings-KKYS2DME.js → toolPermissionSettings-5OSMDFQI.js} +6 -6
  67. package/dist/tools-QG2SSBXM.js +47 -0
  68. package/dist/{userInput-64WKJO4W.js → userInput-H2BNPDZZ.js} +27 -27
  69. package/package.json +1 -1
  70. package/dist/REPL-JM4MVCIA.js +0 -42
  71. package/dist/chunk-74XTVYUF.js.map +0 -7
  72. package/dist/chunk-MONIWPPJ.js.map +0 -7
  73. package/dist/chunk-U5K52MY5.js.map +0 -7
  74. package/dist/cli-KNGFKSED.js.map +0 -7
  75. package/dist/commands-3KPCNJBT.js +0 -46
  76. package/dist/prompts-4AX72FJY.js +0 -48
  77. package/dist/query-52V4X3BC.js +0 -50
  78. package/dist/tools-5PYR54EV.js +0 -47
  79. /package/dist/{REPL-JM4MVCIA.js.map → REPL-MBQCMFZU.js.map} +0 -0
  80. /package/dist/{acp-HK26TVTX.js.map → acp-QKD5VUCV.js.map} +0 -0
  81. /package/dist/{agentsValidate-C52NI4ZX.js.map → agentsValidate-KGXQRAJZ.js.map} +0 -0
  82. /package/dist/{ask-TIKNC4HH.js.map → ask-NG2DSJRD.js.map} +0 -0
  83. /package/dist/{autoUpdater-6U6FBBY4.js.map → autoUpdater-PBGQE65K.js.map} +0 -0
  84. /package/dist/{chunk-J4CEGSQ7.js.map → chunk-2WZBP3E6.js.map} +0 -0
  85. /package/dist/{chunk-J5HENS3F.js.map → chunk-323DBFRU.js.map} +0 -0
  86. /package/dist/{chunk-MET7COVN.js.map → chunk-3PVOXGE5.js.map} +0 -0
  87. /package/dist/{chunk-JPJLV62E.js.map → chunk-6C2CNJRZ.js.map} +0 -0
  88. /package/dist/{chunk-CZGRVY44.js.map → chunk-7GCGTI7J.js.map} +0 -0
  89. /package/dist/{chunk-L6PDI2LK.js.map → chunk-AMVMTW6J.js.map} +0 -0
  90. /package/dist/{chunk-MXDNS5HL.js.map → chunk-CBTG3DDM.js.map} +0 -0
  91. /package/dist/{chunk-IUNA74OB.js.map → chunk-F6SGOSTZ.js.map} +0 -0
  92. /package/dist/{chunk-QHPT5HAM.js.map → chunk-FLAFIEJY.js.map} +0 -0
  93. /package/dist/{chunk-OJ3JWDTV.js.map → chunk-GDOGPXE6.js.map} +0 -0
  94. /package/dist/{chunk-MGU7OPPZ.js.map → chunk-GU7DR4Q6.js.map} +0 -0
  95. /package/dist/{chunk-PKOB5QYA.js.map → chunk-GY3JVIGB.js.map} +0 -0
  96. /package/dist/{chunk-I3X7KJ7P.js.map → chunk-IVDZ5RFK.js.map} +0 -0
  97. /package/dist/{chunk-RVDWDEY6.js.map → chunk-JNQ5X6FY.js.map} +0 -0
  98. /package/dist/{chunk-4RVXOTCT.js.map → chunk-KLT3BL7D.js.map} +0 -0
  99. /package/dist/{chunk-VL3J3OB7.js.map → chunk-L2STOSKP.js.map} +0 -0
  100. /package/dist/{chunk-7BI7LYYP.js.map → chunk-PDFPZAVP.js.map} +0 -0
  101. /package/dist/{chunk-Y4NSWZ3P.js.map → chunk-TFNPGJGI.js.map} +0 -0
  102. /package/dist/{chunk-OH45AP2K.js.map → chunk-VIFUYXF3.js.map} +0 -0
  103. /package/dist/{chunk-YUB4IWOB.js.map → chunk-VOXTBNUO.js.map} +0 -0
  104. /package/dist/{chunk-BO7QTTFB.js.map → chunk-W7JREM72.js.map} +0 -0
  105. /package/dist/{chunk-GDKAN3RP.js.map → chunk-WIFBEJAS.js.map} +0 -0
  106. /package/dist/{chunk-GXHQJSTV.js.map → chunk-YPLS7OWH.js.map} +0 -0
  107. /package/dist/{commands-3KPCNJBT.js.map → commands-TJ4JH5Y6.js.map} +0 -0
  108. /package/dist/{config-XXRW4FRM.js.map → config-WUL7I6UC.js.map} +0 -0
  109. /package/dist/{context-HHVWYM7B.js.map → context-HY6Z3A5M.js.map} +0 -0
  110. /package/dist/{customCommands-O2D54K5O.js.map → customCommands-AUI43OH4.js.map} +0 -0
  111. /package/dist/{env-EBRAYCUX.js.map → env-6DF67ZM4.js.map} +0 -0
  112. /package/dist/{llm-VIIROLPD.js.map → llm-5SVIGJOW.js.map} +0 -0
  113. /package/dist/{llmLazy-VJU63SZW.js.map → llmLazy-23OYBTCV.js.map} +0 -0
  114. /package/dist/{loader-JNQPPZNG.js.map → loader-ALO5SB6E.js.map} +0 -0
  115. /package/dist/{mcp-2TQXBXD5.js.map → mcp-IUJFQINE.js.map} +0 -0
  116. /package/dist/{mentionProcessor-5D7M7UMN.js.map → mentionProcessor-6WZPWT57.js.map} +0 -0
  117. /package/dist/{messages-7L6RMHJ3.js.map → messages-DI4VAVMF.js.map} +0 -0
  118. /package/dist/{model-YJD7P7GS.js.map → model-M5RQC5M4.js.map} +0 -0
  119. /package/dist/{openai-PHUFOSMW.js.map → openai-WE5G54EO.js.map} +0 -0
  120. /package/dist/{outputStyles-AHIYQTVA.js.map → outputStyles-SOEAXDKX.js.map} +0 -0
  121. /package/dist/{pluginRuntime-2UNY7UUH.js.map → pluginRuntime-IZ3VID66.js.map} +0 -0
  122. /package/dist/{pluginValidation-N5FWLZFG.js.map → pluginValidation-K6LGPOD6.js.map} +0 -0
  123. /package/dist/{prompts-4AX72FJY.js.map → prompts-45RRJ63H.js.map} +0 -0
  124. /package/dist/{pybAgentSessionLoad-MQXGEE2I.js.map → pybAgentSessionLoad-C2Q2ENOC.js.map} +0 -0
  125. /package/dist/{pybAgentSessionResume-PPOQWVA6.js.map → pybAgentSessionResume-PFDYZVEA.js.map} +0 -0
  126. /package/dist/{pybAgentStreamJsonSession-JYKKNE3C.js.map → pybAgentStreamJsonSession-CXNTLW6O.js.map} +0 -0
  127. /package/dist/{pybHooks-S7OXYH3A.js.map → pybHooks-256H2DVZ.js.map} +0 -0
  128. /package/dist/{query-52V4X3BC.js.map → query-GDNDZELU.js.map} +0 -0
  129. /package/dist/{ripgrep-OBTBZJHR.js.map → ripgrep-UY2H3NIW.js.map} +0 -0
  130. /package/dist/{skillMarketplace-4PGHIXQA.js.map → skillMarketplace-FHDM3WVC.js.map} +0 -0
  131. /package/dist/{state-WPCJDB3S.js.map → state-CVX5CCDE.js.map} +0 -0
  132. /package/dist/{theme-UYKK2IIP.js.map → theme-26CQI4Q2.js.map} +0 -0
  133. /package/dist/{toolPermissionSettings-KKYS2DME.js.map → toolPermissionSettings-5OSMDFQI.js.map} +0 -0
  134. /package/dist/{tools-5PYR54EV.js.map → tools-QG2SSBXM.js.map} +0 -0
  135. /package/dist/{userInput-64WKJO4W.js.map → userInput-H2BNPDZZ.js.map} +0 -0
@@ -27,42 +27,42 @@ import {
27
27
  hasReadPermission,
28
28
  hasWritePermission,
29
29
  query
30
- } from "./chunk-U5K52MY5.js";
30
+ } from "./chunk-TGOTYPGA.js";
31
31
  import {
32
32
  FallbackToolUseRejectedMessage,
33
33
  MCPTool,
34
34
  getClients,
35
35
  getMCPTools
36
- } from "./chunk-MGU7OPPZ.js";
36
+ } from "./chunk-GU7DR4Q6.js";
37
37
  import {
38
38
  queryLLM
39
- } from "./chunk-MXDNS5HL.js";
39
+ } from "./chunk-CBTG3DDM.js";
40
40
  import {
41
41
  generateAgentId
42
- } from "./chunk-QHPT5HAM.js";
42
+ } from "./chunk-FLAFIEJY.js";
43
43
  import {
44
44
  getActiveAgents,
45
45
  getAgentByType,
46
46
  getAvailableAgentTypes
47
- } from "./chunk-GXHQJSTV.js";
47
+ } from "./chunk-YPLS7OWH.js";
48
48
  import {
49
49
  INTERRUPT_MESSAGE,
50
50
  createAssistantMessage,
51
51
  createUserMessage,
52
52
  getLastAssistantMessageId
53
- } from "./chunk-GDKAN3RP.js";
53
+ } from "./chunk-WIFBEJAS.js";
54
54
  import {
55
55
  getModelManager
56
- } from "./chunk-MET7COVN.js";
56
+ } from "./chunk-3PVOXGE5.js";
57
57
  import {
58
58
  getContext
59
- } from "./chunk-Y4NSWZ3P.js";
59
+ } from "./chunk-TFNPGJGI.js";
60
60
  import {
61
61
  getTheme
62
- } from "./chunk-PKOB5QYA.js";
62
+ } from "./chunk-GY3JVIGB.js";
63
63
  import {
64
64
  debug
65
- } from "./chunk-RVDWDEY6.js";
65
+ } from "./chunk-JNQ5X6FY.js";
66
66
  import {
67
67
  BunShell,
68
68
  getCwd,
@@ -71,7 +71,7 @@ import {
71
71
  logError,
72
72
  overwriteLog,
73
73
  readTaskOutput
74
- } from "./chunk-MONIWPPJ.js";
74
+ } from "./chunk-E6MRBVMZ.js";
75
75
  import {
76
76
  formatDuration,
77
77
  formatNumber
@@ -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-MONIWPPJ.js";
5
+ } from "./chunk-E6MRBVMZ.js";
6
6
 
7
7
  // src/utils/log/debugLogger.ts
8
8
  import { existsSync, mkdirSync, appendFileSync } from "fs";
@@ -4,7 +4,7 @@ import {
4
4
  getSettingsFileCandidates,
5
5
  loadSettingsWithLegacyFallback,
6
6
  saveSettingsToPrimaryAndSyncLegacy
7
- } from "./chunk-L6PDI2LK.js";
7
+ } from "./chunk-AMVMTW6J.js";
8
8
  import {
9
9
  isSettingSourceEnabled
10
10
  } from "./chunk-A3BVXXA3.js";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-BJSWTHRM.js";
14
14
  import {
15
15
  getCwd
16
- } from "./chunk-MONIWPPJ.js";
16
+ } from "./chunk-E6MRBVMZ.js";
17
17
 
18
18
  // src/services/ui/outputStyles.ts
19
19
  import figures from "figures";
@@ -4,18 +4,18 @@ import {
4
4
  getSettingsFileCandidates,
5
5
  loadSettingsWithLegacyFallback,
6
6
  saveSettingsToPrimaryAndSyncLegacy
7
- } from "./chunk-L6PDI2LK.js";
7
+ } from "./chunk-AMVMTW6J.js";
8
8
  import {
9
9
  createDefaultToolPermissionContext,
10
10
  isPersistableToolPermissionDestination
11
11
  } from "./chunk-UNNVICVU.js";
12
12
  import {
13
13
  getCurrentProjectConfig
14
- } from "./chunk-JPJLV62E.js";
14
+ } from "./chunk-6C2CNJRZ.js";
15
15
  import {
16
16
  getCwd,
17
17
  logError
18
- } from "./chunk-MONIWPPJ.js";
18
+ } from "./chunk-E6MRBVMZ.js";
19
19
 
20
20
  // src/utils/permissions/toolPermissionSettings.ts
21
21
  function uniqueStrings(value) {
@@ -5,12 +5,12 @@ import {
5
5
  } from "./chunk-BJSWTHRM.js";
6
6
  import {
7
7
  debug
8
- } from "./chunk-RVDWDEY6.js";
8
+ } from "./chunk-JNQ5X6FY.js";
9
9
  import {
10
10
  getCwd,
11
11
  getPybBaseDir,
12
12
  logError
13
- } from "./chunk-MONIWPPJ.js";
13
+ } from "./chunk-E6MRBVMZ.js";
14
14
 
15
15
  // src/services/plugins/customCommands.ts
16
16
  import { existsSync, readFileSync, readdirSync, statSync } from "fs";
@@ -5,17 +5,17 @@ import {
5
5
  getGlobalConfig,
6
6
  getOrCreateUserID,
7
7
  saveCurrentProjectConfig
8
- } from "./chunk-JPJLV62E.js";
8
+ } from "./chunk-6C2CNJRZ.js";
9
9
  import {
10
10
  SESSION_ID,
11
11
  env,
12
12
  execFileNoThrow,
13
13
  getCwd,
14
14
  logError
15
- } from "./chunk-MONIWPPJ.js";
15
+ } from "./chunk-E6MRBVMZ.js";
16
16
  import {
17
17
  MACRO
18
- } from "./chunk-NIDMOHDA.js";
18
+ } from "./chunk-G5EEYVNM.js";
19
19
  import {
20
20
  __require
21
21
  } from "./chunk-I3J4JYES.js";
@@ -2,7 +2,7 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  listPybAgentSessions
5
- } from "./chunk-J5HENS3F.js";
5
+ } from "./chunk-323DBFRU.js";
6
6
  import {
7
7
  DEFAULT_TIMEOUT_MS,
8
8
  FallbackToolUseRejectedMessage,
@@ -16,11 +16,11 @@ import {
16
16
  listMCPServers,
17
17
  loadMergedSettings,
18
18
  normalizeSandboxRuntimeConfigFromSettings
19
- } from "./chunk-MGU7OPPZ.js";
19
+ } from "./chunk-GU7DR4Q6.js";
20
20
  import {
21
21
  formatValidationResult,
22
22
  validatePluginOrMarketplacePath
23
- } from "./chunk-BO7QTTFB.js";
23
+ } from "./chunk-W7JREM72.js";
24
24
  import {
25
25
  addMarketplace,
26
26
  disableSkillPlugin,
@@ -33,15 +33,15 @@ import {
33
33
  refreshMarketplaceAsync,
34
34
  removeMarketplace,
35
35
  uninstallSkillPlugin
36
- } from "./chunk-YUB4IWOB.js";
36
+ } from "./chunk-VOXTBNUO.js";
37
37
  import {
38
38
  loadPybAgentSessionMessages
39
- } from "./chunk-CZGRVY44.js";
39
+ } from "./chunk-7GCGTI7J.js";
40
40
  import {
41
41
  appendSessionCustomTitleRecord,
42
42
  appendSessionJsonlFromMessage,
43
43
  appendSessionTagRecord
44
- } from "./chunk-OH45AP2K.js";
44
+ } from "./chunk-VIFUYXF3.js";
45
45
  import {
46
46
  getRequestStatus,
47
47
  setRequestStatus,
@@ -58,7 +58,7 @@ import {
58
58
  runStopHooks,
59
59
  runUserPromptSubmitHooks,
60
60
  updateHookTranscriptForMessages
61
- } from "./chunk-J4CEGSQ7.js";
61
+ } from "./chunk-2WZBP3E6.js";
62
62
  import {
63
63
  getPybAgentSessionId,
64
64
  setPybAgentSessionId
@@ -71,34 +71,35 @@ import {
71
71
  getOutputStyleSystemPromptAdditions,
72
72
  resolveOutputStyleName,
73
73
  setCurrentOutputStyle
74
- } from "./chunk-4RVXOTCT.js";
74
+ } from "./chunk-KLT3BL7D.js";
75
75
  import {
76
76
  fetchCustomModels,
77
77
  getModelFeatures
78
- } from "./chunk-OJ3JWDTV.js";
78
+ } from "./chunk-GDOGPXE6.js";
79
79
  import {
80
80
  queryLLM,
81
81
  queryQuick,
82
82
  verifyApiKey
83
- } from "./chunk-MXDNS5HL.js";
83
+ } from "./chunk-CBTG3DDM.js";
84
84
  import {
85
85
  listAllContentFiles,
86
- ripGrep
87
- } from "./chunk-74XTVYUF.js";
86
+ ripGrep,
87
+ tree
88
+ } from "./chunk-YHZXXFBV.js";
88
89
  import {
89
90
  getCustomCommandDirectories,
90
91
  hasCustomCommands,
91
92
  loadCustomCommands,
92
93
  reloadCustomCommands
93
- } from "./chunk-7BI7LYYP.js";
94
+ } from "./chunk-PDFPZAVP.js";
94
95
  import {
95
96
  loadToolPermissionContextFromDisk,
96
97
  persistToolPermissionUpdateToDisk
97
- } from "./chunk-VL3J3OB7.js";
98
+ } from "./chunk-L2STOSKP.js";
98
99
  import {
99
100
  getSettingsFileCandidates,
100
101
  loadSettingsWithLegacyFallback
101
- } from "./chunk-L6PDI2LK.js";
102
+ } from "./chunk-AMVMTW6J.js";
102
103
  import {
103
104
  applyToolPermissionContextUpdate,
104
105
  createDefaultToolPermissionContext
@@ -111,7 +112,7 @@ import {
111
112
  resetReminderSession,
112
113
  setTodos,
113
114
  systemReminderService
114
- } from "./chunk-QHPT5HAM.js";
115
+ } from "./chunk-FLAFIEJY.js";
115
116
  import {
116
117
  getSessionState
117
118
  } from "./chunk-ERMQRV55.js";
@@ -120,7 +121,7 @@ import {
120
121
  getActiveAgents,
121
122
  getAgentByType,
122
123
  getAllAgents
123
- } from "./chunk-GXHQJSTV.js";
124
+ } from "./chunk-YPLS7OWH.js";
124
125
  import {
125
126
  getSessionPlugins
126
127
  } from "./chunk-BJSWTHRM.js";
@@ -153,22 +154,22 @@ import {
153
154
  processUserInput,
154
155
  reorderMessages,
155
156
  stripSystemMessages
156
- } from "./chunk-GDKAN3RP.js";
157
+ } from "./chunk-WIFBEJAS.js";
157
158
  import {
158
159
  ModelManager,
159
160
  getModelManager,
160
161
  isDefaultSlowAndCapableModel
161
- } from "./chunk-MET7COVN.js";
162
+ } from "./chunk-3PVOXGE5.js";
162
163
  import {
163
164
  getCodeStyle,
164
165
  getContext,
165
166
  getGitState,
166
167
  getIsGit,
167
168
  getProjectDocs
168
- } from "./chunk-Y4NSWZ3P.js";
169
+ } from "./chunk-TFNPGJGI.js";
169
170
  import {
170
171
  getTheme
171
- } from "./chunk-PKOB5QYA.js";
172
+ } from "./chunk-GY3JVIGB.js";
172
173
  import {
173
174
  DEFAULT_GLOBAL_CONFIG,
174
175
  enableConfigs,
@@ -181,7 +182,7 @@ import {
181
182
  saveGlobalConfig,
182
183
  setAllPointersToModel,
183
184
  setModelPointer
184
- } from "./chunk-JPJLV62E.js";
185
+ } from "./chunk-6C2CNJRZ.js";
185
186
  import {
186
187
  AbortError
187
188
  } from "./chunk-RQVLBMP7.js";
@@ -190,7 +191,7 @@ import {
190
191
  getCurrentRequest,
191
192
  logUserFriendly,
192
193
  markPhase
193
- } from "./chunk-RVDWDEY6.js";
194
+ } from "./chunk-JNQ5X6FY.js";
194
195
  import {
195
196
  ASCII_LOGO,
196
197
  BunShell,
@@ -226,10 +227,10 @@ import {
226
227
  renderBashNotification,
227
228
  setActivePlanConversationKey,
228
229
  setCwd
229
- } from "./chunk-MONIWPPJ.js";
230
+ } from "./chunk-E6MRBVMZ.js";
230
231
  import {
231
232
  MACRO
232
- } from "./chunk-NIDMOHDA.js";
233
+ } from "./chunk-G5EEYVNM.js";
233
234
  import {
234
235
  formatTotalCost,
235
236
  getTotalAPIDuration,
@@ -417,7 +418,7 @@ var getCommandSubcommandPrefix = memoize(
417
418
  var getCommandPrefix = memoize(
418
419
  async (command4, abortSignal) => {
419
420
  const { systemPrompt, userPrompt } = buildBashCommandPrefixDetectionPrompt(command4);
420
- const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryQuick: queryQuick2 } = await import("./llm-VIIROLPD.js");
421
+ const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryQuick: queryQuick2 } = await import("./llm-5SVIGJOW.js");
421
422
  const response = await queryQuick2({
422
423
  systemPrompt,
423
424
  userPrompt,
@@ -4457,7 +4458,7 @@ function formatParseError(error) {
4457
4458
  return error instanceof Error ? error.message : String(error);
4458
4459
  }
4459
4460
  async function defaultGateQuery(args) {
4460
- const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryLLM: queryLLM2 } = await import("./llm-VIIROLPD.js");
4461
+ const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryLLM: queryLLM2 } = await import("./llm-5SVIGJOW.js");
4461
4462
  const messages = [
4462
4463
  {
4463
4464
  type: "user",
@@ -11012,7 +11013,7 @@ async function createAndStoreApiKey(accessToken) {
11012
11013
  }
11013
11014
  saveGlobalConfig(config2);
11014
11015
  try {
11015
- const { resetAnthropicClient } = await import("./llm-VIIROLPD.js");
11016
+ const { resetAnthropicClient } = await import("./llm-5SVIGJOW.js");
11016
11017
  resetAnthropicClient();
11017
11018
  } catch {
11018
11019
  }
@@ -15294,7 +15295,7 @@ async function refreshPluginRuntimeFromInstalls() {
15294
15295
  const existingRoots = getSessionPlugins().map((p) => p.rootDir);
15295
15296
  const dirs = Array.from(/* @__PURE__ */ new Set([...existingRoots, ...installedRoots]));
15296
15297
  if (dirs.length === 0) return [];
15297
- const { configureSessionPlugins } = await import("./pluginRuntime-2UNY7UUH.js");
15298
+ const { configureSessionPlugins } = await import("./pluginRuntime-IZ3VID66.js");
15298
15299
  const { errors } = await configureSessionPlugins({ pluginDirs: dirs });
15299
15300
  return errors;
15300
15301
  }
@@ -15963,7 +15964,7 @@ async function call(onDone, context) {
15963
15964
  ModelConfig,
15964
15965
  {
15965
15966
  onClose: () => {
15966
- import("./model-YJD7P7GS.js").then(({ reloadModelManager: reloadModelManager2 }) => {
15967
+ import("./model-M5RQC5M4.js").then(({ reloadModelManager: reloadModelManager2 }) => {
15967
15968
  reloadModelManager2();
15968
15969
  triggerModelConfigChange();
15969
15970
  onDone();
@@ -23222,7 +23223,7 @@ function useStatusLine() {
23222
23223
  // src/ui/components/PromptInput.tsx
23223
23224
  async function interpretHashCommand(input) {
23224
23225
  try {
23225
- const { queryQuick: queryQuick2 } = await import("./llm-VIIROLPD.js");
23226
+ const { queryQuick: queryQuick2 } = await import("./llm-5SVIGJOW.js");
23226
23227
  const systemPrompt = [
23227
23228
  "You're helping the user structure notes that will be added to their PYB.md file.",
23228
23229
  "Format the user's input into a well-structured note that will be useful for later reference.",
@@ -23535,7 +23536,7 @@ function PromptInput({
23535
23536
  if (messages2.length) {
23536
23537
  if (mode === "bash") {
23537
23538
  onQuery(messages2, newAbortController).then(async () => {
23538
- const { getCwd: getCwd2 } = await import("./state-WPCJDB3S.js");
23539
+ const { getCwd: getCwd2 } = await import("./state-CVX5CCDE.js");
23539
23540
  setCurrentPwd(getCwd2());
23540
23541
  });
23541
23542
  } else {
@@ -24087,6 +24088,7 @@ async function logBinaryFeedbackEvent(_m1, _m2, _choice) {
24087
24088
  var PybContextManager = class _PybContextManager {
24088
24089
  static instance;
24089
24090
  projectDocsCache = "";
24091
+ treeCache = "";
24090
24092
  cacheInitialized = false;
24091
24093
  initPromise = null;
24092
24094
  static getInstance() {
@@ -24099,8 +24101,12 @@ var PybContextManager = class _PybContextManager {
24099
24101
  if (this.initPromise) return this.initPromise;
24100
24102
  this.initPromise = (async () => {
24101
24103
  try {
24102
- const projectDocs = await getProjectDocs();
24104
+ const [projectDocs, treeStr] = await Promise.all([
24105
+ getProjectDocs(),
24106
+ tree(getCwd(), 50, new AbortController().signal).catch(() => "")
24107
+ ]);
24103
24108
  this.projectDocsCache = projectDocs || "";
24109
+ this.treeCache = treeStr;
24104
24110
  this.cacheInitialized = true;
24105
24111
  } catch (error) {
24106
24112
  logError(error);
@@ -24108,6 +24114,7 @@ var PybContextManager = class _PybContextManager {
24108
24114
  error: error instanceof Error ? error.message : String(error)
24109
24115
  });
24110
24116
  this.projectDocsCache = "";
24117
+ this.treeCache = "";
24111
24118
  this.cacheInitialized = true;
24112
24119
  }
24113
24120
  })();
@@ -24123,7 +24130,15 @@ var PybContextManager = class _PybContextManager {
24123
24130
  });
24124
24131
  return "";
24125
24132
  }
24126
- return this.projectDocsCache;
24133
+ const context = [
24134
+ this.projectDocsCache,
24135
+ this.treeCache ? `
24136
+ # Project Structure
24137
+ \`\`\`
24138
+ ${this.treeCache}
24139
+ \`\`\`` : ""
24140
+ ].filter(Boolean).join("\n\n");
24141
+ return context;
24127
24142
  }
24128
24143
  async refreshCache() {
24129
24144
  this.cacheInitialized = false;
@@ -25563,7 +25578,8 @@ function REPL({
25563
25578
  mcpClients = [],
25564
25579
  isDefaultModel = true,
25565
25580
  initialUpdateVersion,
25566
- initialUpdateCommands
25581
+ initialUpdateCommands,
25582
+ autoExit
25567
25583
  }) {
25568
25584
  const [verboseConfig] = useState26(
25569
25585
  () => verboseFromCLI ?? getGlobalConfig().verbose
@@ -25644,6 +25660,18 @@ function REPL({
25644
25660
  setShowCostDialog(true);
25645
25661
  }
25646
25662
  }, [messages, showCostDialog, haveShownCostDialog]);
25663
+ useEffect25(() => {
25664
+ if (autoExit && !isLoading) {
25665
+ const todos2 = getTodos();
25666
+ const hasTodos = todos2.length > 0;
25667
+ const allCompleted = todos2.every((t) => t.status === "completed");
25668
+ if (hasTodos && allCompleted) {
25669
+ setTimeout(() => {
25670
+ process.exit(0);
25671
+ }, 500);
25672
+ }
25673
+ }
25674
+ }, [isLoading, autoExit, messages]);
25647
25675
  const canUseTool = useCanUseTool_default(setToolUseConfirm);
25648
25676
  async function onInit() {
25649
25677
  reverify();
@@ -26294,7 +26322,7 @@ import { homedir as homedir7 } from "os";
26294
26322
  // src/commands/agents/generation.ts
26295
26323
  import { randomUUID as randomUUID5 } from "crypto";
26296
26324
  async function generateAgentWithClaude(prompt) {
26297
- const { queryModel } = await import("./llm-VIIROLPD.js");
26325
+ const { queryModel } = await import("./llm-5SVIGJOW.js");
26298
26326
  const systemPrompt = `You are an expert at creating AI agent configurations. Based on the user's description, generate a specialized agent configuration.
26299
26327
 
26300
26328
  Return your response as a JSON object with exactly these fields:
@@ -29496,6 +29524,9 @@ function countNewlines(text) {
29496
29524
  }
29497
29525
  var inputSchema13 = z16.strictObject({
29498
29526
  command: z16.string().describe("The command to execute"),
29527
+ cwd: z16.string().optional().describe(
29528
+ "The directory to execute the command in. Use absolute path or path relative to the project root."
29529
+ ),
29499
29530
  timeout: z16.number().optional().describe("Optional timeout in milliseconds (max 600000)"),
29500
29531
  description: z16.string().optional().describe(
29501
29532
  `Clear, concise description of what this command does in 5-10 words, in active voice. Examples:
@@ -29552,7 +29583,7 @@ var BashTool = {
29552
29583
  needsPermissions() {
29553
29584
  return true;
29554
29585
  },
29555
- async validateInput({ command: command4, timeout, dangerouslyDisableSandbox }, context) {
29586
+ async validateInput({ command: command4, timeout, dangerouslyDisableSandbox, cwd: cwd2 }, context) {
29556
29587
  const trimmed = command4.trim();
29557
29588
  if (/^ls(\s+|$)/.test(trimmed) && !trimmed.includes("-")) {
29558
29589
  return {
@@ -29586,6 +29617,18 @@ var BashTool = {
29586
29617
  message: "Sandbox cannot be disabled while safe mode is enabled."
29587
29618
  };
29588
29619
  }
29620
+ if (cwd2) {
29621
+ const fullTargetDir = isAbsolute10(cwd2) ? cwd2 : resolve10(getCwd(), cwd2);
29622
+ if (!isInDirectory(
29623
+ relative13(getOriginalCwd(), fullTargetDir),
29624
+ relative13(getCwd(), getOriginalCwd())
29625
+ )) {
29626
+ return {
29627
+ result: false,
29628
+ message: `ERROR: cwd '${fullTargetDir}' was blocked. For security, ${PRODUCT_NAME} may only execute commands in child directories of the original working directory (${getOriginalCwd()}) for this session.`
29629
+ };
29630
+ }
29631
+ }
29589
29632
  const commands = splitCommand(command4);
29590
29633
  for (const cmd of commands) {
29591
29634
  const parts = cmd.split(" ");
@@ -29669,7 +29712,8 @@ var BashTool = {
29669
29712
  timeout = DEFAULT_TIMEOUT_MS,
29670
29713
  run_in_background,
29671
29714
  dangerouslyDisableSandbox,
29672
- description: description2
29715
+ description: description2,
29716
+ cwd: cwd2
29673
29717
  }, context) {
29674
29718
  const { abortController, readFileTimestamps } = context;
29675
29719
  const setToolJSX = context.setToolJSX;
@@ -29679,9 +29723,10 @@ var BashTool = {
29679
29723
  const safeMode = Boolean(context?.safeMode ?? context?.options?.safeMode);
29680
29724
  const userPrompt = typeof context?.options?.lastUserPrompt === "string" ? context.options.lastUserPrompt.trim() : "";
29681
29725
  const commandDescription = typeof description2 === "string" ? description2.trim() : "";
29726
+ const effectiveCwd = cwd2 ? isAbsolute10(cwd2) ? cwd2 : resolve10(getCwd(), cwd2) : getCwd();
29682
29727
  const destructiveBlock = getBashDestructiveCommandBlock({
29683
29728
  command: command4,
29684
- cwd: getCwd(),
29729
+ cwd: effectiveCwd,
29685
29730
  originalCwd: getOriginalCwd(),
29686
29731
  commandSource,
29687
29732
  platform: process.platform
@@ -29711,7 +29756,7 @@ var BashTool = {
29711
29756
  require: systemSandboxDecision.required,
29712
29757
  allowNetwork: systemSandboxDecision.allowNetwork,
29713
29758
  writableRoots: [getOriginalCwd()],
29714
- chdir: getCwd()
29759
+ chdir: effectiveCwd
29715
29760
  } : void 0;
29716
29761
  const sandboxPlan = getBunShellSandboxPlan({
29717
29762
  command: command4,
@@ -29747,7 +29792,7 @@ var BashTool = {
29747
29792
  sandboxRequired: Boolean(
29748
29793
  sandboxOptions?.enabled && sandboxOptions.require
29749
29794
  ),
29750
- cwd: getCwd(),
29795
+ cwd: effectiveCwd,
29751
29796
  originalCwd: getOriginalCwd(),
29752
29797
  parentAbortSignal: abortController.signal,
29753
29798
  query: bashLlmGateQuery
@@ -29876,7 +29921,8 @@ var BashTool = {
29876
29921
  command4,
29877
29922
  timeout,
29878
29923
  {
29879
- sandbox: sandboxOptions
29924
+ sandbox: sandboxOptions,
29925
+ cwd: effectiveCwd
29880
29926
  }
29881
29927
  );
29882
29928
  const data = {
@@ -29919,7 +29965,8 @@ var BashTool = {
29919
29965
  {
29920
29966
  sandbox: sandboxOptions,
29921
29967
  onStdoutChunk: onChunk,
29922
- onStderrChunk: onChunk
29968
+ onStderrChunk: onChunk,
29969
+ cwd: effectiveCwd
29923
29970
  }
29924
29971
  );
29925
29972
  let backgroundRequested = false;