pybao-cli 1.5.42 → 1.5.44

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 (157) hide show
  1. package/dist/REPL-RDCLK6RR.js +53 -0
  2. package/dist/{acp-TVN3WHDY.js → acp-5JW2Z5BK.js} +32 -30
  3. package/dist/{acp-TVN3WHDY.js.map → acp-5JW2Z5BK.js.map} +1 -1
  4. package/dist/{agentsValidate-GHHBQ2V3.js → agentsValidate-YEK5UGHS.js} +7 -7
  5. package/dist/{ask-Q2KBAHNA.js → ask-SWVOM377.js} +32 -30
  6. package/dist/{ask-Q2KBAHNA.js.map → ask-SWVOM377.js.map} +1 -1
  7. package/dist/{autoUpdater-65UHQALF.js → autoUpdater-PL7DMA64.js} +3 -3
  8. package/dist/chunk-2RXKUCFS.js +56 -0
  9. package/dist/chunk-2RXKUCFS.js.map +7 -0
  10. package/dist/{chunk-3NASYKEW.js → chunk-2YBIQGI2.js} +1 -1
  11. package/dist/{chunk-3NASYKEW.js.map → chunk-2YBIQGI2.js.map} +1 -1
  12. package/dist/{chunk-N4EHD2WQ.js → chunk-33VCHOW6.js} +1 -1
  13. package/dist/{chunk-HMZHP623.js → chunk-3SI4IQ7A.js} +5 -5
  14. package/dist/{chunk-HMZHP623.js.map → chunk-3SI4IQ7A.js.map} +1 -1
  15. package/dist/{chunk-TNCM6TNK.js → chunk-4M455XYG.js} +3 -3
  16. package/dist/{chunk-W57S56SZ.js → chunk-7B4Y7L5M.js} +2 -2
  17. package/dist/{chunk-2VA64CKU.js → chunk-ATNQYVGD.js} +3 -3
  18. package/dist/{chunk-2ONDOJ32.js → chunk-BJ4E3H6T.js} +2 -2
  19. package/dist/{chunk-EQBLVRTX.js → chunk-BJTIYM4B.js} +2 -2
  20. package/dist/{chunk-S2TCT35Y.js → chunk-BOMJT46M.js} +2 -2
  21. package/dist/{chunk-SY5A3V3Q.js → chunk-BVVAZ4DR.js} +1 -1
  22. package/dist/{chunk-I5XULU7R.js → chunk-EEJ5JI2U.js} +3 -3
  23. package/dist/{chunk-Y2Z256D7.js → chunk-F6HXSL5C.js} +188 -62
  24. package/dist/{chunk-Y2Z256D7.js.map → chunk-F6HXSL5C.js.map} +3 -3
  25. package/dist/{chunk-5G4RB7MC.js → chunk-FAQR7BHA.js} +1 -1
  26. package/dist/{chunk-VWI4TG6L.js → chunk-FLDJME26.js} +3 -3
  27. package/dist/{chunk-FPJL5RXB.js → chunk-GSNBOX7K.js} +4 -4
  28. package/dist/{chunk-XGYRZA24.js → chunk-HSZ7IBIM.js} +3 -3
  29. package/dist/{chunk-6JEIJLDL.js → chunk-HY5AAVJ7.js} +8 -5
  30. package/dist/{chunk-6JEIJLDL.js.map → chunk-HY5AAVJ7.js.map} +2 -2
  31. package/dist/{chunk-DEZYDCUH.js → chunk-JZXFCQUD.js} +5 -14
  32. package/dist/chunk-JZXFCQUD.js.map +7 -0
  33. package/dist/{chunk-LMXJDGUG.js → chunk-KDXRWYUT.js} +1 -1
  34. package/dist/{chunk-3I5AJWST.js → chunk-KVS6BLCL.js} +1 -1
  35. package/dist/{chunk-LW26RTGS.js → chunk-L6WSTLLB.js} +1 -1
  36. package/dist/{chunk-W2ZTYIRJ.js → chunk-LR2HWOLF.js} +1 -1
  37. package/dist/{chunk-YIQDKWRI.js → chunk-LSQI3ED4.js} +2 -2
  38. package/dist/{chunk-FINT4Z7B.js → chunk-NBZOYYDD.js} +2 -2
  39. package/dist/{chunk-ZKDULVN5.js → chunk-O43ZKVDQ.js} +1 -1
  40. package/dist/{chunk-S3O3RCWN.js → chunk-SNA5ZOOW.js} +1 -1
  41. package/dist/{chunk-UJHTJTTS.js → chunk-SUX6ZULG.js} +3 -3
  42. package/dist/{chunk-7ALGFH5X.js → chunk-T7SKNYSX.js} +1 -1
  43. package/dist/chunk-TFHFYID3.js +18 -0
  44. package/dist/chunk-TFHFYID3.js.map +7 -0
  45. package/dist/{chunk-NVENXGF7.js → chunk-THVJEPLB.js} +3 -3
  46. package/dist/{chunk-VG2Z446J.js → chunk-WZLENCCJ.js} +4 -4
  47. package/dist/{chunk-SWH2U4BW.js → chunk-Z7L243Q6.js} +3 -3
  48. package/dist/{cli-R6FWX47L.js → cli-6JBMEDV3.js} +92 -90
  49. package/dist/{cli-R6FWX47L.js.map → cli-6JBMEDV3.js.map} +1 -1
  50. package/dist/commands-J63YXCO2.js +57 -0
  51. package/dist/{config-UOF22R5A.js → config-EULVMRO5.js} +4 -4
  52. package/dist/{context-2XY2LAUJ.js → context-JSG3K72W.js} +6 -6
  53. package/dist/{conversationPersistence-PWSEH5D2.js → conversationPersistence-YOMGSVQB.js} +3 -3
  54. package/dist/{conversationTracker-R3PKN554.js → conversationTracker-KGQRKNMN.js} +4 -4
  55. package/dist/{customCommands-KRYZL5FH.js → customCommands-M3Z7HX7X.js} +4 -4
  56. package/dist/{env-NFA6MDCD.js → env-PYJR5TNI.js} +2 -2
  57. package/dist/{file-B7O6H4QE.js → file-L62NMYKT.js} +4 -4
  58. package/dist/index.js +3 -3
  59. package/dist/{llm-SPIGEJ2Z.js → llm-PKYVR5KJ.js} +35 -32
  60. package/dist/{llm-SPIGEJ2Z.js.map → llm-PKYVR5KJ.js.map} +1 -1
  61. package/dist/{llmLazy-GPAEOXPV.js → llmLazy-DYXOEDSN.js} +1 -1
  62. package/dist/{loader-32QKHUOK.js → loader-D7IUXCSB.js} +4 -4
  63. package/dist/{lsp-VMFAYCLW.js → lsp-6L3OHSHQ.js} +6 -6
  64. package/dist/{lspAnchor-MLXUGBLJ.js → lspAnchor-RV7FWXWE.js} +20 -6
  65. package/dist/lspAnchor-RV7FWXWE.js.map +7 -0
  66. package/dist/{mcp-PLCRLS5A.js → mcp-FCSBXZMQ.js} +7 -7
  67. package/dist/{mentionProcessor-DFTGT52F.js → mentionProcessor-3CT5DI5R.js} +5 -5
  68. package/dist/{messages-TKAHXVGJ.js → messages-DX4Z6HYO.js} +2 -1
  69. package/dist/{model-EWO655R3.js → model-QNCC4JW3.js} +5 -5
  70. package/dist/{openai-DM5CXIXZ.js → openai-F5LQS5LW.js} +5 -5
  71. package/dist/{outputStyles-XJXX5ZXG.js → outputStyles-7L26LLBX.js} +4 -4
  72. package/dist/{pluginRuntime-WVEONLK3.js → pluginRuntime-I2K7DQ44.js} +6 -6
  73. package/dist/{pluginValidation-AQWVJ7FK.js → pluginValidation-MQLJ3B53.js} +6 -6
  74. package/dist/prompts-2JWFXAYC.js +59 -0
  75. package/dist/{pybAgentSessionLoad-4PHU7OTN.js → pybAgentSessionLoad-HAC4ENCY.js} +4 -4
  76. package/dist/{pybAgentSessionResume-CS3E6FIE.js → pybAgentSessionResume-XKKHWTBH.js} +4 -4
  77. package/dist/{pybAgentStreamJsonSession-PYZMFK7D.js → pybAgentStreamJsonSession-ERY4PPMZ.js} +2 -1
  78. package/dist/{pybAgentStreamJsonSession-PYZMFK7D.js.map → pybAgentStreamJsonSession-ERY4PPMZ.js.map} +1 -1
  79. package/dist/{pybHooks-JPX6L4HI.js → pybHooks-7ITFGBSK.js} +4 -4
  80. package/dist/query-JJ4E363R.js +57 -0
  81. package/dist/{registry-MBEH554P.js → registry-PEO43FQR.js} +5 -5
  82. package/dist/{ripgrep-XKTM64PS.js → ripgrep-W6K3ERM3.js} +3 -3
  83. package/dist/{skillMarketplace-APD57VBX.js → skillMarketplace-EUOXEYIC.js} +3 -3
  84. package/dist/{state-2QEHOVTA.js → state-ZPO2VKXG.js} +2 -2
  85. package/dist/{theme-NGDPNTUX.js → theme-22IBHJQQ.js} +5 -5
  86. package/dist/{toolPermissionSettings-RLNPVOBI.js → toolPermissionSettings-2DHBXAR6.js} +6 -6
  87. package/dist/tools-VEZA5UVZ.js +57 -0
  88. package/dist/{userInput-6ASB72OS.js → userInput-GBQSAXB7.js} +34 -32
  89. package/dist/{userInput-6ASB72OS.js.map → userInput-GBQSAXB7.js.map} +1 -1
  90. package/package.json +1 -1
  91. package/dist/REPL-B5KZD7G5.js +0 -51
  92. package/dist/chunk-DEZYDCUH.js.map +0 -7
  93. package/dist/commands-5BUFNWGW.js +0 -55
  94. package/dist/lspAnchor-MLXUGBLJ.js.map +0 -7
  95. package/dist/prompts-MYXXJHIA.js +0 -57
  96. package/dist/query-TFHNPQ35.js +0 -55
  97. package/dist/tools-U345EBHA.js +0 -55
  98. /package/dist/{REPL-B5KZD7G5.js.map → REPL-RDCLK6RR.js.map} +0 -0
  99. /package/dist/{agentsValidate-GHHBQ2V3.js.map → agentsValidate-YEK5UGHS.js.map} +0 -0
  100. /package/dist/{autoUpdater-65UHQALF.js.map → autoUpdater-PL7DMA64.js.map} +0 -0
  101. /package/dist/{chunk-N4EHD2WQ.js.map → chunk-33VCHOW6.js.map} +0 -0
  102. /package/dist/{chunk-TNCM6TNK.js.map → chunk-4M455XYG.js.map} +0 -0
  103. /package/dist/{chunk-W57S56SZ.js.map → chunk-7B4Y7L5M.js.map} +0 -0
  104. /package/dist/{chunk-2VA64CKU.js.map → chunk-ATNQYVGD.js.map} +0 -0
  105. /package/dist/{chunk-2ONDOJ32.js.map → chunk-BJ4E3H6T.js.map} +0 -0
  106. /package/dist/{chunk-EQBLVRTX.js.map → chunk-BJTIYM4B.js.map} +0 -0
  107. /package/dist/{chunk-S2TCT35Y.js.map → chunk-BOMJT46M.js.map} +0 -0
  108. /package/dist/{chunk-SY5A3V3Q.js.map → chunk-BVVAZ4DR.js.map} +0 -0
  109. /package/dist/{chunk-I5XULU7R.js.map → chunk-EEJ5JI2U.js.map} +0 -0
  110. /package/dist/{chunk-5G4RB7MC.js.map → chunk-FAQR7BHA.js.map} +0 -0
  111. /package/dist/{chunk-VWI4TG6L.js.map → chunk-FLDJME26.js.map} +0 -0
  112. /package/dist/{chunk-FPJL5RXB.js.map → chunk-GSNBOX7K.js.map} +0 -0
  113. /package/dist/{chunk-XGYRZA24.js.map → chunk-HSZ7IBIM.js.map} +0 -0
  114. /package/dist/{chunk-LMXJDGUG.js.map → chunk-KDXRWYUT.js.map} +0 -0
  115. /package/dist/{chunk-3I5AJWST.js.map → chunk-KVS6BLCL.js.map} +0 -0
  116. /package/dist/{chunk-LW26RTGS.js.map → chunk-L6WSTLLB.js.map} +0 -0
  117. /package/dist/{chunk-W2ZTYIRJ.js.map → chunk-LR2HWOLF.js.map} +0 -0
  118. /package/dist/{chunk-YIQDKWRI.js.map → chunk-LSQI3ED4.js.map} +0 -0
  119. /package/dist/{chunk-FINT4Z7B.js.map → chunk-NBZOYYDD.js.map} +0 -0
  120. /package/dist/{chunk-ZKDULVN5.js.map → chunk-O43ZKVDQ.js.map} +0 -0
  121. /package/dist/{chunk-S3O3RCWN.js.map → chunk-SNA5ZOOW.js.map} +0 -0
  122. /package/dist/{chunk-UJHTJTTS.js.map → chunk-SUX6ZULG.js.map} +0 -0
  123. /package/dist/{chunk-7ALGFH5X.js.map → chunk-T7SKNYSX.js.map} +0 -0
  124. /package/dist/{chunk-NVENXGF7.js.map → chunk-THVJEPLB.js.map} +0 -0
  125. /package/dist/{chunk-VG2Z446J.js.map → chunk-WZLENCCJ.js.map} +0 -0
  126. /package/dist/{chunk-SWH2U4BW.js.map → chunk-Z7L243Q6.js.map} +0 -0
  127. /package/dist/{commands-5BUFNWGW.js.map → commands-J63YXCO2.js.map} +0 -0
  128. /package/dist/{config-UOF22R5A.js.map → config-EULVMRO5.js.map} +0 -0
  129. /package/dist/{context-2XY2LAUJ.js.map → context-JSG3K72W.js.map} +0 -0
  130. /package/dist/{conversationPersistence-PWSEH5D2.js.map → conversationPersistence-YOMGSVQB.js.map} +0 -0
  131. /package/dist/{conversationTracker-R3PKN554.js.map → conversationTracker-KGQRKNMN.js.map} +0 -0
  132. /package/dist/{customCommands-KRYZL5FH.js.map → customCommands-M3Z7HX7X.js.map} +0 -0
  133. /package/dist/{env-NFA6MDCD.js.map → env-PYJR5TNI.js.map} +0 -0
  134. /package/dist/{file-B7O6H4QE.js.map → file-L62NMYKT.js.map} +0 -0
  135. /package/dist/{llmLazy-GPAEOXPV.js.map → llmLazy-DYXOEDSN.js.map} +0 -0
  136. /package/dist/{loader-32QKHUOK.js.map → loader-D7IUXCSB.js.map} +0 -0
  137. /package/dist/{lsp-VMFAYCLW.js.map → lsp-6L3OHSHQ.js.map} +0 -0
  138. /package/dist/{mcp-PLCRLS5A.js.map → mcp-FCSBXZMQ.js.map} +0 -0
  139. /package/dist/{mentionProcessor-DFTGT52F.js.map → mentionProcessor-3CT5DI5R.js.map} +0 -0
  140. /package/dist/{messages-TKAHXVGJ.js.map → messages-DX4Z6HYO.js.map} +0 -0
  141. /package/dist/{model-EWO655R3.js.map → model-QNCC4JW3.js.map} +0 -0
  142. /package/dist/{openai-DM5CXIXZ.js.map → openai-F5LQS5LW.js.map} +0 -0
  143. /package/dist/{outputStyles-XJXX5ZXG.js.map → outputStyles-7L26LLBX.js.map} +0 -0
  144. /package/dist/{pluginRuntime-WVEONLK3.js.map → pluginRuntime-I2K7DQ44.js.map} +0 -0
  145. /package/dist/{pluginValidation-AQWVJ7FK.js.map → pluginValidation-MQLJ3B53.js.map} +0 -0
  146. /package/dist/{prompts-MYXXJHIA.js.map → prompts-2JWFXAYC.js.map} +0 -0
  147. /package/dist/{pybAgentSessionLoad-4PHU7OTN.js.map → pybAgentSessionLoad-HAC4ENCY.js.map} +0 -0
  148. /package/dist/{pybAgentSessionResume-CS3E6FIE.js.map → pybAgentSessionResume-XKKHWTBH.js.map} +0 -0
  149. /package/dist/{pybHooks-JPX6L4HI.js.map → pybHooks-7ITFGBSK.js.map} +0 -0
  150. /package/dist/{query-TFHNPQ35.js.map → query-JJ4E363R.js.map} +0 -0
  151. /package/dist/{registry-MBEH554P.js.map → registry-PEO43FQR.js.map} +0 -0
  152. /package/dist/{ripgrep-XKTM64PS.js.map → ripgrep-W6K3ERM3.js.map} +0 -0
  153. /package/dist/{skillMarketplace-APD57VBX.js.map → skillMarketplace-EUOXEYIC.js.map} +0 -0
  154. /package/dist/{state-2QEHOVTA.js.map → state-ZPO2VKXG.js.map} +0 -0
  155. /package/dist/{theme-NGDPNTUX.js.map → theme-22IBHJQQ.js.map} +0 -0
  156. /package/dist/{toolPermissionSettings-RLNPVOBI.js.map → toolPermissionSettings-2DHBXAR6.js.map} +0 -0
  157. /package/dist/{tools-U345EBHA.js.map → tools-VEZA5UVZ.js.map} +0 -0
