pybao-cli 1.5.7 → 1.5.9

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 (169) hide show
  1. package/dist/REPL-FDBOFOZN.js +50 -0
  2. package/dist/{acp-2LMTSBAU.js → acp-TKO6ZSSV.js} +54 -36
  3. package/dist/acp-TKO6ZSSV.js.map +7 -0
  4. package/dist/{agentsValidate-YQSHYCYC.js → agentsValidate-RDNLI7GA.js} +7 -7
  5. package/dist/{ask-4Z4LH5IS.js → ask-KTXMYPIA.js} +60 -34
  6. package/dist/ask-KTXMYPIA.js.map +7 -0
  7. package/dist/{autoUpdater-UTX7ZX2N.js → autoUpdater-53BZ6QWD.js} +3 -3
  8. package/dist/{chunk-OY6SB5B3.js → chunk-276RV4DQ.js} +4 -4
  9. package/dist/{chunk-7FFBXWS3.js → chunk-35X2VS4L.js} +3 -3
  10. package/dist/{chunk-VZDDKAL2.js → chunk-4C2CGHBI.js} +2 -2
  11. package/dist/{chunk-Y2RSIF7P.js → chunk-4KPVE4K7.js} +1 -1
  12. package/dist/{chunk-SDKYJZWD.js → chunk-57GJQMFS.js} +2 -2
  13. package/dist/{chunk-3JH34RBY.js → chunk-6PXEXL7C.js} +2 -2
  14. package/dist/{chunk-IKMMFSNJ.js → chunk-AMQ6XZOU.js} +1 -1
  15. package/dist/{chunk-W4PXRGP3.js → chunk-AWRDD6BG.js} +18 -1
  16. package/dist/chunk-AWRDD6BG.js.map +7 -0
  17. package/dist/{chunk-5JKCAVMI.js → chunk-BZGQQ4WZ.js} +3 -3
  18. package/dist/{chunk-4BFEUSKN.js → chunk-CATWZQ3R.js} +2 -2
  19. package/dist/{chunk-EGJRWKZ6.js → chunk-CPLMSZ63.js} +4 -4
  20. package/dist/{chunk-PI5RBPFA.js → chunk-DA6NJEFI.js} +2 -2
  21. package/dist/{chunk-IFC2PLAM.js → chunk-E35YJNX2.js} +4 -4
  22. package/dist/{chunk-TIMEEE5U.js → chunk-G7DKRXDS.js} +1 -4
  23. package/dist/{chunk-5F6IQJHF.js → chunk-HIJYNCCN.js} +1 -1
  24. package/dist/{chunk-F7HYDAWW.js → chunk-JE43CQYI.js} +3 -3
  25. package/dist/{chunk-JEAXJP2E.js → chunk-JLC2I3EY.js} +1 -1
  26. package/dist/chunk-JRMAK4PK.js +926 -0
  27. package/dist/chunk-JRMAK4PK.js.map +7 -0
  28. package/dist/{chunk-KLD4WAB6.js → chunk-KNLP4UO6.js} +4 -4
  29. package/dist/chunk-L3R7MPZU.js +81 -0
  30. package/dist/{chunk-ZD6NMP33.js.map → chunk-L3R7MPZU.js.map} +1 -1
  31. package/dist/{chunk-PMYMUSB4.js → chunk-LEYWQQ7V.js} +3 -3
  32. package/dist/{chunk-EN7L7JWN.js → chunk-LIOZM4KE.js} +1 -1
  33. package/dist/chunk-OC5CZWBQ.js.map +7 -0
  34. package/dist/{chunk-SWNNPHFY.js → chunk-PH6DPTO3.js} +2025 -1321
  35. package/dist/chunk-PH6DPTO3.js.map +7 -0
  36. package/dist/{chunk-CJ2YYIJN.js → chunk-PPFVOBEG.js} +144 -76
  37. package/dist/chunk-PPFVOBEG.js.map +7 -0
  38. package/dist/{chunk-4R7NUADF.js → chunk-Q5EZLUFC.js} +1 -1
  39. package/dist/{chunk-LYMH46VN.js → chunk-QMN64ICT.js} +3 -3
  40. package/dist/{chunk-VBV5RHIK.js → chunk-R4ZEH3KJ.js} +1 -1
  41. package/dist/{chunk-TKEWBSVM.js → chunk-SNASBZ2C.js} +3 -3
  42. package/dist/chunk-T7P3SSAQ.js +78 -0
  43. package/dist/chunk-T7P3SSAQ.js.map +7 -0
  44. package/dist/{chunk-T7UTA73F.js → chunk-TLZS274Y.js} +3 -3
  45. package/dist/{chunk-IOP3VA4X.js → chunk-YSL5H7NJ.js} +2 -2
  46. package/dist/{chunk-HFVRQO2J.js → chunk-YTEQEQ56.js} +48 -40
  47. package/dist/chunk-YTEQEQ56.js.map +7 -0
  48. package/dist/{cli-N3Q4D4BW.js → cli-LYWCNPC6.js} +131 -102
  49. package/dist/cli-LYWCNPC6.js.map +7 -0
  50. package/dist/commands-DYXAWJO6.js +54 -0
  51. package/dist/{config-GZXNPIIG.js → config-66BMMOES.js} +4 -4
  52. package/dist/{context-TUO5CUR3.js → context-PG7YTQCJ.js} +6 -6
  53. package/dist/conversationPersistence-DB6IUU2I.js +13 -0
  54. package/dist/{conversationTracker-APB6PR5Z.js → conversationTracker-WG3J56PX.js} +4 -3
  55. package/dist/{customCommands-J4DV6OI5.js → customCommands-XDKUVT73.js} +4 -4
  56. package/dist/{env-YBYEMHYQ.js → env-FW74XJHK.js} +2 -2
  57. package/dist/{file-KIBY6XZX.js → file-U2NXQ6RC.js} +4 -4
  58. package/dist/index.js +3 -3
  59. package/dist/{llm-T7C6QJWB.js → llm-6VJMMPDO.js} +416 -49
  60. package/dist/llm-6VJMMPDO.js.map +7 -0
  61. package/dist/{llmLazy-FDVUCPDQ.js → llmLazy-LYGZWC7G.js} +1 -1
  62. package/dist/{loader-QCHS455W.js → loader-DMZVU2XJ.js} +4 -4
  63. package/dist/{lsp-TE2SQ6CO.js → lsp-6LNF5DQB.js} +6 -6
  64. package/dist/{lspAnchor-IZ7YQJ64.js → lspAnchor-SF5Y7ZJT.js} +6 -6
  65. package/dist/{mcp-PLAWUZOQ.js → mcp-NLDX3RQE.js} +7 -7
  66. package/dist/{mentionProcessor-2O3AMZHB.js → mentionProcessor-BMX6VGRH.js} +5 -5
  67. package/dist/{messages-ZHFZ2OOG.js → messages-OTQ6IJM5.js} +9 -5
  68. package/dist/{model-GBC2PBVJ.js → model-KWGEASLY.js} +5 -5
  69. package/dist/{openai-2V2J23AE.js → openai-XIRWQY5H.js} +5 -5
  70. package/dist/{outputStyles-WD4VD4GZ.js → outputStyles-HKYM5C76.js} +4 -4
  71. package/dist/{pluginRuntime-WNZS26EV.js → pluginRuntime-25Y2MVIN.js} +6 -6
  72. package/dist/{pluginValidation-YP7MW35I.js → pluginValidation-CIJIQKGB.js} +6 -6
  73. package/dist/prompts-WH3VEHH6.js +56 -0
  74. package/dist/{pybAgentSessionLoad-YABCHELS.js → pybAgentSessionLoad-TF3BFX4S.js} +4 -4
  75. package/dist/{pybAgentSessionResume-C3LNSFQL.js → pybAgentSessionResume-Y5JO4GLH.js} +4 -4
  76. package/dist/{pybAgentStreamJsonSession-DFOGLEOB.js → pybAgentStreamJsonSession-46VLF4QN.js} +4 -3
  77. package/dist/pybAgentStreamJsonSession-46VLF4QN.js.map +7 -0
  78. package/dist/{pybHooks-LGGIB5PJ.js → pybHooks-LZPU4EF6.js} +4 -4
  79. package/dist/query-4B3GTPBN.js +58 -0
  80. package/dist/{registry-EYMCKHRG.js → registry-6LUE7ZWC.js} +5 -5
  81. package/dist/{ripgrep-JZN2MVSK.js → ripgrep-KVB55D22.js} +3 -3
  82. package/dist/{skillMarketplace-ETYXMAXF.js → skillMarketplace-2IVEPC2E.js} +3 -3
  83. package/dist/{state-MAVHRDNE.js → state-OGBESWFS.js} +2 -2
  84. package/dist/{theme-AUEZ6SNA.js → theme-QQ2SCFEK.js} +5 -5
  85. package/dist/{toolPermissionSettings-7JZYBUZC.js → toolPermissionSettings-ZGGPBK6S.js} +6 -6
  86. package/dist/tools-UXPFIHD4.js +55 -0
  87. package/dist/tools-UXPFIHD4.js.map +7 -0
  88. package/dist/{userInput-V6RU4BEQ.js → userInput-75VCTJDE.js} +76 -49
  89. package/dist/userInput-75VCTJDE.js.map +7 -0
  90. package/package.json +18 -1
  91. package/dist/REPL-YW6AH5YU.js +0 -49
  92. package/dist/acp-2LMTSBAU.js.map +0 -7
  93. package/dist/ask-4Z4LH5IS.js.map +0 -7
  94. package/dist/chunk-CJ2YYIJN.js.map +0 -7
  95. package/dist/chunk-HFVRQO2J.js.map +0 -7
  96. package/dist/chunk-O6DTZU7F.js.map +0 -7
  97. package/dist/chunk-SWNNPHFY.js.map +0 -7
  98. package/dist/chunk-W4PXRGP3.js.map +0 -7
  99. package/dist/chunk-YNGGZILT.js +0 -516
  100. package/dist/chunk-YNGGZILT.js.map +0 -7
  101. package/dist/chunk-ZD6NMP33.js +0 -240
  102. package/dist/cli-N3Q4D4BW.js.map +0 -7
  103. package/dist/commands-OOINF26E.js +0 -53
  104. package/dist/llm-T7C6QJWB.js.map +0 -7
  105. package/dist/prompts-QPYUI6SX.js +0 -55
  106. package/dist/pybAgentStreamJsonSession-DFOGLEOB.js.map +0 -7
  107. package/dist/query-EC6HGBDS.js +0 -57
  108. package/dist/tools-3JFVDDSZ.js +0 -54
  109. package/dist/userInput-V6RU4BEQ.js.map +0 -7
  110. /package/dist/{REPL-YW6AH5YU.js.map → REPL-FDBOFOZN.js.map} +0 -0
  111. /package/dist/{agentsValidate-YQSHYCYC.js.map → agentsValidate-RDNLI7GA.js.map} +0 -0
  112. /package/dist/{autoUpdater-UTX7ZX2N.js.map → autoUpdater-53BZ6QWD.js.map} +0 -0
  113. /package/dist/{chunk-OY6SB5B3.js.map → chunk-276RV4DQ.js.map} +0 -0
  114. /package/dist/{chunk-7FFBXWS3.js.map → chunk-35X2VS4L.js.map} +0 -0
  115. /package/dist/{chunk-VZDDKAL2.js.map → chunk-4C2CGHBI.js.map} +0 -0
  116. /package/dist/{chunk-Y2RSIF7P.js.map → chunk-4KPVE4K7.js.map} +0 -0
  117. /package/dist/{chunk-SDKYJZWD.js.map → chunk-57GJQMFS.js.map} +0 -0
  118. /package/dist/{chunk-3JH34RBY.js.map → chunk-6PXEXL7C.js.map} +0 -0
  119. /package/dist/{chunk-IKMMFSNJ.js.map → chunk-AMQ6XZOU.js.map} +0 -0
  120. /package/dist/{chunk-5JKCAVMI.js.map → chunk-BZGQQ4WZ.js.map} +0 -0
  121. /package/dist/{chunk-4BFEUSKN.js.map → chunk-CATWZQ3R.js.map} +0 -0
  122. /package/dist/{chunk-EGJRWKZ6.js.map → chunk-CPLMSZ63.js.map} +0 -0
  123. /package/dist/{chunk-PI5RBPFA.js.map → chunk-DA6NJEFI.js.map} +0 -0
  124. /package/dist/{chunk-IFC2PLAM.js.map → chunk-E35YJNX2.js.map} +0 -0
  125. /package/dist/{chunk-TIMEEE5U.js.map → chunk-G7DKRXDS.js.map} +0 -0
  126. /package/dist/{chunk-5F6IQJHF.js.map → chunk-HIJYNCCN.js.map} +0 -0
  127. /package/dist/{chunk-F7HYDAWW.js.map → chunk-JE43CQYI.js.map} +0 -0
  128. /package/dist/{chunk-JEAXJP2E.js.map → chunk-JLC2I3EY.js.map} +0 -0
  129. /package/dist/{chunk-KLD4WAB6.js.map → chunk-KNLP4UO6.js.map} +0 -0
  130. /package/dist/{chunk-PMYMUSB4.js.map → chunk-LEYWQQ7V.js.map} +0 -0
  131. /package/dist/{chunk-EN7L7JWN.js.map → chunk-LIOZM4KE.js.map} +0 -0
  132. /package/dist/{chunk-O6DTZU7F.js → chunk-OC5CZWBQ.js} +0 -0
  133. /package/dist/{chunk-4R7NUADF.js.map → chunk-Q5EZLUFC.js.map} +0 -0
  134. /package/dist/{chunk-LYMH46VN.js.map → chunk-QMN64ICT.js.map} +0 -0
  135. /package/dist/{chunk-VBV5RHIK.js.map → chunk-R4ZEH3KJ.js.map} +0 -0
  136. /package/dist/{chunk-TKEWBSVM.js.map → chunk-SNASBZ2C.js.map} +0 -0
  137. /package/dist/{chunk-T7UTA73F.js.map → chunk-TLZS274Y.js.map} +0 -0
  138. /package/dist/{chunk-IOP3VA4X.js.map → chunk-YSL5H7NJ.js.map} +0 -0
  139. /package/dist/{commands-OOINF26E.js.map → commands-DYXAWJO6.js.map} +0 -0
  140. /package/dist/{config-GZXNPIIG.js.map → config-66BMMOES.js.map} +0 -0
  141. /package/dist/{context-TUO5CUR3.js.map → context-PG7YTQCJ.js.map} +0 -0
  142. /package/dist/{conversationTracker-APB6PR5Z.js.map → conversationPersistence-DB6IUU2I.js.map} +0 -0
  143. /package/dist/{customCommands-J4DV6OI5.js.map → conversationTracker-WG3J56PX.js.map} +0 -0
  144. /package/dist/{env-YBYEMHYQ.js.map → customCommands-XDKUVT73.js.map} +0 -0
  145. /package/dist/{file-KIBY6XZX.js.map → env-FW74XJHK.js.map} +0 -0
  146. /package/dist/{llmLazy-FDVUCPDQ.js.map → file-U2NXQ6RC.js.map} +0 -0
  147. /package/dist/{loader-QCHS455W.js.map → llmLazy-LYGZWC7G.js.map} +0 -0
  148. /package/dist/{lsp-TE2SQ6CO.js.map → loader-DMZVU2XJ.js.map} +0 -0
  149. /package/dist/{mcp-PLAWUZOQ.js.map → lsp-6LNF5DQB.js.map} +0 -0
  150. /package/dist/{lspAnchor-IZ7YQJ64.js.map → lspAnchor-SF5Y7ZJT.js.map} +0 -0
  151. /package/dist/{messages-ZHFZ2OOG.js.map → mcp-NLDX3RQE.js.map} +0 -0
  152. /package/dist/{mentionProcessor-2O3AMZHB.js.map → mentionProcessor-BMX6VGRH.js.map} +0 -0
  153. /package/dist/{model-GBC2PBVJ.js.map → messages-OTQ6IJM5.js.map} +0 -0
  154. /package/dist/{openai-2V2J23AE.js.map → model-KWGEASLY.js.map} +0 -0
  155. /package/dist/{outputStyles-WD4VD4GZ.js.map → openai-XIRWQY5H.js.map} +0 -0
  156. /package/dist/{pluginValidation-YP7MW35I.js.map → outputStyles-HKYM5C76.js.map} +0 -0
  157. /package/dist/{pluginRuntime-WNZS26EV.js.map → pluginRuntime-25Y2MVIN.js.map} +0 -0
  158. /package/dist/{prompts-QPYUI6SX.js.map → pluginValidation-CIJIQKGB.js.map} +0 -0
  159. /package/dist/{pybAgentSessionLoad-YABCHELS.js.map → prompts-WH3VEHH6.js.map} +0 -0
  160. /package/dist/{pybAgentSessionResume-C3LNSFQL.js.map → pybAgentSessionLoad-TF3BFX4S.js.map} +0 -0
  161. /package/dist/{pybHooks-LGGIB5PJ.js.map → pybAgentSessionResume-Y5JO4GLH.js.map} +0 -0
  162. /package/dist/{query-EC6HGBDS.js.map → pybHooks-LZPU4EF6.js.map} +0 -0
  163. /package/dist/{registry-EYMCKHRG.js.map → query-4B3GTPBN.js.map} +0 -0
  164. /package/dist/{ripgrep-JZN2MVSK.js.map → registry-6LUE7ZWC.js.map} +0 -0
  165. /package/dist/{skillMarketplace-ETYXMAXF.js.map → ripgrep-KVB55D22.js.map} +0 -0
  166. /package/dist/{state-MAVHRDNE.js.map → skillMarketplace-2IVEPC2E.js.map} +0 -0
  167. /package/dist/{theme-AUEZ6SNA.js.map → state-OGBESWFS.js.map} +0 -0
  168. /package/dist/{toolPermissionSettings-7JZYBUZC.js.map → theme-QQ2SCFEK.js.map} +0 -0
  169. /package/dist/{tools-3JFVDDSZ.js.map → toolPermissionSettings-ZGGPBK6S.js.map} +0 -0
