pybao-cli 1.5.18 → 1.5.19

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 (154) hide show
  1. package/dist/REPL-GNHAV3LL.js +50 -0
  2. package/dist/{acp-E7PSBZVL.js → acp-VADDAIVV.js} +31 -31
  3. package/dist/{agentsValidate-5SYNHJU3.js → agentsValidate-VDPY7LYN.js} +7 -7
  4. package/dist/{ask-266JXOXX.js → ask-4ZMUM73X.js} +30 -30
  5. package/dist/{autoUpdater-B2NEZI5S.js → autoUpdater-RIDDLHLH.js} +3 -3
  6. package/dist/{chunk-OWVJDCD3.js → chunk-277JOCVZ.js} +1 -1
  7. package/dist/{chunk-VNHCWERF.js → chunk-2FDZ2PEI.js} +3 -3
  8. package/dist/{chunk-AU3KUCWJ.js → chunk-3JRH6I43.js} +3 -3
  9. package/dist/{chunk-MEYAIOUR.js → chunk-7AJ4EUUJ.js} +1 -1
  10. package/dist/{chunk-SLHGOQLQ.js → chunk-7I4S6UH7.js} +1 -1
  11. package/dist/{chunk-XIVGJEPA.js → chunk-7SWRPT6M.js} +3 -3
  12. package/dist/{chunk-SMRXVPJO.js → chunk-BPY6R2EU.js} +23 -12
  13. package/dist/chunk-BPY6R2EU.js.map +7 -0
  14. package/dist/{chunk-TVQIMRQR.js → chunk-CEHSLEJ3.js} +1 -1
  15. package/dist/{chunk-TVQIMRQR.js.map → chunk-CEHSLEJ3.js.map} +1 -1
  16. package/dist/{chunk-7MP24CSX.js → chunk-CGFEVSPI.js} +3 -3
  17. package/dist/{chunk-KX27QO65.js → chunk-FYOORPZ4.js} +4 -4
  18. package/dist/{chunk-MH6INOZV.js → chunk-IYGHQUN2.js} +2 -2
  19. package/dist/{chunk-ZQFDJJAQ.js → chunk-JKTDFI2S.js} +3 -3
  20. package/dist/{chunk-EMJK4OX7.js → chunk-JR5WF5M6.js} +2 -2
  21. package/dist/{chunk-H6IALBZQ.js → chunk-JTRFDGES.js} +1 -1
  22. package/dist/{chunk-JVU5Z6OG.js → chunk-KP7PMNEW.js} +1 -1
  23. package/dist/{chunk-JQEVUTXP.js → chunk-KRBHZ2NW.js} +4 -4
  24. package/dist/{chunk-LK7EWRRJ.js → chunk-KX7DKI3A.js} +4 -4
  25. package/dist/{chunk-7XVLVIM5.js → chunk-L6J4MPRE.js} +15 -15
  26. package/dist/{chunk-UEU42RLM.js → chunk-LXJUYOGP.js} +1 -1
  27. package/dist/{chunk-Q77WSFTD.js → chunk-M3AEV7WD.js} +2 -2
  28. package/dist/{chunk-TOWF6PJA.js → chunk-M6CFQRHR.js} +1 -1
  29. package/dist/{chunk-W5XUAORH.js → chunk-MRG76U66.js} +1 -1
  30. package/dist/{chunk-X52WVHNZ.js → chunk-OMCKTGQ5.js} +2 -2
  31. package/dist/{chunk-5W5QFMDG.js → chunk-PHBWXWFD.js} +2 -2
  32. package/dist/{chunk-EFRPV4TH.js → chunk-PJ2XKKDM.js} +3 -3
  33. package/dist/{chunk-ZLU7DVAO.js → chunk-PXAQPDGS.js} +1 -1
  34. package/dist/{chunk-PD5MV3BL.js → chunk-RUMV5QOU.js} +3 -3
  35. package/dist/{chunk-PMFFKAFV.js → chunk-TNOZ27TG.js} +2 -2
  36. package/dist/{chunk-6KEMNSSL.js → chunk-VB3UZHV6.js} +4 -4
  37. package/dist/{chunk-HE3VVGNG.js → chunk-VSKWAGTO.js} +1 -1
  38. package/dist/{chunk-IYLRQYZC.js → chunk-YKSGF3T7.js} +1 -1
  39. package/dist/{chunk-SI3S7CU7.js → chunk-ZWB3VSTH.js} +149 -136
  40. package/dist/{chunk-SI3S7CU7.js.map → chunk-ZWB3VSTH.js.map} +3 -3
  41. package/dist/{cli-NAGNW2KG.js → cli-AK6CYCFX.js} +91 -91
  42. package/dist/commands-5WWNVLIZ.js +54 -0
  43. package/dist/{config-PD5W6U42.js → config-FLSTRDUK.js} +4 -4
  44. package/dist/{context-IRYR262A.js → context-JQKLNDEK.js} +6 -6
  45. package/dist/{conversationPersistence-ORSRVEAX.js → conversationPersistence-RVLIJAVU.js} +3 -3
  46. package/dist/{conversationTracker-TSGS6LCG.js → conversationTracker-5HLVM6IU.js} +4 -4
  47. package/dist/{customCommands-5FLRWSSP.js → customCommands-J2RH24UE.js} +4 -4
  48. package/dist/{env-IONEA5NZ.js → env-PWLMV4WE.js} +2 -2
  49. package/dist/{file-SYRHIZ77.js → file-LY2Z6EYX.js} +4 -4
  50. package/dist/index.js +3 -3
  51. package/dist/{llm-VJSYR35Z.js → llm-RRAVQWE3.js} +31 -31
  52. package/dist/{llmLazy-2LTHC5GO.js → llmLazy-LRW757BZ.js} +1 -1
  53. package/dist/{loader-JJLWDQOK.js → loader-2LT2GMMI.js} +4 -4
  54. package/dist/{lsp-VLOR2JHV.js → lsp-XVTWUOP7.js} +6 -6
  55. package/dist/{lspAnchor-ZJ6C3YMJ.js → lspAnchor-WIAD4UCJ.js} +6 -6
  56. package/dist/{mcp-DQ4VCZDI.js → mcp-NNXV4YW5.js} +7 -7
  57. package/dist/{mentionProcessor-RLFFVUIM.js → mentionProcessor-YXD3BYZG.js} +5 -5
  58. package/dist/{messages-IBSDYWJD.js → messages-JJ6XSPH4.js} +1 -1
  59. package/dist/{model-DFI7KYFM.js → model-SHEZI5VH.js} +5 -5
  60. package/dist/{openai-UOZRW5BW.js → openai-MAEDGVOM.js} +5 -5
  61. package/dist/{outputStyles-5JPY4FFW.js → outputStyles-Y5T4PH3H.js} +4 -4
  62. package/dist/{pluginRuntime-46WBRCWE.js → pluginRuntime-EA5NXHW2.js} +6 -6
  63. package/dist/{pluginValidation-Q7P5KSXJ.js → pluginValidation-AA3RZDZQ.js} +6 -6
  64. package/dist/prompts-PMRRQP3L.js +56 -0
  65. package/dist/{pybAgentSessionLoad-53IYATQC.js → pybAgentSessionLoad-DKPYB2WI.js} +4 -4
  66. package/dist/{pybAgentSessionResume-QV2KVBNF.js → pybAgentSessionResume-QBNQXHZX.js} +4 -4
  67. package/dist/{pybAgentStreamJsonSession-OO5MPPX6.js → pybAgentStreamJsonSession-5PBYWXYX.js} +1 -1
  68. package/dist/{pybHooks-MREB4M3F.js → pybHooks-66OQ6DF7.js} +4 -4
  69. package/dist/query-RHLO6AS2.js +54 -0
  70. package/dist/{registry-LNXYXAWT.js → registry-3YQQGXL6.js} +5 -5
  71. package/dist/{ripgrep-TUNTG6IS.js → ripgrep-ZHLMP6TJ.js} +3 -3
  72. package/dist/{skillMarketplace-AE2OHKIJ.js → skillMarketplace-TXDXKVDH.js} +3 -3
  73. package/dist/{state-4U4OPB3H.js → state-YDKD6B6T.js} +2 -2
  74. package/dist/{theme-FVBJP337.js → theme-WSG2IX32.js} +5 -5
  75. package/dist/{toolPermissionSettings-QDSZVZ7V.js → toolPermissionSettings-26CM7QG5.js} +6 -6
  76. package/dist/tools-4HKXD3DV.js +55 -0
  77. package/dist/{userInput-H44UMEHE.js → userInput-BFWEIUZE.js} +32 -32
  78. package/package.json +1 -1
  79. package/dist/REPL-QVLNN3AM.js +0 -50
  80. package/dist/chunk-SMRXVPJO.js.map +0 -7
  81. package/dist/commands-D4FCEZDG.js +0 -54
  82. package/dist/prompts-NBLLVCYK.js +0 -56
  83. package/dist/query-733DFWD2.js +0 -54
  84. package/dist/tools-BDMYXQ2K.js +0 -55
  85. /package/dist/{REPL-QVLNN3AM.js.map → REPL-GNHAV3LL.js.map} +0 -0
  86. /package/dist/{acp-E7PSBZVL.js.map → acp-VADDAIVV.js.map} +0 -0
  87. /package/dist/{agentsValidate-5SYNHJU3.js.map → agentsValidate-VDPY7LYN.js.map} +0 -0
  88. /package/dist/{ask-266JXOXX.js.map → ask-4ZMUM73X.js.map} +0 -0
  89. /package/dist/{autoUpdater-B2NEZI5S.js.map → autoUpdater-RIDDLHLH.js.map} +0 -0
  90. /package/dist/{chunk-OWVJDCD3.js.map → chunk-277JOCVZ.js.map} +0 -0
  91. /package/dist/{chunk-VNHCWERF.js.map → chunk-2FDZ2PEI.js.map} +0 -0
  92. /package/dist/{chunk-AU3KUCWJ.js.map → chunk-3JRH6I43.js.map} +0 -0
  93. /package/dist/{chunk-MEYAIOUR.js.map → chunk-7AJ4EUUJ.js.map} +0 -0
  94. /package/dist/{chunk-SLHGOQLQ.js.map → chunk-7I4S6UH7.js.map} +0 -0
  95. /package/dist/{chunk-XIVGJEPA.js.map → chunk-7SWRPT6M.js.map} +0 -0
  96. /package/dist/{chunk-7MP24CSX.js.map → chunk-CGFEVSPI.js.map} +0 -0
  97. /package/dist/{chunk-KX27QO65.js.map → chunk-FYOORPZ4.js.map} +0 -0
  98. /package/dist/{chunk-MH6INOZV.js.map → chunk-IYGHQUN2.js.map} +0 -0
  99. /package/dist/{chunk-ZQFDJJAQ.js.map → chunk-JKTDFI2S.js.map} +0 -0
  100. /package/dist/{chunk-EMJK4OX7.js.map → chunk-JR5WF5M6.js.map} +0 -0
  101. /package/dist/{chunk-H6IALBZQ.js.map → chunk-JTRFDGES.js.map} +0 -0
  102. /package/dist/{chunk-JVU5Z6OG.js.map → chunk-KP7PMNEW.js.map} +0 -0
  103. /package/dist/{chunk-JQEVUTXP.js.map → chunk-KRBHZ2NW.js.map} +0 -0
  104. /package/dist/{chunk-LK7EWRRJ.js.map → chunk-KX7DKI3A.js.map} +0 -0
  105. /package/dist/{chunk-7XVLVIM5.js.map → chunk-L6J4MPRE.js.map} +0 -0
  106. /package/dist/{chunk-UEU42RLM.js.map → chunk-LXJUYOGP.js.map} +0 -0
  107. /package/dist/{chunk-Q77WSFTD.js.map → chunk-M3AEV7WD.js.map} +0 -0
  108. /package/dist/{chunk-TOWF6PJA.js.map → chunk-M6CFQRHR.js.map} +0 -0
  109. /package/dist/{chunk-W5XUAORH.js.map → chunk-MRG76U66.js.map} +0 -0
  110. /package/dist/{chunk-X52WVHNZ.js.map → chunk-OMCKTGQ5.js.map} +0 -0
  111. /package/dist/{chunk-5W5QFMDG.js.map → chunk-PHBWXWFD.js.map} +0 -0
  112. /package/dist/{chunk-EFRPV4TH.js.map → chunk-PJ2XKKDM.js.map} +0 -0
  113. /package/dist/{chunk-ZLU7DVAO.js.map → chunk-PXAQPDGS.js.map} +0 -0
  114. /package/dist/{chunk-PD5MV3BL.js.map → chunk-RUMV5QOU.js.map} +0 -0
  115. /package/dist/{chunk-PMFFKAFV.js.map → chunk-TNOZ27TG.js.map} +0 -0
  116. /package/dist/{chunk-6KEMNSSL.js.map → chunk-VB3UZHV6.js.map} +0 -0
  117. /package/dist/{chunk-HE3VVGNG.js.map → chunk-VSKWAGTO.js.map} +0 -0
  118. /package/dist/{chunk-IYLRQYZC.js.map → chunk-YKSGF3T7.js.map} +0 -0
  119. /package/dist/{cli-NAGNW2KG.js.map → cli-AK6CYCFX.js.map} +0 -0
  120. /package/dist/{commands-D4FCEZDG.js.map → commands-5WWNVLIZ.js.map} +0 -0
  121. /package/dist/{config-PD5W6U42.js.map → config-FLSTRDUK.js.map} +0 -0
  122. /package/dist/{context-IRYR262A.js.map → context-JQKLNDEK.js.map} +0 -0
  123. /package/dist/{conversationPersistence-ORSRVEAX.js.map → conversationPersistence-RVLIJAVU.js.map} +0 -0
  124. /package/dist/{conversationTracker-TSGS6LCG.js.map → conversationTracker-5HLVM6IU.js.map} +0 -0
  125. /package/dist/{customCommands-5FLRWSSP.js.map → customCommands-J2RH24UE.js.map} +0 -0
  126. /package/dist/{env-IONEA5NZ.js.map → env-PWLMV4WE.js.map} +0 -0
  127. /package/dist/{file-SYRHIZ77.js.map → file-LY2Z6EYX.js.map} +0 -0
  128. /package/dist/{llm-VJSYR35Z.js.map → llm-RRAVQWE3.js.map} +0 -0
  129. /package/dist/{llmLazy-2LTHC5GO.js.map → llmLazy-LRW757BZ.js.map} +0 -0
  130. /package/dist/{loader-JJLWDQOK.js.map → loader-2LT2GMMI.js.map} +0 -0
  131. /package/dist/{lsp-VLOR2JHV.js.map → lsp-XVTWUOP7.js.map} +0 -0
  132. /package/dist/{lspAnchor-ZJ6C3YMJ.js.map → lspAnchor-WIAD4UCJ.js.map} +0 -0
  133. /package/dist/{mcp-DQ4VCZDI.js.map → mcp-NNXV4YW5.js.map} +0 -0
  134. /package/dist/{mentionProcessor-RLFFVUIM.js.map → mentionProcessor-YXD3BYZG.js.map} +0 -0
  135. /package/dist/{messages-IBSDYWJD.js.map → messages-JJ6XSPH4.js.map} +0 -0
  136. /package/dist/{model-DFI7KYFM.js.map → model-SHEZI5VH.js.map} +0 -0
  137. /package/dist/{openai-UOZRW5BW.js.map → openai-MAEDGVOM.js.map} +0 -0
  138. /package/dist/{outputStyles-5JPY4FFW.js.map → outputStyles-Y5T4PH3H.js.map} +0 -0
  139. /package/dist/{pluginRuntime-46WBRCWE.js.map → pluginRuntime-EA5NXHW2.js.map} +0 -0
  140. /package/dist/{pluginValidation-Q7P5KSXJ.js.map → pluginValidation-AA3RZDZQ.js.map} +0 -0
  141. /package/dist/{prompts-NBLLVCYK.js.map → prompts-PMRRQP3L.js.map} +0 -0
  142. /package/dist/{pybAgentSessionLoad-53IYATQC.js.map → pybAgentSessionLoad-DKPYB2WI.js.map} +0 -0
  143. /package/dist/{pybAgentSessionResume-QV2KVBNF.js.map → pybAgentSessionResume-QBNQXHZX.js.map} +0 -0
  144. /package/dist/{pybAgentStreamJsonSession-OO5MPPX6.js.map → pybAgentStreamJsonSession-5PBYWXYX.js.map} +0 -0
  145. /package/dist/{pybHooks-MREB4M3F.js.map → pybHooks-66OQ6DF7.js.map} +0 -0
  146. /package/dist/{query-733DFWD2.js.map → query-RHLO6AS2.js.map} +0 -0
  147. /package/dist/{registry-LNXYXAWT.js.map → registry-3YQQGXL6.js.map} +0 -0
  148. /package/dist/{ripgrep-TUNTG6IS.js.map → ripgrep-ZHLMP6TJ.js.map} +0 -0
  149. /package/dist/{skillMarketplace-AE2OHKIJ.js.map → skillMarketplace-TXDXKVDH.js.map} +0 -0
  150. /package/dist/{state-4U4OPB3H.js.map → state-YDKD6B6T.js.map} +0 -0
  151. /package/dist/{theme-FVBJP337.js.map → theme-WSG2IX32.js.map} +0 -0
  152. /package/dist/{toolPermissionSettings-QDSZVZ7V.js.map → toolPermissionSettings-26CM7QG5.js.map} +0 -0
  153. /package/dist/{tools-BDMYXQ2K.js.map → tools-4HKXD3DV.js.map} +0 -0
  154. /package/dist/{userInput-H44UMEHE.js.map → userInput-BFWEIUZE.js.map} +0 -0