@@ -2,17 +2,17 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  loadPybAgentSessionMessages
5
- } from "./chunk-N4EHD2WQ.js";
5
+ } from "./chunk-33VCHOW6.js";
6
6
  import {
7
7
  appendSessionCustomTitleRecord,
8
8
  appendSessionJsonlFromMessage,
9
9
  appendSessionTagRecord,
10
10
  listPybAgentSessions
11
- } from "./chunk-TNCM6TNK.js";
11
+ } from "./chunk-4M455XYG.js";
12
12
  import {
13
13
  formatValidationResult,
14
14
  validatePluginOrMarketplacePath
15
- } from "./chunk-UJHTJTTS.js";
15
+ } from "./chunk-SUX6ZULG.js";
16
16
  import {
17
17
  ConversationTracker,
18
18
  appendFinishState,
@@ -20,10 +20,10 @@ import {
20
20
  getConversationTrackerForContext,
21
21
  isFinishComplete,
22
22
  mapFinishReason
23
- } from "./chunk-S3O3RCWN.js";
23
+ } from "./chunk-SNA5ZOOW.js";
24
24
  import {
25
25
  FileSystemConversationPersistence
26
- } from "./chunk-3I5AJWST.js";
26
+ } from "./chunk-KVS6BLCL.js";
27
27
  import {
28
28
  beginReplSessionScope
29
29
  } from "./chunk-F4AXICO7.js";