@@ -1,6 +1,9 @@
1
1
  #!/usr/bin/env bun
2
2
  import { createRequire as __pybCreateRequire } from "node:module";
3
3
  const require = __pybCreateRequire(import.meta.url);
4
+ import {
5
+ assertMinVersion
6
+ } from "./chunk-SNASBZ2C.js";
4
7
  import {
5
8
  ensurePackagedRuntimeEnv,
6
9
  ensureYogaWasmPath
@@ -9,16 +12,13 @@ import {
9
12
  getAllTools,
10
13
  toTaskDetail,
11
14
  toTaskListItem
12
- } from "./chunk-HFVRQO2J.js";
15
+ } from "./chunk-YTEQEQ56.js";
13
16
  import {
14
17
  PybAgentStructuredStdio
15
18
  } from "./chunk-5AGDLQAW.js";
16
- import {
17
- assertMinVersion
18
- } from "./chunk-TKEWBSVM.js";
19
19
  import {
20
20
  getToolDescription
21
- } from "./chunk-O6DTZU7F.js";
21
+ } from "./chunk-OC5CZWBQ.js";
22
22
  import {
23
23
  lastX
24
24
  } from "./chunk-CZZKRPE2.js";
@@ -30,32 +30,35 @@ import {
30
30
  addToHistory,
31
31
  calculateReadyBlocked,
32
32
  clearTerminal,
33
+ createConversationTrackerPersistenceTelemetryEmitter,
33
34
  getTask,
34
35
  getTaskListPaths,
35
36
  grantReadPermissionForOriginalDir,
36
37
  hasPermissionsToUseTool,
37
38
  listTasks,
38
39
  rebuildTaskBlocks,
40
+ resolveTrackerPersistenceMode,
39
41
  review_default,
40
42
  useExitOnCtrlCD,
41
43
  useTerminalSize
42
- } from "./chunk-SWNNPHFY.js";
43
- import "./chunk-JEAXJP2E.js";
44
- import "./chunk-5JKCAVMI.js";
45
- import "./chunk-CJ2YYIJN.js";
44
+ } from "./chunk-PH6DPTO3.js";
45
+ import "./chunk-Q5EZLUFC.js";
46
+ import "./chunk-JLC2I3EY.js";
47
+ import "./chunk-L3R7MPZU.js";
48
+ import "./chunk-BZGQQ4WZ.js";
49
+ import "./chunk-PPFVOBEG.js";
50
+ import "./chunk-T7P3SSAQ.js";
46
51
  import {
47
52
  beginReplSessionScope
48
53
  } from "./chunk-F4AXICO7.js";