@@ -2,18 +2,18 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  loadPybAgentSessionMessages
5
- } from "./chunk-ZLU7DVAO.js";
5
+ } from "./chunk-PXAQPDGS.js";
6
6
  import {
7
7
  listPybAgentSessions
8
- } from "./chunk-SLHGOQLQ.js";
8
+ } from "./chunk-7I4S6UH7.js";
9
9
  import {
10
10
  appendSessionCustomTitleRecord,
11
11
  appendSessionTagRecord
12
- } from "./chunk-W5XUAORH.js";
12
+ } from "./chunk-MRG76U66.js";
13
13
  import {
14
14
  formatValidationResult,
15
15
  validatePluginOrMarketplacePath
16
- } from "./chunk-ZQFDJJAQ.js";
16
+ } from "./chunk-JKTDFI2S.js";
17
17
  import {
18
18
  ConversationTracker,
19
19
  appendFinishState,
@@ -21,10 +21,10 @@ import {
21
21
  getConversationTrackerForContext,
22
22
  isFinishComplete,
23
23
  mapFinishReason
24
- } from "./chunk-TOWF6PJA.js";
24
+ } from "./chunk-M6CFQRHR.js";
25
25
  import {
26
26
  FileSystemConversationPersistence
27
- } from "./chunk-JVU5Z6OG.js";
27
+ } from "./chunk-KP7PMNEW.js";
28
28
  import {
29
29
  beginReplSessionScope
30
30
  } from "./chunk-F4AXICO7.js";