@@ -38,7 +38,7 @@ import {
38
38
  runStopHooks,
39
39
  runUserPromptSubmitHooks,
40
40
  updateHookTranscriptForMessages
41
- } from "./chunk-NVENXGF7.js";
41
+ } from "./chunk-THVJEPLB.js";
42
42
  import {
43
43
  DEFAULT_OUTPUT_STYLE,
44
44
  getAvailableOutputStyles,
@@ -47,11 +47,11 @@ import {
47
47
  getOutputStyleSystemPromptAdditions,
48
48
  resolveOutputStyleName,
49
49
  setCurrentOutputStyle
50
- } from "./chunk-EQBLVRTX.js";
50
+ } from "./chunk-BJTIYM4B.js";
51
51
  import {
52
52
  fetchCustomModels,
53
53
  getModelFeatures
54
- } from "./chunk-YIQDKWRI.js";
54
+ } from "./chunk-LSQI3ED4.js";
55
55
  import {
56
56
  getCurrentSessionId,
57
57
  getSessionState
@@ -60,7 +60,7 @@ import {
60
60
  queryLLM,
61
61
  queryQuick,
62
62
  verifyApiKey
63
- } from "./chunk-VG2Z446J.js";
63
+ } from "./chunk-WZLENCCJ.js";
64
64
  import {
65
65
  DEFAULT_TIMEOUT_MS,
66
66
  FallbackToolUseRejectedMessage,
@@ -75,7 +75,7 @@ import {
75
75
  listMCPServers,
76
76
  loadMergedSettings,
77
77
  normalizeSandboxRuntimeConfigFromSettings
78
- } from "./chunk-HMZHP623.js";
78
+ } from "./chunk-3SI4IQ7A.js";
79
79
  import {
80
80
  addMarketplace,
81
81
  disableSkillPlugin,
@@ -88,11 +88,11 @@ import {
88
88
  refreshMarketplaceAsync,
89
89
  removeMarketplace,
90
90
  uninstallSkillPlugin
91
- } from "./chunk-W2ZTYIRJ.js";
91
+ } from "./chunk-LR2HWOLF.js";
92
92
  import {
93
93
  loadToolPermissionContextFromDisk,
94
94
  persistToolPermissionUpdateToDisk
95
- } from "./chunk-I5XULU7R.js";
95
+ } from "./chunk-EEJ5JI2U.js";
96
96
  import {
97
97
  applyToolPermissionContextUpdate,
98
98
  applyToolPermissionContextUpdates,
@@ -103,14 +103,14 @@ import {
103
103
  generateSystemReminders,
104
104
  resetReminderSession,
105
105
  systemReminderService
106
- } from "./chunk-FINT4Z7B.js";
106
+ } from "./chunk-NBZOYYDD.js";
107
107
  import {
108
108
  clearAgentCache,
109
109
  getActiveAgents,
110
110
  getAgentByType,
111
111
  getAllAgents,
112
112
  getAvailableAgentTypes
113
- } from "./chunk-2ONDOJ32.js";
113
+ } from "./chunk-BJ4E3H6T.js";
114
114
  import {
115
115
  API_ERROR_MESSAGE_PREFIX,
116
116
  CANCEL_MESSAGE,
@@ -129,7 +129,6 @@ import {
129
129
  createUserMessageFromBlocks,
130
130
  createUserMessageFromText,
131
131
  emitAutoCompactTelemetryEvent,
132
- emitTelemetryEvent,
133
132
  extractTag,
134
133
  filterProgressMessagesForTools,
135
134
  getAutoCompactMetricsSnapshot,
@@ -143,11 +142,10 @@ import {
143
142
  normalizeMessages,
144
143
  normalizeMessagesForAPI,
145
144
  processUserInput,
146
- registerTelemetryListener,
147
145
  reorderMessages,
148
146
  resetAutoCompactTelemetry,
149
147
  stripSystemMessages
150
- } from "./chunk-DEZYDCUH.js";
148
+ } from "./chunk-JZXFCQUD.js";
151
149
  import {
152
150
  getRequestStatus,
153
151
  setRequestStatus,
@@ -179,10 +177,17 @@ import {
179
177
  normalizeFilePath,
180
178
  readTextContent,
181
179
  writeTextContent
182
- } from "./chunk-S2TCT35Y.js";
180
+ } from "./chunk-BOMJT46M.js";
183
181
  import {
184
182
  parseBlockEdits
185
183
  } from "./chunk-QWIBSCDN.js";
184
+ import {
185
+ toLspToolFallbackEvent
186
+ } from "./chunk-2RXKUCFS.js";
187
+ import {
188
+ emitTelemetryEvent,
189
+ registerTelemetryListener
190
+ } from "./chunk-TFHFYID3.js";
186
191
  import {
187
192
  LspAPI,
188
193
  LspFacade,
@@ -190,18 +195,18 @@ import {
190
195
  formatDiagnosticsPretty,
191
196
  initParser,
192
197
  loadLanguage
193
- } from "./chunk-6JEIJLDL.js";
198
+ } from "./chunk-HY5AAVJ7.js";
194
199
  import {
195
200
  getSettingsFileCandidates,
196
201
  loadSettingsWithLegacyFallback,
197
202
  readSettingsFile
198
- } from "./chunk-ZKDULVN5.js";
203
+ } from "./chunk-O43ZKVDQ.js";
199
204
  import {
200
205
  getCustomCommandDirectories,
201
206
  hasCustomCommands,
202
207
  loadCustomCommands,
203
208
  reloadCustomCommands
204
- } from "./chunk-W57S56SZ.js";
209
+ } from "./chunk-7B4Y7L5M.js";
205
210
  import {
206
211
  getSessionPlugins
207
212
  } from "./chunk-BJSWTHRM.js";