49
- import "./chunk-4R7NUADF.js";
50
- import "./chunk-ZD6NMP33.js";
51
54
  import "./chunk-5P7HBXTD.js";
52
- import "./chunk-T7UTA73F.js";
55
+ import "./chunk-TLZS274Y.js";
53
56
  import {
54
57
  clearOutputStyleCache
55
- } from "./chunk-3JH34RBY.js";
56
- import "./chunk-4BFEUSKN.js";
58
+ } from "./chunk-6PXEXL7C.js";
59
+ import "./chunk-CATWZQ3R.js";
57
60
  import "./chunk-XKYHFZEC.js";
58
- import "./chunk-KLD4WAB6.js";
61
+ import "./chunk-KNLP4UO6.js";
59
62
  import {
60
63
  addMcpServer,
61
64
  ensureConfigScope,
@@ -70,43 +73,43 @@ import {
70
73
  parseEnvVars,
71
74
  parseMcpHeaders,
72
75
  removeMcpServer
73
- } from "./chunk-OY6SB5B3.js";
74
- import "./chunk-VBV5RHIK.js";
75
- import "./chunk-7FFBXWS3.js";
76
+ } from "./chunk-276RV4DQ.js";
77
+ import "./chunk-R4ZEH3KJ.js";
78
+ import "./chunk-35X2VS4L.js";
76
79
  import "./chunk-UNNVICVU.js";