@@ -39,7 +39,7 @@ import {
39
39
  runStopHooks,
40
40
  runUserPromptSubmitHooks,
41
41
  updateHookTranscriptForMessages
42
- } from "./chunk-VNHCWERF.js";
42
+ } from "./chunk-2FDZ2PEI.js";
43
43
  import {
44
44
  DEFAULT_OUTPUT_STYLE,
45
45
  getAvailableOutputStyles,
@@ -48,11 +48,11 @@ import {
48
48
  getOutputStyleSystemPromptAdditions,
49
49
  resolveOutputStyleName,
50
50
  setCurrentOutputStyle
51
- } from "./chunk-EMJK4OX7.js";
51
+ } from "./chunk-JR5WF5M6.js";
52
52
  import {
53
53
  fetchCustomModels,
54
54
  getModelFeatures
55
- } from "./chunk-5W5QFMDG.js";
55
+ } from "./chunk-PHBWXWFD.js";
56
56
  import {
57
57
  getSessionState
58
58
  } from "./chunk-XKYHFZEC.js";
@@ -60,7 +60,7 @@ import {
60
60
  queryLLM,
61
61
  queryQuick,
62
62
  verifyApiKey
63
- } from "./chunk-6KEMNSSL.js";
63
+ } from "./chunk-VB3UZHV6.js";
64
64
  import {
65
65
  DEFAULT_TIMEOUT_MS,
66
66
  FallbackToolUseRejectedMessage,
@@ -74,7 +74,7 @@ import {
74
74
  listMCPServers,
75
75
  loadMergedSettings,
76
76
  normalizeSandboxRuntimeConfigFromSettings
77
- } from "./chunk-LK7EWRRJ.js";
77
+ } from "./chunk-KX7DKI3A.js";
78
78
  import {
79
79
  addMarketplace,
80
80
  disableSkillPlugin,
@@ -87,11 +87,11 @@ import {
87
87
  refreshMarketplaceAsync,
88
88
  removeMarketplace,
89
89
  uninstallSkillPlugin
90
- } from "./chunk-MEYAIOUR.js";
90
+ } from "./chunk-7AJ4EUUJ.js";
91
91
  import {
92
92
  loadToolPermissionContextFromDisk,
93
93
  persistToolPermissionUpdateToDisk
94
- } from "./chunk-PD5MV3BL.js";
94
+ } from "./chunk-RUMV5QOU.js";
95
95
  import {
96
96
  applyToolPermissionContextUpdate,
97
97
  applyToolPermissionContextUpdates,
@@ -102,13 +102,13 @@ import {
102
102
  generateSystemReminders,
103
103
  resetReminderSession,
104
104
  systemReminderService
105
- } from "./chunk-X52WVHNZ.js";
105
+ } from "./chunk-OMCKTGQ5.js";
106
106
  import {
107
107
  clearAgentCache,
108
108
  getActiveAgents,
109
109
  getAgentByType,
110
110
  getAllAgents
111
- } from "./chunk-MH6INOZV.js";
111
+ } from "./chunk-IYGHQUN2.js";
112
112
  import {
113
113
  API_ERROR_MESSAGE_PREFIX,
114
114
  CANCEL_MESSAGE,
@@ -145,7 +145,7 @@ import {
145
145
  reorderMessages,
146
146
  resetAutoCompactTelemetry,
147
147
  stripSystemMessages
148
- } from "./chunk-SMRXVPJO.js";
148
+ } from "./chunk-BPY6R2EU.js";
149
149
  import {
150
150
  getRequestStatus,
151
151
  setRequestStatus,
@@ -175,7 +175,7 @@ import {
175
175
  normalizeFilePath,
176
176
  readTextContent,
177
177
  writeTextContent
178
- } from "./chunk-Q77WSFTD.js";
178
+ } from "./chunk-M3AEV7WD.js";
179
179
  import {
180
180
  parseBlockEdits
181
181
  } from "./chunk-QWIBSCDN.js";