@@ -210,7 +215,7 @@ import {
210
215
  buildModelProfileKey,
211
216
  getModelManager,
212
217
  isDefaultSlowAndCapableModel
213
- } from "./chunk-VWI4TG6L.js";
218
+ } from "./chunk-FLDJME26.js";
214
219
  import {
215
220
  getCodeStyle,
216
221
  getContext,
@@ -218,16 +223,16 @@ import {
218
223
  getIsGit,
219
224
  getProjectDocs,
220
225
  getProjectStructureStatisticsBlock
221
- } from "./chunk-FPJL5RXB.js";
226
+ } from "./chunk-GSNBOX7K.js";
222
227
  import {
223
228
  getRipgrepPath,
224
229
  getRipgrepPolicyMode,
225
230
  resolveRipgrepPolicy,
226
231
  ripGrep
227
- } from "./chunk-LMXJDGUG.js";
232
+ } from "./chunk-KDXRWYUT.js";
228
233
  import {
229
234
  getTheme
230
- } from "./chunk-LW26RTGS.js";
235
+ } from "./chunk-L6WSTLLB.js";
231
236
  import {
232
237
  DEFAULT_GLOBAL_CONFIG,
233
238
  enableConfigs,
@@ -240,7 +245,7 @@ import {
240
245
  saveGlobalConfig,
241
246
  setAllPointersToModel,
242
247
  setModelPointer
243
- } from "./chunk-2VA64CKU.js";
248
+ } from "./chunk-ATNQYVGD.js";
244
249
  import {
245
250
  AbortError
246
251
  } from "./chunk-RQVLBMP7.js";
@@ -249,7 +254,7 @@ import {
249
254
  getCurrentRequest,
250
255
  logUserFriendly,
251
256
  markPhase
252
- } from "./chunk-7ALGFH5X.js";
257
+ } from "./chunk-T7SKNYSX.js";
253
258
  import {
254
259
  ASCII_LOGO,
255
260
  BunShell,
@@ -293,10 +298,10 @@ import {
293
298
  setCwd,
294
299
  shouldApplyToolOutputTruncation,
295
300
  truncateToolOutput
296
- } from "./chunk-SY5A3V3Q.js";
301
+ } from "./chunk-BVVAZ4DR.js";
297
302
  import {
298
303
  MACRO
299
- } from "./chunk-3NASYKEW.js";
304
+ } from "./chunk-2YBIQGI2.js";
300
305
  import {
301
306
  __export
302
307
  } from "./chunk-I3J4JYES.js";