77
- import "./chunk-IOP3VA4X.js";
80
+ import "./chunk-YSL5H7NJ.js";
78
81
  import {
79
82
  clearAgentCache,
80
83
  setFlagAgentsFromCliJson
81
- } from "./chunk-PI5RBPFA.js";
84
+ } from "./chunk-DA6NJEFI.js";
82
85
  import {
83
86
  setEnabledSettingSourcesFromCli
84
87
  } from "./chunk-A3BVXXA3.js";
85
- import "./chunk-YNGGZILT.js";
88
+ import "./chunk-JRMAK4PK.js";
86
89
  import "./chunk-3DFBSQIT.js";
87
90
  import "./chunk-B6IMQJZM.js";
88
91
  import "./chunk-OUXHGDLH.js";
89
- import "./chunk-SDKYJZWD.js";
92
+ import "./chunk-57GJQMFS.js";
90
93
  import "./chunk-QWIBSCDN.js";
91
- import "./chunk-EGJRWKZ6.js";
92
- import "./chunk-F7HYDAWW.js";
93
- import "./chunk-5F6IQJHF.js";
94
+ import "./chunk-CPLMSZ63.js";
95
+ import "./chunk-JE43CQYI.js";
96
+ import "./chunk-HIJYNCCN.js";
94
97
  import "./chunk-UZ34JEUK.js";
95
- import "./chunk-VZDDKAL2.js";
98
+ import "./chunk-4C2CGHBI.js";
96
99
  import "./chunk-BJSWTHRM.js";
97
100
  import {
98
101
  getModelManager,
99
102
  isDefaultSlowAndCapableModel
100
- } from "./chunk-LYMH46VN.js";
103
+ } from "./chunk-QMN64ICT.js";
101
104
  import {
102
105
  getContext,
103
106
  removeContext,
104
107
  setContext
105
- } from "./chunk-IFC2PLAM.js";
106
- import "./chunk-EN7L7JWN.js";
108
+ } from "./chunk-E35YJNX2.js";
109
+ import "./chunk-LIOZM4KE.js";
107
110
  import {
108
111
  getTheme
109
- } from "./chunk-Y2RSIF7P.js";
112
+ } from "./chunk-4KPVE4K7.js";
110
113
  import {
111
114
  checkHasTrustDialogAccepted,
112
115
  deleteConfigForCLI,
@@ -120,14 +123,14 @@ import {
120
123
  saveGlobalConfig,
121
124
  setConfigForCLI,
122
125
  validateAndRepairAllGPT5Profiles
123
- } from "./chunk-PMYMUSB4.js";
126
+ } from "./chunk-LEYWQQ7V.js";
124
127
  import {
125
128
  ConfigParseError
126
129
  } from "./chunk-RQVLBMP7.js";
127
130
  import {
128
131
  debug,
129
132
  initDebugLogger
130
- } from "./chunk-IKMMFSNJ.js";
133
+ } from "./chunk-AMQ6XZOU.js";
131
134
  import {
132
135
  BunShell,
133
136
  CACHE_PATHS,
@@ -141,17 +144,21 @@ import {
141
144
  loadLogList,
142
145
  logError,
143
146
  parseLogFilename,
147
+ resolveXdgDataPath,
144
148
  setCwd,
145
149
  setOriginalCwd
146
- } from "./chunk-TIMEEE5U.js";
150
+ } from "./chunk-G7DKRXDS.js";
147
151
  import {
148
152
  MACRO
149
- } from "./chunk-W4PXRGP3.js";
153
+ } from "./chunk-AWRDD6BG.js";
150
154
  import "./chunk-I3J4JYES.js";
151
155
 
152
156
  // src/entrypoints/cli/runCli.tsx
153
157
  import { existsSync, readFileSync, writeFileSync as writeFileSync2 } from "node:fs";
154
158
 
159
+ // src/entrypoints/cli/printMode.ts
160
+ import { join } from "path";
161
+
155
162
  // src/entrypoints/cli/stdio/canUseTool.ts