@@ -185,18 +185,18 @@ import {
185
185
  ParserRegistry,
186
186
  initParser,
187
187
  loadLanguage
188
- } from "./chunk-JQEVUTXP.js";
188
+ } from "./chunk-KRBHZ2NW.js";
189
189
  import {
190
190
  getSettingsFileCandidates,
191
191
  loadSettingsWithLegacyFallback,
192
192
  readSettingsFile
193
- } from "./chunk-H6IALBZQ.js";
193
+ } from "./chunk-JTRFDGES.js";
194
194
  import {
195
195
  getCustomCommandDirectories,
196
196
  hasCustomCommands,
197
197
  loadCustomCommands,
198
198
  reloadCustomCommands
199
- } from "./chunk-PMFFKAFV.js";
199
+ } from "./chunk-TNOZ27TG.js";
200
200
  import {
201
201
  getSessionPlugins
202
202
  } from "./chunk-BJSWTHRM.js";
@@ -205,7 +205,7 @@ import {
205
205
  buildModelProfileKey,
206
206
  getModelManager,
207
207
  isDefaultSlowAndCapableModel
208
- } from "./chunk-7MP24CSX.js";
208
+ } from "./chunk-CGFEVSPI.js";
209
209
  import {
210
210
  getCodeStyle,
211
211
  getContext,
@@ -213,16 +213,16 @@ import {
213
213
  getIsGit,
214
214
  getProjectDocs,
215
215
  getProjectStructureStatisticsBlock
216
- } from "./chunk-KX27QO65.js";
216
+ } from "./chunk-FYOORPZ4.js";
217
217
  import {
218
218
  getRipgrepPath,
219
219
  getRipgrepPolicyMode,
220
220
  resolveRipgrepPolicy,
221
221
  ripGrep
222
- } from "./chunk-OWVJDCD3.js";
222
+ } from "./chunk-277JOCVZ.js";
223
223
  import {
224
224
  getTheme
225
- } from "./chunk-IYLRQYZC.js";
225
+ } from "./chunk-YKSGF3T7.js";
226
226
  import {
227
227
  DEFAULT_GLOBAL_CONFIG,
228
228
  enableConfigs,
@@ -235,7 +235,7 @@ import {
235
235
  saveGlobalConfig,
236
236
  setAllPointersToModel,
237
237
  setModelPointer
238
- } from "./chunk-XIVGJEPA.js";
238
+ } from "./chunk-7SWRPT6M.js";
239
239
  import {
240
240
  AbortError
241
241
  } from "./chunk-RQVLBMP7.js";