@@ -477,7 +482,7 @@ var getCommandSubcommandPrefix = memoize(
477
482
  var getCommandPrefix = memoize(
478
483
  async (command4, abortSignal) => {
479
484
  const { systemPrompt, userPrompt } = buildBashCommandPrefixDetectionPrompt(command4);
480
- const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryQuick: queryQuick2 } = await import("./llm-SPIGEJ2Z.js");
485
+ const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryQuick: queryQuick2 } = await import("./llm-PKYVR5KJ.js");
481
486
  const response = await queryQuick2({
482
487
  systemPrompt,
483
488
  userPrompt,
@@ -4279,7 +4284,7 @@ function formatParseError(error) {
4279
4284
  return error instanceof Error ? error.message : String(error);
4280
4285
  }
4281
4286
  async function defaultGateQuery(args) {
4282
- const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryLLM: queryLLM2 } = await import("./llm-SPIGEJ2Z.js");
4287
+ const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryLLM: queryLLM2 } = await import("./llm-PKYVR5KJ.js");
4283
4288
  const queryLLMFn = args.queryLLMOverride ?? queryLLM2;
4284
4289
  const messages = [
4285
4290
  {
@@ -6672,7 +6677,7 @@ var FileEditTool = {
6672
6677
  const originalFileContent = currentFileContent;
6673
6678
  let totalPatch = [];
6674
6679
  const { SmartEdit } = await import("./smart-edit-AWHJDSU6.js");
6675
- const { findLspAnchor } = await import("./lspAnchor-MLXUGBLJ.js");
6680
+ const { findLspAnchor } = await import("./lspAnchor-RV7FWXWE.js");
6676
6681
  for (const op of editOperations) {
6677
6682
  const normalizedSearch = normalizeLineEndings(op.search);
6678
6683
  const normalizedReplace = normalizeLineEndings(op.replace);
@@ -6802,9 +6807,11 @@ var PROMPT3 = `Reads a file or directory from the local filesystem. You can acce
6802
6807
  - In directory mode, offset/limit are 1-based entry pagination and offset>=1 is required
6803
6808
  - In file mode, offset/limit are 1-based line pagination; offset=1 starts from the first line shown in cat -n output
6804
6809
  - By default, file mode reads up to ${MAX_LINES_TO_READ} lines starting from the beginning of the file
6805
- - You can optionally specify a line offset and limit (especially handy for long files). **Smart Truncation is active**: If your limit cuts a function or class in the middle, the tool will automatically extend the read range to include the full semantic block (up to 500 extra lines).
6810
+ - You can optionally specify a line offset and limit (especially handy for long files). **Smart Truncation is active** only in file mode when \`limit\` is provided and \`symbol_name\` is not provided: if your limit cuts a function or class in the middle, the tool will automatically extend the read range to include the full semantic block (up to 500 extra lines).
6811
+ - Smart Truncation is a best-effort semantic boundary repair (Tree-sitter). If semantic parsing fails, Read falls back to the original offset/limit window.
6806
6812
  - symbol_name enables LSP-assisted symbol read: provide an exact symbol name to resolve the symbol range and read that block directly
6807
- - Use symbol_name only after file path is confirmed and when you need a specific class/function definition; if symbol is missing or unresolved, fallback to offset/limit or use LspTool for semantic discovery
6813
+ - When \`symbol_name\` is provided, Read resolves symbol range via LSP and reads that block directly (offset/limit are ignored for range selection).
6814
+ - Use symbol_name only after file path is confirmed and when you need a specific class/function definition; if symbol is missing, unresolved, or LSP is unavailable, fallback to offset/limit or use LspTool for semantic discovery first.
6808
6815
  - Directory mode returns a one-level tree structure using \u251C\u2500\u2500/\u2514\u2500\u2500 and supports pagination continuation hints
6809
6816
  - For large files, iterate in chunks: offset=1 limit=200, then offset=201 limit=200, and so on until the needed region is covered
6810
6817
  - File text truncation is capped at 50KB per result and 2000 lines; 50KB is file text truncation and not a directory access gate
@@ -6845,10 +6852,32 @@ var PROMPT3 = `Reads a file or directory from the local filesystem. You can acce
6845
6852
 
6846
6853
  ### Example 4: LSP-Assisted Symbol Read
6847
6854
  <example>
6848
- user: Open the FileReadTool call implementation directly
6855
+ user: I only need the function that actually executes file reading, not the whole file
6849
6856
  assistant: [uses Glob/Grep to confirm FileReadTool file path]
6850
6857
  [uses Read with file_path="<absolute path>/FileReadTool.tsx" symbol_name="call"]
6851
- [if symbol is not found, retries with offset/limit or uses LspTool to inspect symbol names first]
6858
+ [if symbol is missing or unresolved, uses LspTool documentSymbol to discover exact symbol names, then retries]
6859
+ [if LSP is unavailable, falls back to offset/limit chunked reads around likely implementation area]
6860
+ <reasoning>
6861
+ The assistant used symbol_name-based Read because:
6862
+ 1. User intent is a specific implementation block, not whole-file browsing
6863
+ 2. symbol_name gives precise semantic range selection and avoids noisy context
6864
+ 3. LspTool is used only for symbol discovery fallback, while Read remains the code retrieval tool
6865
+ </reasoning>
6866
+ </example>
6867
+
6868
+ ### Example 5: Smart Truncation on Partial Window
6869
+ <example>
6870
+ user: Please read this file section for me; I do not know where the function ends
6871
+ assistant: [uses Read with file_path="<absolute path>/service.ts" offset=120 limit=30]
6872
+ [relies on Smart Truncation to auto-extend when the requested window cuts a function/class boundary]
6873
+ [checks returned startLine/numLines and continues with adjacent chunks if more context is needed]
6874
+ [if semantic parsing fails, falls back to original offset/limit and continues chunked reading]
6875
+ <reasoning>
6876
+ The assistant used offset/limit Read with Smart Truncation because:
6877
+ 1. User asked for a local section without symbol-level knowledge
6878
+ 2. Pagination windows can split semantic containers, causing misleading partial code
6879
+ 3. Smart Truncation repairs semantic boundaries while preserving pagination workflow
6880
+ </reasoning>
6852
6881
  </example>
6853
6882
  `.trim();
6854
6883
 
@@ -7308,8 +7337,8 @@ var SmartTruncator = class _SmartTruncator {
7308
7337
  }
7309
7338
  return { start: newStart, end: newEnd };
7310
7339
  } catch (err) {
7311
- console.error("SmartTruncator failed:", err);
7312
- return { start: startLine, end: endLine };
7340
+ const detail = err instanceof Error ? err.message : String(err);
7341
+ throw new Error(`SmartTruncator failed: ${detail}`);
7313
7342
  }
7314
7343
  }
7315
7344
  static findContainers(node) {
@@ -8541,6 +8570,39 @@ var DESCRIPTION4 = `Fast file pattern matching tool that works with any codebase
8541
8570
  import { existsSync as existsSync6, statSync as statSync9 } from "fs";
8542
8571
  import { isAbsolute as isAbsolute6, join as join5, relative as relative8, resolve as resolve6 } from "path";
8543
8572
  import { fileURLToPath as fileURLToPath2 } from "url";
8573
+
8574
+ // src/lsp/semanticFallbackReason.ts
8575
+ function toMessage(error) {
8576
+ return String(error instanceof Error ? error.message : error).toLowerCase();
8577
+ }
8578
+ function classifySemanticFallbackError(error) {
8579
+ const message = toMessage(error);
8580
+ if (message.includes("timeout")) {
8581
+ return "SERVER_TIMEOUT";
8582
+ }
8583
+ if (message.includes("scope") || message.includes("scoped path") || message.includes("too broad")) {
8584
+ return "WORKSPACE_SCOPE_TOO_BROAD";
8585
+ }
8586
+ if (message.includes("no lsp") || message.includes("lsp unavailable") || message.includes("unable to initialize lsp")) {
8587
+ return "LSP_UNAVAILABLE";
8588
+ }
8589
+ return "UNKNOWN";
8590
+ }
8591
+
8592
+ // src/lsp/semanticReasonPolicy.ts
8593
+ var SEMANTIC_REASON_SUGGESTIONS = {
8594
+ SYMBOLS_ADDED: "Suggestion: Use LspTool for symbol-level details and navigation.",
8595
+ NO_SYMBOL_MATCH: "Suggestion: Broaden query keywords or adjust search scope/path before retrying.",
8596
+ LSP_UNAVAILABLE: "Suggestion: Check LSP availability and fallback to text search while LSP recovers.",
8597
+ SERVER_TIMEOUT: "Suggestion: Narrow the search scope and retry to reduce LSP server load.",
8598
+ WORKSPACE_SCOPE_TOO_BROAD: "Suggestion: Provide a narrower path to reduce workspace symbol scan scope.",
8599
+ UNKNOWN: "Suggestion: Retry with a narrower scope and inspect LSP status diagnostics."
8600
+ };
8601
+ function buildSemanticSuggestion(reason) {
8602
+ return SEMANTIC_REASON_SUGGESTIONS[reason];
8603
+ }
8604
+
8605
+ // src/tools/filesystem/GlobTool/GlobTool.tsx
8544
8606
  var inputSchema6 = z6.strictObject({
8545
8607
  pattern: z6.string().describe("The glob pattern to match files against"),
8546
8608
  path: z6.string().optional().describe(
@@ -8629,6 +8691,8 @@ var GlobTool = {
8629
8691
  let files = raw.map((p) => isAbsolute6(p) ? p : join5(searchPath, p));
8630
8692
  const scopedPath = resolve6(searchPath);
8631
8693
  let semanticNotice;
8694
+ let semanticReason;
8695
+ let semanticSuggestion;
8632
8696
  if (semantic && files.length === 0) {
8633
8697
  try {
8634
8698
  const symbols = await LspAPI.workspaceSymbol(pattern, {
@@ -8648,11 +8712,17 @@ var GlobTool = {
8648
8712
  files = Array.from(/* @__PURE__ */ new Set([...files, ...semanticFiles]));
8649
8713
  if (semanticFiles.length > 0) {
8650
8714
  semanticNotice = `Semantic search: added ${semanticFiles.length} result${semanticFiles.length === 1 ? "" : "s"}. Next: use LspTool for details.`;
8715
+ semanticReason = "SYMBOLS_ADDED";
8716
+ semanticSuggestion = buildSemanticSuggestion("SYMBOLS_ADDED");
8651
8717
  } else {
8652
8718
  semanticNotice = "Semantic search: no symbols found.";
8719
+ semanticReason = "NO_SYMBOL_MATCH";
8720
+ semanticSuggestion = buildSemanticSuggestion("NO_SYMBOL_MATCH");
8653
8721
  }
8654
- } catch {
8722
+ } catch (e) {
8655
8723
  semanticNotice = "Semantic search: LSP unavailable.";
8724
+ semanticReason = classifySemanticFallbackError(e);
8725
+ semanticSuggestion = buildSemanticSuggestion(semanticReason);
8656
8726
  }
8657
8727
  }
8658
8728
  const truncated = files.length > DEFAULT_LIMIT;
@@ -8662,7 +8732,9 @@ var GlobTool = {
8662
8732
  durationMs: Date.now() - start,
8663
8733
  numFiles: limitedFiles.length,
8664
8734
  truncated,
8665
- ...semanticNotice ? { semanticNotice } : {}
8735
+ ...semanticNotice ? { semanticNotice } : {},
8736
+ ...semanticReason ? { semanticReason } : {},
8737
+ ...semanticSuggestion ? { semanticSuggestion } : {}
8666
8738
  };
8667
8739
  yield {
8668
8740
  type: "result",
@@ -8678,9 +8750,13 @@ var GlobTool = {
8678
8750
  result += '\n(Results truncated to 100 files. Narrow down: 1) Add specific path like "src/core/**/*" 2) Filter by extension like "*.test.ts" 3) Read a target directory path with Read for structure confirmation.)';
8679
8751
  }
8680
8752
  if (output.semanticNotice) {
8753
+ const reasonLine = output.semanticReason ? `Reason: ${output.semanticReason}` : void 0;
8754
+ const suggestionLine = output.semanticSuggestion ? output.semanticSuggestion : void 0;
8681
8755
  return `${result}
8682
8756
 
8683
- ${output.semanticNotice}`;
8757
+ ${output.semanticNotice}${reasonLine ? `
8758
+ ${reasonLine}` : ""}${suggestionLine ? `
8759
+ ${suggestionLine}` : ""}`;
8684
8760
  }
8685
8761
  return result;
8686
8762
  }
@@ -8947,7 +9023,9 @@ var GrepTool = {
8947
9023
  );
8948
9024
  const appendNotice = (base) => result.semanticNotice ? `${base}
8949
9025
 
8950
- ${result.semanticNotice}` : base;
9026
+ ${result.semanticNotice}${result.semanticReason ? `
9027
+ Reason: ${result.semanticReason}` : ""}${result.semanticSuggestion ? `
9028
+ ${result.semanticSuggestion}` : ""}` : base;
8951
9029
  if (result.mode === "content") {
8952
9030
  const base = result.content && result.content.length > 0 ? truncateToCharBudget(result.content) : "No matches found\nSuggestion: Read the target directory path to confirm one-level structure and search scope, then broaden matching conditions (case/regex/keyword variants, semantic=true), and if needed switch to content mode or expand the file set before searching again.";
8953
9031
  const withPagination = pagination ? `${base}
@@ -9054,6 +9132,8 @@ ${result.filenames.join("\n")}`;
9054
9132
  sandbox: sandboxPlan.settings.enabled ? sandboxPlan.bunShellSandboxOptions : void 0
9055
9133
  });
9056
9134
  let semanticNotice;
9135
+ let semanticReason;
9136
+ let semanticSuggestion;
9057
9137
  let semanticHits = [];
9058
9138
  const scopedRoot = resolve7(absolutePath);
9059
9139
  if ((lines.length === 0 || symbol_type) && semantic) {
@@ -9172,11 +9252,17 @@ ${result.filenames.join("\n")}`;
9172
9252
  );
9173
9253
  }
9174
9254
  semanticNotice = `Semantic search: added ${semanticHits.length} result${semanticHits.length === 1 ? "" : "s"}. Next: use LspTool for details.`;
9255
+ semanticReason = "SYMBOLS_ADDED";
9256
+ semanticSuggestion = buildSemanticSuggestion("SYMBOLS_ADDED");
9175
9257
  } else {
9176
9258
  semanticNotice = "Semantic search: no symbols found.";
9259
+ semanticReason = "NO_SYMBOL_MATCH";
9260
+ semanticSuggestion = buildSemanticSuggestion("NO_SYMBOL_MATCH");
9177
9261
  }
9178
9262
  } catch (e) {
9179
9263
  semanticNotice = "Semantic search: LSP unavailable.";
9264
+ semanticReason = classifySemanticFallbackError(e);
9265
+ semanticSuggestion = buildSemanticSuggestion(semanticReason);
9180
9266
  console.error("[GrepTool] Semantic search error:", e);
9181
9267
  }
9182
9268
  }
@@ -9200,7 +9286,9 @@ ${result.filenames.join("\n")}`;
9200
9286
  ...appliedLimit !== void 0 ? { appliedLimit } : {},
9201
9287
  ...appliedOffset > 0 ? { appliedOffset } : {},
9202
9288
  durationMs: Date.now() - start,
9203
- ...semanticNotice ? { semanticNotice } : {}
9289
+ ...semanticNotice ? { semanticNotice } : {},
9290
+ ...semanticReason ? { semanticReason } : {},
9291
+ ...semanticSuggestion ? { semanticSuggestion } : {}
9204
9292
  };
9205
9293
  yield {
9206
9294
  type: "result",
@@ -9242,7 +9330,9 @@ ${result.filenames.join("\n")}`;
9242
9330
  ...appliedLimit !== void 0 ? { appliedLimit } : {},
9243
9331
  ...appliedOffset > 0 ? { appliedOffset } : {},
9244
9332
  durationMs: Date.now() - start,
9245
- ...semanticNotice ? { semanticNotice } : {}
9333
+ ...semanticNotice ? { semanticNotice } : {},
9334
+ ...semanticReason ? { semanticReason } : {},
9335
+ ...semanticSuggestion ? { semanticSuggestion } : {}
9246
9336
  };
9247
9337
  yield {
9248
9338
  type: "result",
@@ -9275,7 +9365,9 @@ ${result.filenames.join("\n")}`;
9275
9365
  ...appliedLimit !== void 0 ? { appliedLimit } : {},
9276
9366
  ...appliedOffset > 0 ? { appliedOffset } : {},
9277
9367
  durationMs: Date.now() - start,
9278
- ...semanticNotice ? { semanticNotice } : {}
9368
+ ...semanticNotice ? { semanticNotice } : {},
9369
+ ...semanticReason ? { semanticReason } : {},
9370
+ ...semanticSuggestion ? { semanticSuggestion } : {}
9279
9371
  };
9280
9372
  yield {
9281
9373
  type: "result",
@@ -12473,7 +12565,7 @@ async function createAndStoreApiKey(accessToken) {
12473
12565
  }
12474
12566
  saveGlobalConfig(config2);
12475
12567
  try {
12476
- const { resetAnthropicClient } = await import("./llm-SPIGEJ2Z.js");
12568
+ const { resetAnthropicClient } = await import("./llm-PKYVR5KJ.js");
12477
12569
  resetAnthropicClient();
12478
12570
  } catch {
12479
12571
  }
@@ -16897,7 +16989,7 @@ async function refreshPluginRuntimeFromInstalls() {
16897
16989
  const existingRoots = getSessionPlugins().map((p) => p.rootDir);
16898
16990
  const dirs = Array.from(/* @__PURE__ */ new Set([...existingRoots, ...installedRoots]));
16899
16991
  if (dirs.length === 0) return [];
16900
- const { configureSessionPlugins } = await import("./pluginRuntime-WVEONLK3.js");
16992
+ const { configureSessionPlugins } = await import("./pluginRuntime-I2K7DQ44.js");
16901
16993
  const { errors } = await configureSessionPlugins({ pluginDirs: dirs });
16902
16994
  return errors;
16903
16995
  }
@@ -17572,7 +17664,7 @@ async function call(onDone, context) {
17572
17664
  ModelConfig,
17573
17665
  {
17574
17666
  onClose: () => {
17575
- import("./model-EWO655R3.js").then(({ reloadModelManager: reloadModelManager2 }) => {
17667
+ import("./model-QNCC4JW3.js").then(({ reloadModelManager: reloadModelManager2 }) => {
17576
17668
  reloadModelManager2();
17577
17669
  triggerModelConfigChange();
17578
17670
  onDone();
@@ -21114,7 +21206,7 @@ function buildAutoCompactAggregationFields(params) {
21114
21206
  }
21115
21207
 
21116
21208
  // src/utils/session/compactionBudget.ts
21117
- var DEFAULT_TOTAL_BUDGET_TOKENS = 12e3;
21209
+ var DEFAULT_TOTAL_BUDGET_TOKENS = 35e3;
21118
21210
  var DEFAULT_SUMMARY_RATIO = 0.45;
21119
21211
  var DEFAULT_CONVERSATION_RATIO = 0.2;
21120
21212
  var DEFAULT_RECOVERED_RATIO = 0.35;
@@ -24749,8 +24841,14 @@ function createErrorToolResultBlock(args) {
24749
24841
  }
24750
24842
 
24751
24843
  // src/app/queryRuntime/toolExecution.ts
24752
- var DEFAULT_TOOL_TIMEOUT_MS = 45e3;
24753
- function resolveToolTimeoutMs() {
24844
+ var DEFAULT_TOOL_TIMEOUT_MS = 18e4;
24845
+ var TOOL_TIMEOUT_EXCLUDE_TOOLS = /* @__PURE__ */ new Set([
24846
+ "Task"
24847
+ ]);
24848
+ function resolveToolTimeoutMs(toolName) {
24849
+ if (toolName && TOOL_TIMEOUT_EXCLUDE_TOOLS.has(toolName)) {
24850
+ return null;
24851
+ }
24754
24852
  const raw = Number(process.env.PYB_TOOL_TIMEOUT_MS ?? DEFAULT_TOOL_TIMEOUT_MS);
24755
24853
  if (!Number.isFinite(raw) || raw <= 0) {
24756
24854
  return DEFAULT_TOOL_TIMEOUT_MS;
@@ -24779,6 +24877,17 @@ async function consumeGeneratorWithTimeout(generator, timeoutMs, toolName) {
24779
24877
  }
24780
24878
  return results;
24781
24879
  }
24880
+ async function consumeGeneratorWithoutTimeout(generator) {
24881
+ const results = [];
24882
+ while (true) {
24883
+ const nextResult = await generator.next();
24884
+ if (nextResult.done) {
24885
+ break;
24886
+ }
24887
+ results.push(nextResult.value);
24888
+ }
24889
+ return results;
24890
+ }
24782
24891
  function buildToolHookBaseArgs(context, toolUseId) {
24783
24892
  return {
24784
24893
  retryEntryKey: buildRetryEntryKey([
@@ -25106,8 +25215,12 @@ async function* checkPermissionsAndCallTool(args) {
25106
25215
  ...args.context,
25107
25216
  toolUseId: args.toolUseID
25108
25217
  });
25109
- const timeoutMs = resolveToolTimeoutMs();
25110
- const results = await consumeGeneratorWithTimeout(generator, timeoutMs, args.tool.name);
25218
+ const timeoutMs = resolveToolTimeoutMs(args.tool.name);
25219
+ const results = timeoutMs === null ? await consumeGeneratorWithoutTimeout(generator) : await consumeGeneratorWithTimeout(
25220
+ generator,
25221
+ timeoutMs,
25222
+ args.tool.name
25223
+ );
25111
25224
  for (const result of results) {
25112
25225
  switch (result.type) {
25113
25226
  case "result": {
@@ -27594,7 +27707,7 @@ async function analyzeOutputWithLsp(output, exitCode) {
27594
27707
  if (exitCode !== 0 || errorCount > 0 || warningCount > 0) {
27595
27708
  try {
27596
27709
  const { isAbsolute: isAbsolute11, resolve: resolve16 } = await import("path");
27597
- const { getSessionRoot: getSessionRoot2 } = await import("./state-2QEHOVTA.js");
27710
+ const { getSessionRoot: getSessionRoot2 } = await import("./state-ZPO2VKXG.js");
27598
27711
  const lines = output.split("\n");
27599
27712
  const uniqueFiles = /* @__PURE__ */ new Set();
27600
27713
  const lspSuggestions = [];
@@ -27638,6 +27751,14 @@ async function analyzeOutputWithLsp(output, exitCode) {
27638
27751
  }
27639
27752
  }
27640
27753
  } catch (e) {
27754
+ emitTelemetryEvent(
27755
+ toLspToolFallbackEvent({
27756
+ tool: "TaskOutput",
27757
+ operation: "diagnostics",
27758
+ filePath: file,
27759
+ error: e
27760
+ })
27761
+ );
27641
27762
  console.error("LSP Analysis Error:", e);
27642
27763
  }
27643
27764
  }
@@ -27647,6 +27768,13 @@ async function analyzeOutputWithLsp(output, exitCode) {
27647
27768
  parts.push("LSP Analysis: no diagnostics");
27648
27769
  }
27649
27770
  } catch (e) {
27771
+ emitTelemetryEvent(
27772
+ toLspToolFallbackEvent({
27773
+ tool: "TaskOutput",
27774
+ operation: "diagnostics",
27775
+ error: e
27776
+ })
27777
+ );
27650
27778
  console.error("LSP Analysis Setup Error:", e);
27651
27779
  }
27652
27780
  }
@@ -27964,7 +28092,7 @@ var DeleteTool = {
27964
28092
  }
27965
28093
  if (!force) {
27966
28094
  try {
27967
- const { LspFacade: LspFacade2 } = await import("./lsp-VMFAYCLW.js");
28095
+ const { LspFacade: LspFacade2 } = await import("./lsp-6L3OHSHQ.js");
27968
28096
  const referenceDetail = await LspFacade2.checkFileReferences(fullPath);
27969
28097
  if (referenceDetail) {
27970
28098
  failedItems.push(
@@ -38366,7 +38494,7 @@ function useStatusLine() {
38366
38494
  // src/ui/components/PromptInput.tsx
38367
38495
  async function interpretHashCommand(input) {
38368
38496
  try {
38369
- const { queryQuick: queryQuick2 } = await import("./llm-SPIGEJ2Z.js");
38497
+ const { queryQuick: queryQuick2 } = await import("./llm-PKYVR5KJ.js");
38370
38498
  const systemPrompt = [
38371
38499
  "You're helping the user structure notes that will be added to their PYB.md file.",
38372
38500
  "Format the user's input into a well-structured note that will be useful for later reference.",
@@ -38679,7 +38807,7 @@ function PromptInput({
38679
38807
  if (messages2.length) {
38680
38808
  if (mode === "bash") {
38681
38809
  onQuery(messages2, newAbortController).then(async () => {
38682
- const { getCwd: getCwd2 } = await import("./state-2QEHOVTA.js");
38810
+ const { getCwd: getCwd2 } = await import("./state-ZPO2VKXG.js");
38683
38811
  setCurrentPwd(getCwd2());
38684
38812
  });
38685
38813
  } else {
@@ -40309,7 +40437,7 @@ import { homedir as homedir8 } from "os";
40309
40437
  // src/commands/agents/generation.ts
40310
40438
  import { randomUUID as randomUUID9 } from "crypto";
40311
40439
  async function generateAgentWithClaude(prompt) {
40312
- const { queryModel } = await import("./llm-SPIGEJ2Z.js");
40440
+ const { queryModel } = await import("./llm-PKYVR5KJ.js");
40313
40441
  const systemPrompt = `You are an expert at creating AI agent configurations. Based on the user's description, generate a specialized agent configuration.
40314
40442
 
40315
40443
  Return your response as a JSON object with exactly these fields:
@@ -43797,7 +43925,7 @@ ${footerParts.join(" ")}`;
43797
43925
 
43798
43926
  // src/constants/prompts.ts
43799
43927
  function getCLISyspromptPrefix() {
43800
- return `You are ${PRODUCT_NAME}, PYB-Method's Agent AI CLI for terminal & coding.`;
43928
+ return `You are ${PRODUCT_NAME}, PYB-XC's Agent AI CLI for terminal & coding.`;
43801
43929
  }
43802
43930
  async function getSystemPrompt(options) {
43803
43931
  const disableSlashCommands = options?.disableSlashCommands === true;
@@ -43820,7 +43948,7 @@ There are additional slash commands and flags available to the user. If the user
43820
43948
  To give feedback, users should ${MACRO.ISSUES_EXPLAINER}.
43821
43949
 
43822
43950
  # Task Management System
43823
- Use these tools (TaskCreate, TaskUpdate, TaskList, TaskGet) VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.
43951
+ Use these tools (TaskCreate, TaskUpdate, TaskList, TaskGet) VERY frequently to ensure that you are tracking your tasks or todos and giving the user visibility into your progress.
43824
43952
  These tools are powerful for planning tasks and for breaking down larger complex tasks\uFF08When a task requires 2 or more distinct steps or actions\uFF09 into smaller steps. For multi-step work, start by creating tasks with TaskCreate, then use TaskUpdate as you progress and dependencies. Use TaskList to review readiness and blockers, and TaskGet for details. TaskList only returns id/subject/status/blockedBy.
43825
43953
  When dependencies are ready, set metadata.planFinalized="true" with TaskUpdate to trigger global validation.
43826
43954
 
@@ -43878,8 +44006,6 @@ user: How many golf balls fit inside a jetta?
43878
44006
  assistant: 150000
43879
44007
  </example>
43880
44008
 
43881
-
43882
-
43883
44009
  <example>
43884
44010
  user: change the greeting in hello.ts
43885
44011
  assistant: [uses Read tool to read hello.ts]