156
163
  function createStdioCanUseTool(args) {
157
164
  if (args.normalizedPermissionPromptTool !== "stdio" || !args.structured) {
@@ -307,7 +314,7 @@ function createPrintModeControlRequestHandler(args) {
307
314
  // src/entrypoints/cli/stdio/streamJsonSession.ts
308
315
  async function runPrintModeStreamJsonSession(args) {
309
316
  const { beginReplSessionScope: beginReplSessionScope2 } = await import("./replSessionBridge-EBXNFUAD.js");
310
- const { runPybAgentStreamJsonSession } = await import("./pybAgentStreamJsonSession-DFOGLEOB.js");
317
+ const { runPybAgentStreamJsonSession } = await import("./pybAgentStreamJsonSession-46VLF4QN.js");
311
318
  const restoreSessionScope = beginReplSessionScope2(args.sessionId);
312
319
  try {
313
320
  await runPybAgentStreamJsonSession(args);
@@ -326,6 +333,12 @@ function createPrintModeStructuredStdio(args) {
326
333
  }
327
334
 
328
335
  // src/entrypoints/cli/printMode.ts
336
+ function getProjectDirSlug(cwd2) {
337
+ return cwd2.replace(/[^a-zA-Z0-9]/g, "-");
338
+ }
339
+ function getConversationTrackerPersistenceDir(cwd2) {
340
+ return resolveXdgDataPath(join(getProjectDirSlug(cwd2), "conversation-trackers"));
341
+ }
329
342
  async function runPrintMode({
330
343
  prompt,
331
344
  stdinContent,
@@ -466,23 +479,39 @@ async function runPrintMode({
466
479
  `);
467
480
  process.exit(0);
468
481
  }
469
- const { createUserMessage } = await import("./messages-ZHFZ2OOG.js");
470
- const { ConversationTracker } = await import("./conversationTracker-APB6PR5Z.js");
471
- const { getSystemPrompt } = await import("./prompts-QPYUI6SX.js");
472
- const { getContext: getContext2 } = await import("./context-TUO5CUR3.js");
482
+ const {
483
+ createUserMessageFromText,
484
+ createUserMessageFromBlocks
485
+ } = await import("./messages-OTQ6IJM5.js");
486
+ const { ConversationTracker } = await import("./conversationTracker-WG3J56PX.js");
487
+ const { FileSystemConversationPersistence } = await import("./conversationPersistence-DB6IUU2I.js");
488
+ const { getSystemPrompt } = await import("./prompts-WH3VEHH6.js");
489
+ const { getContext: getContext2 } = await import("./context-PG7YTQCJ.js");
473
490
  const { getTotalCost } = await import("./costTracker-DJVFVAVZ.js");
474
- const { query } = await import("./query-EC6HGBDS.js");
491
+ const { query } = await import("./query-4B3GTPBN.js");
475
492
  const { getPybAgentSessionId } = await import("./pybAgentSessionId-EPCAMQ25.js");
476
493
  const { pybMessageToSdkMessage, makeSdkInitMessage, makeSdkResultMessage } = await import("./pybAgentStreamJson-EQPO52B6.js");
477
494
  const { PybAgentStructuredStdio: PybAgentStructuredStdio2 } = await import("./pybAgentStructuredStdio-ROCSOGNT.js");
478
495
  const {
479
496
  loadToolPermissionContextFromDisk,
480
497
  persistToolPermissionUpdateToDisk
481
- } = await import("./toolPermissionSettings-7JZYBUZC.js");
498
+ } = await import("./toolPermissionSettings-ZGGPBK6S.js");
482
499
  const { applyToolPermissionContextUpdates } = await import("./toolPermissionContext-BSFV23IL.js");
483
500
  const sessionIdForSdk = getPybAgentSessionId();
501
+ const trackerPersistenceMode = resolveTrackerPersistenceMode({
502
+ context: { agentId: "print" },
503
+ rolloutKey: sessionIdForSdk
504
+ }).persistenceMode;
484
505
  const restoreSessionScope = beginReplSessionScope(sessionIdForSdk);
485
- const conversationTracker = new ConversationTracker();
506
+ const conversationTracker = new ConversationTracker({
507
+ sessionId: sessionIdForSdk,
508
+ persistence: new FileSystemConversationPersistence(
509
+ getConversationTrackerPersistenceDir(cwd2)
510
+ ),
511
+ persistenceMode: trackerPersistenceMode,
512
+ onPersistenceEvent: createConversationTrackerPersistenceTelemetryEmitter("print")
513
+ });
514
+ conversationTracker.restore();
486
515
  const startedAt = Date.now();
487
516
  const sdkMessages = [];
488
517
  try {
@@ -683,7 +712,7 @@ async function runPrintMode({
683
712
  const userMsg = await (async () => {
684
713
  if (normalizedInputFormat !== "stream-json") {
685
714
  addToHistory(inputPrompt);
686
- return createUserMessage(inputPrompt);
715
+ return createUserMessageFromText(inputPrompt);
687
716
  }
688
717
  if (!structured) {
689
718
  console.error("Error: Structured stdin is not available");
@@ -703,7 +732,7 @@ async function runPrintMode({
703
732
  console.error("Error: Invalid stream-json user message content");
704
733
  process.exit(1);
705
734
  }
706
- const m = createUserMessage(sdkContent);
735
+ const m = typeof sdkContent === "string" ? createUserMessageFromText(sdkContent) : createUserMessageFromBlocks(sdkContent);
707
736
  if (typeof sdkUser2.uuid === "string" && sdkUser2.uuid) {
708
737
  ;
709
738
  m.uuid = String(sdkUser2.uuid);
@@ -813,7 +842,7 @@ async function runPrintMode({
813
842
 
814
843
  // src/utils/session/cleanup.ts
815
844
  import { promises as fs } from "fs";
816
- import { join } from "path";
845
+ import { join as join2 } from "path";
817
846
  var THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1e3;
818
847
  function convertFileNameToDate(filename) {
819
848
  const isoStr = filename.split(".")[0].replace(/T(\d{2})-(\d{2})-(\d{2})-(\d{3})Z/, "T$1:$2:$3.$4Z");
@@ -831,7 +860,7 @@ async function cleanupOldMessageFiles() {
831
860
  try {
832
861
  const timestamp = convertFileNameToDate(file);
833
862
  if (timestamp < thirtyDaysAgo) {
834
- await fs.unlink(join(path, file));
863
+ await fs.unlink(join2(path, file));
835
864
  if (path === messagePath) {
836
865
  deletedCounts.messages++;
837
866
  } else {
@@ -868,9 +897,9 @@ async function setup(cwd2, safeMode) {
868
897
  grantReadPermissionForOriginalDir();
869
898
  let agentLoader;
870
899
  try {
871
- agentLoader = await import("./loader-QCHS455W.js");
900
+ agentLoader = await import("./loader-DMZVU2XJ.js");
872
901
  } catch {
873
- agentLoader = await import("./loader-QCHS455W.js");
902
+ agentLoader = await import("./loader-DMZVU2XJ.js");
874
903
  }
875
904
  const { startAgentWatcher } = agentLoader;
876
905
  await startAgentWatcher(() => {
@@ -2090,12 +2119,12 @@ async function parseArgs(stdinContent, renderContext) {
2090
2119
  assertMinVersion();
2091
2120
  {
2092
2121
  const requested = Array.isArray(pluginDir) && pluginDir.length > 0 ? pluginDir : [];
2093
- const { listEnabledInstalledPluginPackRoots } = await import("./skillMarketplace-ETYXMAXF.js");
2122
+ const { listEnabledInstalledPluginPackRoots } = await import("./skillMarketplace-2IVEPC2E.js");
2094
2123
  const installed = listEnabledInstalledPluginPackRoots();
2095
2124
  const all = [...installed, ...requested].filter(Boolean);
2096
2125
  const deduped = Array.from(new Set(all));
2097
2126
  if (deduped.length > 0) {
2098
- const { configureSessionPlugins } = await import("./pluginRuntime-WNZS26EV.js");
2127
+ const { configureSessionPlugins } = await import("./pluginRuntime-25Y2MVIN.js");
2099
2128
  const { errors } = await configureSessionPlugins({
2100
2129
  pluginDirs: deduped
2101
2130
  });
@@ -2105,9 +2134,9 @@ async function parseArgs(stdinContent, renderContext) {
2105
2134
  }
2106
2135
  }
2107
2136
  const [{ ask }, { getTools }, { getCommands }] = await Promise.all([
2108
- import("./ask-4Z4LH5IS.js"),
2109
- import("./tools-3JFVDDSZ.js"),
2110
- import("./commands-OOINF26E.js")
2137
+ import("./ask-KTXMYPIA.js"),
2138
+ import("./tools-UXPFIHD4.js"),
2139
+ import("./commands-DYXAWJO6.js")
2111
2140
  ]);
2112
2141
  const commands = await getCommands();
2113
2142
  const mcpClientsPromise = Array.isArray(mcpConfig) && mcpConfig.length > 0 || strictMcpConfig === true ? getClientsForCliMcpConfig({
@@ -2126,8 +2155,8 @@ async function parseArgs(stdinContent, renderContext) {
2126
2155
  const {
2127
2156
  loadPybAgentSessionMessages,
2128
2157
  findMostRecentPybAgentSessionId
2129
- } = await import("./pybAgentSessionLoad-YABCHELS.js");
2130
- const { listPybAgentSessions, resolvePybResumeSessionIdentifier } = await import("./pybAgentSessionResume-C3LNSFQL.js");
2158
+ } = await import("./pybAgentSessionLoad-TF3BFX4S.js");
2159
+ const { listPybAgentSessions, resolvePybResumeSessionIdentifier } = await import("./pybAgentSessionResume-Y5JO4GLH.js");
2131
2160
  const { isUuid } = await import("./uuid-CVHEFGW4.js");
2132
2161
  const { setPybAgentSessionId, getPybAgentSessionId } = await import("./pybAgentSessionId-EPCAMQ25.js");
2133
2162
  const { randomUUID } = await import("crypto");
@@ -2252,7 +2281,7 @@ async function parseArgs(stdinContent, renderContext) {
2252
2281
  { getLatestVersion, getUpdateCommandSuggestions },
2253
2282
  semverMod
2254
2283
  ] = await Promise.all([
2255
- import("./autoUpdater-UTX7ZX2N.js"),
2284
+ import("./autoUpdater-53BZ6QWD.js"),
2256
2285
  import("semver")
2257
2286
  ]);
2258
2287
  const semver = semverMod?.default ?? semverMod;
@@ -2313,7 +2342,7 @@ async function parseArgs(stdinContent, renderContext) {
2313
2342
  const isDefaultModel = await isDefaultSlowAndCapableModel();
2314
2343
  {
2315
2344
  const { render: render3 } = await import("ink");
2316
- const { REPL } = await import("./REPL-YW6AH5YU.js");
2345
+ const { REPL } = await import("./REPL-FDBOFOZN.js");
2317
2346
  render3(
2318
2347
  /* @__PURE__ */ React10.createElement(
2319
2348
  REPL,
@@ -2481,7 +2510,7 @@ async function parseArgs(stdinContent, renderContext) {
2481
2510
  { replace: !!replace }
2482
2511
  );
2483
2512
  saveGlobalConfig(nextConfig);
2484
- await import("./model-GBC2PBVJ.js").then(({ reloadModelManager }) => {
2513
+ await import("./model-KWGEASLY.js").then(({ reloadModelManager }) => {
2485
2514
  reloadModelManager();
2486
2515
  });
2487
2516
  if (warnings.length > 0) {
@@ -2500,7 +2529,7 @@ async function parseArgs(stdinContent, renderContext) {
2500
2529
  const workingDir = typeof options?.cwd === "string" ? options.cwd : typeof programCwd === "string" ? programCwd : cwd();
2501
2530
  const asJson = options?.json === true;
2502
2531
  await setup(workingDir, false);
2503
- const { reloadModelManager, getModelManager: getModelManager2 } = await import("./model-GBC2PBVJ.js");
2532
+ const { reloadModelManager, getModelManager: getModelManager2 } = await import("./model-KWGEASLY.js");
2504
2533
  reloadModelManager();
2505
2534
  const manager = getModelManager2();
2506
2535
  const config2 = getGlobalConfig();
@@ -2574,7 +2603,7 @@ Model profiles (${active.length}/${profiles.length} active):
2574
2603
  try {
2575
2604
  const workingDir = typeof options?.cwd === "string" ? options.cwd : cwd();
2576
2605
  await setup(workingDir, false);
2577
- const { validateAgentTemplates } = await import("./agentsValidate-YQSHYCYC.js");
2606
+ const { validateAgentTemplates } = await import("./agentsValidate-RDNLI7GA.js");
2578
2607
  const report = await validateAgentTemplates({
2579
2608
  cwd: workingDir,
2580
2609
  paths: Array.isArray(paths) ? paths : [],
@@ -2618,7 +2647,7 @@ Model profiles (${active.length}/${profiles.length} active):
2618
2647
  const registerMarketplaceCommands = (marketplaceCmd2) => {
2619
2648
  marketplaceCmd2.command("add <source>").description("Add a marketplace from a URL, path, or GitHub repo").action(async (source) => {
2620
2649
  try {
2621
- const { addMarketplace } = await import("./skillMarketplace-ETYXMAXF.js");
2650
+ const { addMarketplace } = await import("./skillMarketplace-2IVEPC2E.js");
2622
2651
  console.log("Adding marketplace...");
2623
2652
  const { name } = await addMarketplace(source);
2624
2653
  console.log(`Successfully added marketplace: ${name}`);
@@ -2630,7 +2659,7 @@ Model profiles (${active.length}/${profiles.length} active):
2630
2659
  });
2631
2660
  marketplaceCmd2.command("list").description("List all configured marketplaces").option("--json", "Output as JSON").action(async (options) => {
2632
2661
  try {
2633
- const { listMarketplaces } = await import("./skillMarketplace-ETYXMAXF.js");
2662
+ const { listMarketplaces } = await import("./skillMarketplace-2IVEPC2E.js");
2634
2663
  const marketplaces = listMarketplaces();
2635
2664
  if (options.json) {
2636
2665
  console.log(JSON.stringify(marketplaces, null, 2));
@@ -2669,7 +2698,7 @@ Model profiles (${active.length}/${profiles.length} active):
2669
2698
  });
2670
2699
  marketplaceCmd2.command("remove <name>").alias("rm").description("Remove a configured marketplace").action(async (name) => {
2671
2700
  try {
2672
- const { removeMarketplace } = await import("./skillMarketplace-ETYXMAXF.js");
2701
+ const { removeMarketplace } = await import("./skillMarketplace-2IVEPC2E.js");
2673
2702
  removeMarketplace(name);
2674
2703
  console.log(`Successfully removed marketplace: ${name}`);
2675
2704
  process.exit(0);
@@ -2686,7 +2715,7 @@ Model profiles (${active.length}/${profiles.length} active):
2686
2715
  listMarketplaces,
2687
2716
  refreshAllMarketplacesAsync,
2688
2717
  refreshMarketplaceAsync
2689
- } = await import("./skillMarketplace-ETYXMAXF.js");
2718
+ } = await import("./skillMarketplace-2IVEPC2E.js");
2690
2719
  const trimmed = typeof name === "string" ? name.trim() : "";
2691
2720
  if (trimmed) {
2692
2721
  console.log(`Updating marketplace: ${trimmed}...`);
@@ -2737,9 +2766,9 @@ Model profiles (${active.length}/${profiles.length} active):
2737
2766
  );
2738
2767
  process.exit(1);
2739
2768
  }
2740
- const { setCwd: setCwd2 } = await import("./state-MAVHRDNE.js");
2769
+ const { setCwd: setCwd2 } = await import("./state-OGBESWFS.js");
2741
2770
  await setCwd2(options.cwd ?? cwd());
2742
- const { installSkillPlugin } = await import("./skillMarketplace-ETYXMAXF.js");
2771
+ const { installSkillPlugin } = await import("./skillMarketplace-2IVEPC2E.js");
2743
2772
  const result = installSkillPlugin(plugin, {
2744
2773
  scope,
2745
2774
  force: options.force === true
@@ -2766,9 +2795,9 @@ ${skillList}`);
2766
2795
  );
2767
2796
  process.exit(1);
2768
2797
  }
2769
- const { setCwd: setCwd2 } = await import("./state-MAVHRDNE.js");
2798
+ const { setCwd: setCwd2 } = await import("./state-OGBESWFS.js");
2770
2799
  await setCwd2(options.cwd ?? cwd());
2771
- const { uninstallSkillPlugin } = await import("./skillMarketplace-ETYXMAXF.js");
2800
+ const { uninstallSkillPlugin } = await import("./skillMarketplace-2IVEPC2E.js");
2772
2801
  const result = uninstallSkillPlugin(plugin, { scope });
2773
2802
  const skillList = result.removedSkills.length > 0 ? `Skills: ${result.removedSkills.join(", ")}` : "Skills: (none)";
2774
2803
  console.log(`Uninstalled ${result.pluginSpec}
@@ -2792,9 +2821,9 @@ ${skillList}`);
2792
2821
  );
2793
2822
  process.exit(1);
2794
2823
  }
2795
- const { setCwd: setCwd2, getCwd: getCwd2 } = await import("./state-MAVHRDNE.js");
2824
+ const { setCwd: setCwd2, getCwd: getCwd2 } = await import("./state-OGBESWFS.js");
2796
2825
  await setCwd2(options.cwd ?? cwd());
2797
- const { listInstalledSkillPlugins } = await import("./skillMarketplace-ETYXMAXF.js");
2826
+ const { listInstalledSkillPlugins } = await import("./skillMarketplace-2IVEPC2E.js");
2798
2827
  const all = listInstalledSkillPlugins();
2799
2828
  const filtered = Object.fromEntries(
2800
2829
  Object.entries(all).filter(([, record]) => {
@@ -2838,9 +2867,9 @@ ${skillList}`);
2838
2867
  );
2839
2868
  process.exit(1);
2840
2869
  }
2841
- const { setCwd: setCwd2 } = await import("./state-MAVHRDNE.js");
2870
+ const { setCwd: setCwd2 } = await import("./state-OGBESWFS.js");
2842
2871
  await setCwd2(options.cwd ?? cwd());
2843
- const { enableSkillPlugin } = await import("./skillMarketplace-ETYXMAXF.js");
2872
+ const { enableSkillPlugin } = await import("./skillMarketplace-2IVEPC2E.js");
2844
2873
  const result = enableSkillPlugin(plugin, { scope });
2845
2874
  console.log(`Enabled ${result.pluginSpec}`);
2846
2875
  process.exit(0);
@@ -2862,9 +2891,9 @@ ${skillList}`);
2862
2891
  );
2863
2892
  process.exit(1);
2864
2893
  }
2865
- const { setCwd: setCwd2 } = await import("./state-MAVHRDNE.js");
2894
+ const { setCwd: setCwd2 } = await import("./state-OGBESWFS.js");
2866
2895
  await setCwd2(options.cwd ?? cwd());
2867
- const { disableSkillPlugin } = await import("./skillMarketplace-ETYXMAXF.js");
2896
+ const { disableSkillPlugin } = await import("./skillMarketplace-2IVEPC2E.js");
2868
2897
  const result = disableSkillPlugin(plugin, { scope });
2869
2898
  console.log(`Disabled ${result.pluginSpec}`);
2870
2899
  process.exit(0);
@@ -2875,9 +2904,9 @@ ${skillList}`);
2875
2904
  });
2876
2905
  pluginCmd.command("validate <path>").description("Validate a plugin or marketplace manifest").option("--cwd <cwd>", "The current working directory", String, cwd()).action(async (path, options) => {
2877
2906
  try {
2878
- const { setCwd: setCwd2 } = await import("./state-MAVHRDNE.js");
2907
+ const { setCwd: setCwd2 } = await import("./state-OGBESWFS.js");
2879
2908
  await setCwd2(options.cwd ?? cwd());
2880
- const { formatValidationResult, validatePluginOrMarketplacePath } = await import("./pluginValidation-YP7MW35I.js");
2909
+ const { formatValidationResult, validatePluginOrMarketplacePath } = await import("./pluginValidation-CIJIQKGB.js");
2881
2910
  const result = validatePluginOrMarketplacePath(path);
2882
2911
  console.log(
2883
2912
  `Validating ${result.fileType} manifest: ${result.filePath}
@@ -2899,9 +2928,9 @@ ${skillList}`);
2899
2928
  registerMarketplaceCommands(marketplaceCmd);
2900
2929
  skillsCmd.command("install <plugin>").description("Install a skill plugin pack (<plugin>@<marketplace>)").option("--cwd <cwd>", "The current working directory", String, cwd()).option("--project", "Install into this project (.pyb/...)", () => true).option("--force", "Overwrite existing installed files", () => true).action(async (plugin, options) => {
2901
2930
  try {
2902
- const { setCwd: setCwd2 } = await import("./state-MAVHRDNE.js");
2931
+ const { setCwd: setCwd2 } = await import("./state-OGBESWFS.js");
2903
2932
  await setCwd2(options.cwd ?? cwd());
2904
- const { installSkillPlugin } = await import("./skillMarketplace-ETYXMAXF.js");
2933
+ const { installSkillPlugin } = await import("./skillMarketplace-2IVEPC2E.js");
2905
2934
  const result = installSkillPlugin(plugin, {
2906
2935
  project: options.project === true,
2907
2936
  force: options.force === true
@@ -2917,9 +2946,9 @@ ${skillList}`);
2917
2946
  });
2918
2947
  skillsCmd.command("uninstall <plugin>").description("Uninstall a skill plugin pack (<plugin>@<marketplace>)").option("--cwd <cwd>", "The current working directory", String, cwd()).option("--project", "Uninstall from this project (.pyb/...)", () => true).action(async (plugin, options) => {
2919
2948
  try {
2920
- const { setCwd: setCwd2 } = await import("./state-MAVHRDNE.js");
2949
+ const { setCwd: setCwd2 } = await import("./state-OGBESWFS.js");
2921
2950
  await setCwd2(options.cwd ?? cwd());
2922
- const { uninstallSkillPlugin } = await import("./skillMarketplace-ETYXMAXF.js");
2951
+ const { uninstallSkillPlugin } = await import("./skillMarketplace-2IVEPC2E.js");
2923
2952
  const result = uninstallSkillPlugin(plugin, {
2924
2953
  project: options.project === true
2925
2954
  });
@@ -2934,7 +2963,7 @@ ${skillList}`);
2934
2963
  });
2935
2964
  skillsCmd.command("list-installed").description("List installed skill plugins").action(async () => {
2936
2965
  try {
2937
- const { listInstalledSkillPlugins } = await import("./skillMarketplace-ETYXMAXF.js");
2966
+ const { listInstalledSkillPlugins } = await import("./skillMarketplace-2IVEPC2E.js");
2938
2967
  console.log(JSON.stringify(listInstalledSkillPlugins(), null, 2));
2939
2968
  process.exit(0);
2940
2969
  } catch (error) {
@@ -3500,7 +3529,7 @@ ${skillList}`);
3500
3529
  const scope = ensureConfigScope(options.scope);
3501
3530
  const platform = process.platform;
3502
3531
  const { existsSync: existsSync2, readFileSync: readFileSync2 } = await import("fs");
3503
- const { join: join2 } = await import("path");
3532
+ const { join: join3 } = await import("path");
3504
3533
  const { exec } = await import("child_process");
3505
3534
  const isWSL = platform === "linux" && existsSync2("/proc/version") && readFileSync2("/proc/version", "utf-8").toLowerCase().includes("microsoft");
3506
3535
  if (platform !== "darwin" && platform !== "win32" && !isWSL) {
@@ -3511,12 +3540,12 @@ ${skillList}`);
3511
3540
  }
3512
3541
  let configPath;
3513
3542
  if (platform === "darwin") {
3514
- configPath = join2(
3543
+ configPath = join3(
3515
3544
  process.env.HOME || "~",
3516
3545
  "Library/Application Support/Claude/claude_desktop_config.json"
3517
3546
  );
3518
3547
  } else if (platform === "win32") {
3519
- configPath = join2(
3548
+ configPath = join3(
3520
3549
  process.env.APPDATA || "",
3521
3550
  "Claude/claude_desktop_config.json"
3522
3551
  );
@@ -3580,7 +3609,7 @@ ${skillList}`);
3580
3609
  const ink = await import("ink");
3581
3610
  const reactModule = await import("react");
3582
3611
  const inkjsui = await import("@inkjs/ui");
3583
- const utilsTheme = await import("./theme-AUEZ6SNA.js");
3612
+ const utilsTheme = await import("./theme-QQ2SCFEK.js");
3584
3613
  const { render: render3 } = ink;
3585
3614
  const React11 = reactModule;
3586
3615
  const { MultiSelect: MultiSelect2 } = inkjsui;
@@ -3723,8 +3752,8 @@ ${skillList}`);
3723
3752
  const commandOptions = getCommandOptions(options);
3724
3753
  const workingDir = resolveWorkingDir(commandOptions, program);
3725
3754
  await setup(workingDir, false);
3726
- const { getAbsolutePath } = await import("./file-KIBY6XZX.js");
3727
- const { LspFacade } = await import("./lsp-TE2SQ6CO.js");
3755
+ const { getAbsolutePath } = await import("./file-U2NXQ6RC.js");
3756
+ const { LspFacade } = await import("./lsp-6LNF5DQB.js");
3728
3757
  const { existsSync: existsSync2 } = await import("fs");
3729
3758
  const absPath = getAbsolutePath(file) ?? file;
3730
3759
  if (!existsSync2(absPath)) {
@@ -3755,7 +3784,7 @@ ${skillList}`);
3755
3784
  try {
3756
3785
  const workingDir = resolveWorkingDir(options, program);
3757
3786
  await setup(workingDir, false);
3758
- const { LspFacade } = await import("./lsp-TE2SQ6CO.js");
3787
+ const { LspFacade } = await import("./lsp-6LNF5DQB.js");
3759
3788
  const result = await LspFacade.run({
3760
3789
  operation: "workspaceSymbol",
3761
3790
  filePath: query,
@@ -3772,8 +3801,8 @@ ${skillList}`);
3772
3801
  try {
3773
3802
  const workingDir = resolveWorkingDir(options, program);
3774
3803
  await setup(workingDir, false);
3775
- const { getAbsolutePath } = await import("./file-KIBY6XZX.js");
3776
- const { LspFacade } = await import("./lsp-TE2SQ6CO.js");
3804
+ const { getAbsolutePath } = await import("./file-U2NXQ6RC.js");
3805
+ const { LspFacade } = await import("./lsp-6LNF5DQB.js");
3777
3806
  const { existsSync: existsSync2 } = await import("fs");
3778
3807
  const absPath = getAbsolutePath(file) ?? file;
3779
3808
  if (!existsSync2(absPath)) {
@@ -3796,7 +3825,7 @@ ${skillList}`);
3796
3825
  try {
3797
3826
  const workingDir = resolveWorkingDir(options, program);
3798
3827
  await setup(workingDir, false);
3799
- const { LspFacade } = await import("./lsp-TE2SQ6CO.js");
3828
+ const { LspFacade } = await import("./lsp-6LNF5DQB.js");
3800
3829
  const status = LspFacade.status();
3801
3830
  console.log(JSON.stringify(status, null, 2));
3802
3831
  process.exit(0);
@@ -3810,7 +3839,7 @@ ${skillList}`);
3810
3839
  const commandOptions = getCommandOptions(options);
3811
3840
  const workingDir = resolveWorkingDir(commandOptions, program);
3812
3841
  await setup(workingDir, false);
3813
- const { LspFacade } = await import("./lsp-TE2SQ6CO.js");
3842
+ const { LspFacade } = await import("./lsp-6LNF5DQB.js");
3814
3843
  const host = typeof commandOptions?.host === "string" && commandOptions.host.length > 0 ? commandOptions.host : "127.0.0.1";
3815
3844
  const port = typeof commandOptions?.port === "number" && !Number.isNaN(commandOptions.port) ? commandOptions.port : 7337;
3816
3845
  const server = LspFacade.serveStatus({ host, port });
@@ -3836,7 +3865,7 @@ ${skillList}`);
3836
3865
  program.command("update").description("Show manual upgrade commands (no auto-install)").action(async () => {
3837
3866
  console.log(`Current version: ${MACRO.VERSION}`);
3838
3867
  console.log("Checking for updates...");
3839
- const { getLatestVersion, getUpdateCommandSuggestions } = await import("./autoUpdater-UTX7ZX2N.js");
3868
+ const { getLatestVersion, getUpdateCommandSuggestions } = await import("./autoUpdater-53BZ6QWD.js");
3840
3869
  const latestVersion = await getLatestVersion();
3841
3870
  if (!latestVersion) {
3842
3871
  console.error("Failed to check for updates");
@@ -3891,8 +3920,8 @@ ${skillList}`);
3891
3920
  await setup(cwd2, safe);
3892
3921
  assertMinVersion();
3893
3922
  const [{ getTools }, { getCommands }] = await Promise.all([
3894
- import("./tools-3JFVDDSZ.js"),
3895
- import("./commands-OOINF26E.js")
3923
+ import("./tools-UXPFIHD4.js"),
3924
+ import("./commands-DYXAWJO6.js")
3896
3925
  ]);
3897
3926
  const [allTools, commands, mcpClients] = await Promise.all([
3898
3927
  getTools(
@@ -3903,8 +3932,8 @@ ${skillList}`);
3903
3932
  ]);
3904
3933
  const tools = disableSlashCommands === true ? allTools.filter((t) => t.name !== "SlashCommand") : allTools;
3905
3934
  if (identifier !== void 0) {
3906
- const { loadPybAgentSessionMessages } = await import("./pybAgentSessionLoad-YABCHELS.js");
3907
- const { listPybAgentSessions, resolvePybResumeSessionIdentifier } = await import("./pybAgentSessionResume-C3LNSFQL.js");
3935
+ const { loadPybAgentSessionMessages } = await import("./pybAgentSessionLoad-TF3BFX4S.js");
3936
+ const { listPybAgentSessions, resolvePybResumeSessionIdentifier } = await import("./pybAgentSessionResume-Y5JO4GLH.js");
3908
3937
  const { setPybAgentSessionId } = await import("./pybAgentSessionId-EPCAMQ25.js");
3909
3938
  const rawIdentifier = String(identifier).trim();
3910
3939
  const isLegacyNumber = /^-?\\d+$/.test(rawIdentifier);
@@ -3974,7 +4003,7 @@ ${skillList}`);
3974
4003
  const isDefaultModel = await isDefaultSlowAndCapableModel();
3975
4004
  {
3976
4005
  const { render: render3 } = await import("ink");
3977
- const { REPL } = await import("./REPL-YW6AH5YU.js");
4006
+ const { REPL } = await import("./REPL-FDBOFOZN.js");
3978
4007
  render3(
3979
4008
  /* @__PURE__ */ React10.createElement(
3980
4009
  REPL,
@@ -4001,7 +4030,7 @@ ${skillList}`);
4001
4030
  process.exit(1);
4002
4031
  }
4003
4032
  } else {
4004
- const { listPybAgentSessions } = await import("./pybAgentSessionResume-C3LNSFQL.js");
4033
+ const { listPybAgentSessions } = await import("./pybAgentSessionResume-Y5JO4GLH.js");
4005
4034
  const sessions = listPybAgentSessions({ cwd: cwd2 });
4006
4035
  if (sessions.length === 0) {
4007
4036
  console.error("No conversation found to resume");
@@ -4106,12 +4135,12 @@ async function gracefulExit(code = 0) {
4106
4135
  }
4107
4136
  isGracefulExitInProgress = true;
4108
4137
  try {
4109
- const { runSessionEndHooks } = await import("./pybHooks-LGGIB5PJ.js");
4138
+ const { runSessionEndHooks } = await import("./pybHooks-LZPU4EF6.js");
4110
4139
  const { getPybAgentSessionId } = await import("./pybAgentSessionId-EPCAMQ25.js");
4111
4140
  const { tmpdir } = await import("os");
4112
- const { join: join2 } = await import("path");
4141
+ const { join: join3 } = await import("path");
4113
4142
  const sessionId = getPybAgentSessionId();
4114
- const transcriptPath = join2(
4143
+ const transcriptPath = join3(
4115
4144
  tmpdir(),
4116
4145
  "pyb-hooks-transcripts",
4117
4146
  `${sessionId}.transcript.txt`