@@ -244,7 +244,7 @@ import {
244
244
  getCurrentRequest,
245
245
  logUserFriendly,
246
246
  markPhase
247
- } from "./chunk-UEU42RLM.js";
247
+ } from "./chunk-LXJUYOGP.js";
248
248
  import {
249
249
  ASCII_LOGO,
250
250
  BunShell,
@@ -285,10 +285,10 @@ import {
285
285
  setCwd,
286
286
  shouldApplyToolOutputTruncation,
287
287
  truncateToolOutput
288
- } from "./chunk-HE3VVGNG.js";
288
+ } from "./chunk-VSKWAGTO.js";
289
289
  import {
290
290
  MACRO
291
- } from "./chunk-TVQIMRQR.js";
291
+ } from "./chunk-CEHSLEJ3.js";
292
292
  import {
293
293
  __export
294
294
  } from "./chunk-I3J4JYES.js";
@@ -469,7 +469,7 @@ var getCommandSubcommandPrefix = memoize(
469
469
  var getCommandPrefix = memoize(
470
470
  async (command4, abortSignal) => {
471
471
  const { systemPrompt, userPrompt } = buildBashCommandPrefixDetectionPrompt(command4);
472
- const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryQuick: queryQuick2 } = await import("./llm-VJSYR35Z.js");
472
+ const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryQuick: queryQuick2 } = await import("./llm-RRAVQWE3.js");
473
473
  const response = await queryQuick2({
474
474
  systemPrompt,
475
475
  userPrompt,
@@ -4271,7 +4271,7 @@ function formatParseError(error) {
4271
4271
  return error instanceof Error ? error.message : String(error);
4272
4272
  }
4273
4273
  async function defaultGateQuery(args) {
4274
- const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryLLM: queryLLM2 } = await import("./llm-VJSYR35Z.js");
4274
+ const { API_ERROR_MESSAGE_PREFIX: API_ERROR_MESSAGE_PREFIX2, queryLLM: queryLLM2 } = await import("./llm-RRAVQWE3.js");
4275
4275
  const queryLLMFn = args.queryLLMOverride ?? queryLLM2;
4276
4276
  const messages = [
4277
4277
  {
@@ -6664,7 +6664,7 @@ var FileEditTool = {
6664
6664
  const originalFileContent = currentFileContent;
6665
6665
  let totalPatch = [];
6666
6666
  const { SmartEdit } = await import("./smart-edit-AWHJDSU6.js");
6667
- const { findLspAnchor } = await import("./lspAnchor-ZJ6C3YMJ.js");
6667
+ const { findLspAnchor } = await import("./lspAnchor-WIAD4UCJ.js");
6668
6668
  for (const op of editOperations) {
6669
6669
  const normalizedSearch = normalizeLineEndings(op.search);
6670
6670
  const normalizedReplace = normalizeLineEndings(op.replace);
@@ -12149,7 +12149,7 @@ async function createAndStoreApiKey(accessToken) {
12149
12149
  }
12150
12150
  saveGlobalConfig(config2);
12151
12151
  try {
12152
- const { resetAnthropicClient } = await import("./llm-VJSYR35Z.js");
12152
+ const { resetAnthropicClient } = await import("./llm-RRAVQWE3.js");
12153
12153
  resetAnthropicClient();
12154
12154
  } catch {
12155
12155
  }
@@ -16573,7 +16573,7 @@ async function refreshPluginRuntimeFromInstalls() {
16573
16573
  const existingRoots = getSessionPlugins().map((p) => p.rootDir);
16574
16574
  const dirs = Array.from(/* @__PURE__ */ new Set([...existingRoots, ...installedRoots]));
16575
16575
  if (dirs.length === 0) return [];
16576
- const { configureSessionPlugins } = await import("./pluginRuntime-46WBRCWE.js");
16576
+ const { configureSessionPlugins } = await import("./pluginRuntime-EA5NXHW2.js");
16577
16577
  const { errors } = await configureSessionPlugins({ pluginDirs: dirs });
16578
16578
  return errors;
16579
16579
  }
@@ -17248,7 +17248,7 @@ async function call(onDone, context) {
17248
17248
  ModelConfig,
17249
17249
  {
17250
17250
  onClose: () => {
17251
- import("./model-DFI7KYFM.js").then(({ reloadModelManager: reloadModelManager2 }) => {
17251
+ import("./model-SHEZI5VH.js").then(({ reloadModelManager: reloadModelManager2 }) => {
17252
17252
  reloadModelManager2();
17253
17253
  triggerModelConfigChange();
17254
17254
  onDone();
@@ -25557,7 +25557,7 @@ function useStatusLine() {
25557
25557
  // src/ui/components/PromptInput.tsx
25558
25558
  async function interpretHashCommand(input) {
25559
25559
  try {
25560
- const { queryQuick: queryQuick2 } = await import("./llm-VJSYR35Z.js");
25560
+ const { queryQuick: queryQuick2 } = await import("./llm-RRAVQWE3.js");
25561
25561
  const systemPrompt = [
25562
25562
  "You're helping the user structure notes that will be added to their PYB.md file.",
25563
25563
  "Format the user's input into a well-structured note that will be useful for later reference.",
@@ -25870,7 +25870,7 @@ function PromptInput({
25870
25870
  if (messages2.length) {
25871
25871
  if (mode === "bash") {
25872
25872
  onQuery(messages2, newAbortController).then(async () => {
25873
- const { getCwd: getCwd2 } = await import("./state-4U4OPB3H.js");
25873
+ const { getCwd: getCwd2 } = await import("./state-YDKD6B6T.js");
25874
25874
  setCurrentPwd(getCwd2());
25875
25875
  });
25876
25876
  } else {
@@ -29189,15 +29189,23 @@ ${COMPRESSION_PROMPT2}` : COMPRESSION_PROMPT2;
29189
29189
  cache_read_input_tokens: 0
29190
29190
  };
29191
29191
  const recoveredFiles = await selectAndReadFiles();
29192
- const compactedMessages = [
29193
- createUserMessageFromBlocks([
29194
- {
29195
- type: "text",
29196
- text: compressionNotice ? `Context automatically compressed due to token limit. ${compressionNotice} Using '${activeModelPointer}' for compression.` : `Context automatically compressed due to token limit. Using '${activeModelPointer}' for compression.`
29197
- }
29198
- ]),
29199
- summaryResponse
29200
- ];
29192
+ const compactionBoundaryUserMessage = createUserMessageFromBlocks([
29193
+ {
29194
+ type: "text",
29195
+ text: compressionNotice ? `Context automatically compressed due to token limit. ${compressionNotice} Using '${activeModelPointer}' for compression.` : `Context automatically compressed due to token limit. Using '${activeModelPointer}' for compression.`
29196
+ }
29197
+ ]);
29198
+ compactionBoundaryUserMessage.options = {
29199
+ ...compactionBoundaryUserMessage.options ?? {},
29200
+ isCompactionBoundary: true
29201
+ };
29202
+ if (!summaryResponse.parentID) {
29203
+ summaryResponse.parentID = compactionBoundaryUserMessage.uuid;
29204
+ }
29205
+ if (!summaryResponse.finish) {
29206
+ summaryResponse.finish = "end_turn";
29207
+ }
29208
+ const compactedMessages = [compactionBoundaryUserMessage, summaryResponse];
29201
29209
  const compactedAt = Date.now();
29202
29210
  const compactedQueryIds = (options?.compactedQueryIds ?? []).slice(
29203
29211
  -MAX_COMPACTED_QUERY_IDS
@@ -29299,37 +29307,22 @@ function parseBooleanFlag2(value) {
29299
29307
  return null;
29300
29308
  }
29301
29309
  function resolveCompactionBoundaryConfig(toolUseContext) {
29302
- const resolveMode2 = () => {
29303
- const envMode = String(process.env.PYB_COMPACTION_BOUNDARY_MODE ?? "").trim().toLowerCase();
29304
- if (envMode === "mutate" || envMode === "observe_only") {
29305
- return envMode;
29306
- }
29307
- const contextMode = String(toolUseContext?.compactionBoundaryMode ?? "").trim().toLowerCase();
29308
- if (contextMode === "mutate" || contextMode === "observe_only") {
29309
- return contextMode;
29310
- }
29311
- return "observe_only";
29312
- };
29313
- const mode = resolveMode2();
29314
29310
  const envValue = parseBooleanFlag2(process.env.PYB_COMPACTION_BOUNDARY_ENABLED);
29315
29311
  if (envValue !== null) {
29316
29312
  return {
29317
29313
  enabled: envValue,
29318
- source: "env",
29319
- mode
29314
+ source: "env"
29320
29315
  };
29321
29316
  }
29322
29317
  if (typeof toolUseContext?.compactionBoundaryEnabled === "boolean") {
29323
29318
  return {
29324
29319
  enabled: toolUseContext.compactionBoundaryEnabled,
29325
- source: "context",
29326
- mode
29320
+ source: "context"
29327
29321
  };
29328
29322
  }
29329
29323
  return {
29330
29324
  enabled: true,
29331
- source: "default",
29332
- mode
29325
+ source: "default"
29333
29326
  };
29334
29327
  }
29335
29328
  function findLastCompactionBoundaryIndex(messages) {
@@ -29342,25 +29335,74 @@ function findLastCompactionBoundaryIndex(messages) {
29342
29335
  return -1;
29343
29336
  }
29344
29337
  function filterAfterCompactionBoundary(messages, options) {
29345
- const mode = options.mode === "mutate" ? "mutate" : "observe_only";
29346
- const getMessageText4 = (message) => {
29347
- if (message.type !== "user") return "";
29338
+ const isCompactionBoundaryUserMessage = (message) => {
29339
+ if (message.type !== "user") return false;
29340
+ if (message?.options?.isCompactionBoundary === true) return true;
29348
29341
  const content = message?.message?.content;
29349
- if (typeof content === "string") return content.trim();
29350
- if (!Array.isArray(content)) return "";
29351
- return content.filter(
29352
- (block) => block && typeof block === "object" && block.type === "text"
29353
- ).map((block) => String(block.text ?? "")).join("\n").trim();
29342
+ if (Array.isArray(content)) {
29343
+ return content.some(
29344
+ (block) => block && typeof block === "object" && block.type === "compaction"
29345
+ );
29346
+ }
29347
+ if (typeof content === "string") {
29348
+ return content.includes("Context automatically compressed due to token limit.");
29349
+ }
29350
+ return false;
29354
29351
  };
29355
- const isAutoCompactNotice2 = (message) => getMessageText4(message).includes("Context automatically compressed due to token limit.");
29356
- const isRecoveredFileMessage2 = (message) => getMessageText4(message).includes("**Recovered File:");
29357
- const isReplayableUserTask = (message) => {
29358
- const text = getMessageText4(message);
29359
- if (!text) return false;
29360
- if (isAutoCompactNotice2(message)) return false;
29361
- if (isRecoveredFileMessage2(message)) return false;
29352
+ const isCompletedCompactionAssistant = (message) => {
29353
+ if (message.type !== "assistant") return false;
29354
+ const assistant = message;
29355
+ if (assistant?.compaction?.type !== "compaction") return false;
29356
+ if (!assistant.finish) return false;
29357
+ if (assistant.finish === "tool_calls" || assistant.finish === "pause_turn") {
29358
+ return false;
29359
+ }
29360
+ if (assistant.isApiErrorMessage) return false;
29362
29361
  return true;
29363
29362
  };
29363
+ const findLastValidCompactionPair = () => {
29364
+ const hasCompactionUserAnchor = messages.some(
29365
+ (item) => isCompactionBoundaryUserMessage(item)
29366
+ );
29367
+ const compactionAssistants = messages.filter(
29368
+ (item) => item?.type === "assistant" && item?.compaction?.type === "compaction"
29369
+ );
29370
+ if (compactionAssistants.length === 0) {
29371
+ return {
29372
+ pair: null,
29373
+ missingReason: hasCompactionUserAnchor ? "missing_summary_completion" : "not_applicable"
29374
+ };
29375
+ }
29376
+ let missingReason = "summary_error_or_unfinished";
29377
+ for (let i = messages.length - 1; i >= 0; i -= 1) {
29378
+ const candidate = messages[i];
29379
+ if (!candidate || candidate.type !== "assistant") continue;
29380
+ const assistant = candidate;
29381
+ if (assistant?.compaction?.type !== "compaction") continue;
29382
+ if (!isCompletedCompactionAssistant(candidate)) {
29383
+ missingReason = "summary_error_or_unfinished";
29384
+ continue;
29385
+ }
29386
+ const parentID = String(assistant.parentID ?? "").trim();
29387
+ if (!parentID) {
29388
+ missingReason = "parent_id_mismatch";
29389
+ continue;
29390
+ }
29391
+ const userIndex = messages.findIndex(
29392
+ (item) => item?.type === "user" && String(item?.uuid ?? "").trim() === parentID
29393
+ );
29394
+ if (userIndex < 0) {
29395
+ missingReason = "parent_id_mismatch";
29396
+ continue;
29397
+ }
29398
+ if (!isCompactionBoundaryUserMessage(messages[userIndex])) {
29399
+ missingReason = "missing_compaction_user_part";
29400
+ continue;
29401
+ }
29402
+ return { pair: { userIndex, assistantIndex: i }, missingReason: "not_applicable" };
29403
+ }
29404
+ return { pair: null, missingReason };
29405
+ };
29364
29406
  const extractCompactionMarkerReport = (index) => {
29365
29407
  if (index < 0)
29366
29408
  return {
@@ -29393,11 +29435,12 @@ function filterAfterCompactionBoundary(messages, options) {
29393
29435
  messages,
29394
29436
  applied: false,
29395
29437
  mutatedMessages: false,
29396
- mode,
29397
29438
  droppedMessageCount: 0,
29398
29439
  preservedMessageCount: messages.length,
29399
29440
  lastCompactionIndex: -1,
29400
- replayMode: "not_applied",
29441
+ boundaryPairMatched: false,
29442
+ boundaryResolution: "not_applied",
29443
+ boundaryPairMissingReason: "not_applicable",
29401
29444
  pruneMarkerConsumed: false,
29402
29445
  pruneMarkerWarnings: 0,
29403
29446
  pruneMarkerConflictEventName: null,
@@ -29407,36 +29450,18 @@ function filterAfterCompactionBoundary(messages, options) {
29407
29450
  }
29408
29451
  const lastCompactionIndex = findLastCompactionBoundaryIndex(messages);
29409
29452
  const pruneMarkerReport = extractCompactionMarkerReport(lastCompactionIndex);
29410
- if (lastCompactionIndex < 0) {
29453
+ const pairResult = findLastValidCompactionPair();
29454
+ if (!pairResult.pair) {
29411
29455
  return {
29412
29456
  messages,
29413
29457
  applied: false,
29414
29458
  mutatedMessages: false,
29415
- mode,
29416
29459
  droppedMessageCount: 0,
29417
29460
  preservedMessageCount: messages.length,
29418
- lastCompactionIndex: -1,
29419
- replayMode: "not_applied",
29420
- pruneMarkerConsumed: false,
29421
- pruneMarkerWarnings: 0,
29422
- pruneMarkerConflictEventName: null,
29423
- indexValidationKnown: false,
29424
- indexValidationValid: null
29425
- };
29426
- }
29427
- const filtered = messages.slice(lastCompactionIndex);
29428
- const hasUserTask = filtered.some((item) => isReplayableUserTask(item));
29429
- if (hasUserTask) {
29430
- const wouldMutate2 = Math.max(0, messages.length - filtered.length) > 0;
29431
- return {
29432
- messages: mode === "mutate" ? filtered : messages,
29433
- applied: true,
29434
- mutatedMessages: mode === "mutate" ? wouldMutate2 : false,
29435
- mode,
29436
- droppedMessageCount: Math.max(0, messages.length - filtered.length),
29437
- preservedMessageCount: filtered.length,
29438
29461
  lastCompactionIndex,
29439
- replayMode: "already_has_user_task",
29462
+ boundaryPairMatched: false,
29463
+ boundaryResolution: lastCompactionIndex >= 0 ? "missing_valid_pair" : "not_applied",
29464
+ boundaryPairMissingReason: lastCompactionIndex >= 0 ? pairResult.missingReason : "not_applicable",
29440
29465
  pruneMarkerConsumed: pruneMarkerReport.consumed,
29441
29466
  pruneMarkerWarnings: pruneMarkerReport.warnings,
29442
29467
  pruneMarkerConflictEventName: pruneMarkerReport.warnings > 0 ? PRUNE_MARKER_CONFLICT_EVENT : null,
@@ -29444,30 +29469,18 @@ function filterAfterCompactionBoundary(messages, options) {
29444
29469
  indexValidationValid: pruneMarkerReport.indexValidationValid
29445
29470
  };
29446
29471
  }
29447
- let replayText = "";
29448
- for (let i = lastCompactionIndex - 1; i >= 0; i -= 1) {
29449
- const message = messages[i];
29450
- if (!isReplayableUserTask(message)) continue;
29451
- replayText = getMessageText4(message);
29452
- break;
29453
- }
29454
- const replayMessage = replayText ? createUserMessageFromText(replayText) : createUserMessageFromBlocks([
29455
- {
29456
- type: "text",
29457
- text: "Continue from compressed context and ask a brief clarifying question if the task objective is missing."
29458
- }
29459
- ]);
29460
- const withReplay = [...filtered, replayMessage];
29461
- const wouldMutate = Math.max(0, messages.length - withReplay.length) > 0 || JSON.stringify(withReplay) !== JSON.stringify(messages);
29472
+ const filtered = messages.slice(pairResult.pair.userIndex);
29473
+ const wouldMutate = Math.max(0, messages.length - filtered.length) > 0 || JSON.stringify(filtered) !== JSON.stringify(messages);
29462
29474
  return {
29463
- messages: mode === "mutate" ? withReplay : messages,
29475
+ messages: filtered,
29464
29476
  applied: true,
29465
- mutatedMessages: mode === "mutate" ? wouldMutate : false,
29466
- mode,
29467
- droppedMessageCount: Math.max(0, messages.length - withReplay.length),
29468
- preservedMessageCount: withReplay.length,
29469
- lastCompactionIndex,
29470
- replayMode: replayText ? "replayed_latest_user_task" : "synthetic_continue_prompt",
29477
+ mutatedMessages: wouldMutate,
29478
+ droppedMessageCount: Math.max(0, messages.length - filtered.length),
29479
+ preservedMessageCount: filtered.length,
29480
+ lastCompactionIndex: pairResult.pair.userIndex,
29481
+ boundaryPairMatched: true,
29482
+ boundaryResolution: "hard_cut_applied",
29483
+ boundaryPairMissingReason: "none",
29471
29484
  pruneMarkerConsumed: pruneMarkerReport.consumed,
29472
29485
  pruneMarkerWarnings: pruneMarkerReport.warnings,
29473
29486
  pruneMarkerConflictEventName: pruneMarkerReport.warnings > 0 ? PRUNE_MARKER_CONFLICT_EVENT : null,
@@ -31982,11 +31995,12 @@ async function* runQuerySessionRuntimeLoop(messages, systemPrompt, context, canU
31982
31995
  messages: boundaryInputMessages,
31983
31996
  applied: false,
31984
31997
  mutatedMessages: false,
31985
- mode: boundaryConfig.mode,
31986
31998
  droppedMessageCount: 0,
31987
31999
  preservedMessageCount: boundaryInputMessages.length,
31988
32000
  lastCompactionIndex: -1,
31989
- replayMode: "not_applied",
32001
+ boundaryPairMatched: false,
32002
+ boundaryResolution: "not_applied",
32003
+ boundaryPairMissingReason: "not_applicable",
31990
32004
  pruneMarkerConsumed: false,
31991
32005
  pruneMarkerWarnings: 0,
31992
32006
  pruneMarkerConflictEventName: null,
@@ -31995,33 +32009,31 @@ async function* runQuerySessionRuntimeLoop(messages, systemPrompt, context, canU
31995
32009
  };
31996
32010
  try {
31997
32011
  boundaryResult = filterAfterCompactionBoundary(boundaryInputMessages, {
31998
- enabled: boundaryConfig.enabled,
31999
- mode: boundaryConfig.mode
32012
+ enabled: boundaryConfig.enabled
32000
32013
  });
32001
32014
  messages = boundaryResult.messages;
32002
32015
  } catch (boundaryError) {
32003
32016
  messages = boundaryInputMessages;
32004
32017
  logUserFriendly("COMPACTION_BOUNDARY_FAILED", {
32005
32018
  source: boundaryConfig.source,
32006
- mode: boundaryConfig.mode,
32007
32019
  error: boundaryError instanceof Error ? boundaryError.message : String(boundaryError ?? "unknown")
32008
32020
  });
32009
32021
  emitAutoCompactTelemetryEvent("COMPACTION_BOUNDARY_FAILED", {
32010
32022
  source: boundaryConfig.source,
32011
- mode: boundaryConfig.mode,
32012
32023
  error: boundaryError instanceof Error ? boundaryError.message : String(boundaryError ?? "unknown")
32013
32024
  });
32014
32025
  }
32015
32026
  if (boundaryConfig.enabled) {
32016
32027
  logUserFriendly("COMPACTION_BOUNDARY_APPLIED", {
32017
32028
  source: boundaryConfig.source,
32018
- mode: boundaryResult.mode,
32019
32029
  applied: boundaryResult.applied,
32020
32030
  mutatedMessages: boundaryResult.mutatedMessages,
32021
32031
  droppedMessageCount: boundaryResult.droppedMessageCount,
32022
32032
  preservedMessageCount: boundaryResult.preservedMessageCount,
32023
32033
  lastCompactionIndex: boundaryResult.lastCompactionIndex,
32024
- replayMode: boundaryResult.replayMode,
32034
+ boundaryPairMatched: boundaryResult.boundaryPairMatched,
32035
+ boundaryResolution: boundaryResult.boundaryResolution,
32036
+ boundaryPairMissingReason: boundaryResult.boundaryPairMissingReason,
32025
32037
  pruneMarkerConsumed: boundaryResult.pruneMarkerConsumed,
32026
32038
  pruneMarkerWarnings: boundaryResult.pruneMarkerWarnings,
32027
32039
  indexValidationKnown: boundaryResult.indexValidationKnown,
@@ -32029,13 +32041,14 @@ async function* runQuerySessionRuntimeLoop(messages, systemPrompt, context, canU
32029
32041
  });
32030
32042
  emitAutoCompactTelemetryEvent("COMPACTION_BOUNDARY_APPLIED", {
32031
32043
  source: boundaryConfig.source,
32032
- mode: boundaryResult.mode,
32033
32044
  applied: boundaryResult.applied,
32034
32045
  mutatedMessages: boundaryResult.mutatedMessages,
32035
32046
  droppedMessageCount: boundaryResult.droppedMessageCount,
32036
32047
  preservedMessageCount: boundaryResult.preservedMessageCount,
32037
32048
  lastCompactionIndex: boundaryResult.lastCompactionIndex,
32038
- replayMode: boundaryResult.replayMode,
32049
+ boundaryPairMatched: boundaryResult.boundaryPairMatched,
32050
+ boundaryResolution: boundaryResult.boundaryResolution,
32051
+ boundaryPairMissingReason: boundaryResult.boundaryPairMissingReason,
32039
32052
  pruneMarkerConsumed: boundaryResult.pruneMarkerConsumed,
32040
32053
  pruneMarkerWarnings: boundaryResult.pruneMarkerWarnings,
32041
32054
  indexValidationKnown: boundaryResult.indexValidationKnown,
@@ -33689,7 +33702,7 @@ import { homedir as homedir8 } from "os";
33689
33702
  // src/commands/agents/generation.ts
33690
33703
  import { randomUUID as randomUUID6 } from "crypto";
33691
33704
  async function generateAgentWithClaude(prompt) {
33692
- const { queryModel } = await import("./llm-VJSYR35Z.js");
33705
+ const { queryModel } = await import("./llm-RRAVQWE3.js");
33693
33706
  const systemPrompt = `You are an expert at creating AI agent configurations. Based on the user's description, generate a specialized agent configuration.
33694
33707
 
33695
33708
  Return your response as a JSON object with exactly these fields: