pybao-cli 1.3.56 → 1.3.59

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 (132) hide show
  1. package/dist/REPL-HEB527L5.js +42 -0
  2. package/dist/{acp-TJYTOEEN.js → acp-XITLIU7Q.js} +26 -26
  3. package/dist/{agentsValidate-64YYOGBL.js → agentsValidate-JJ7TRTOQ.js} +7 -7
  4. package/dist/{ask-QLCR4PT7.js → ask-MMUUUT4B.js} +25 -25
  5. package/dist/{autoUpdater-MZSIHGFH.js → autoUpdater-ZLQ737K2.js} +3 -3
  6. package/dist/{chunk-D73KKW2N.js → chunk-2GU2JFSX.js} +3 -3
  7. package/dist/{chunk-BU3RXXMR.js → chunk-3FVHZRMZ.js} +2 -2
  8. package/dist/{chunk-CRMMD7DR.js → chunk-4LOPGO3B.js} +1 -1
  9. package/dist/{chunk-2XIM4I7M.js → chunk-4SQMIADE.js} +3 -3
  10. package/dist/{chunk-S7KPCCZ7.js → chunk-7T3SDQOM.js} +121 -32
  11. package/dist/{chunk-S7KPCCZ7.js.map → chunk-7T3SDQOM.js.map} +2 -2
  12. package/dist/{chunk-PTMWY3FU.js → chunk-BFRI6TO3.js} +3 -3
  13. package/dist/{chunk-ZQ6DFT2S.js → chunk-CAEIEVV4.js} +2 -2
  14. package/dist/{chunk-BPZI5POF.js → chunk-COW6GXO7.js} +1 -1
  15. package/dist/{chunk-EMAS3EQJ.js → chunk-D3HU5ESS.js} +3 -3
  16. package/dist/{chunk-KFTLGFL2.js → chunk-D43WGGGQ.js} +1 -1
  17. package/dist/{chunk-KFTLGFL2.js.map → chunk-D43WGGGQ.js.map} +1 -1
  18. package/dist/{chunk-NMDJSF4E.js → chunk-D57QJMYF.js} +1 -1
  19. package/dist/{chunk-BI2C6FEF.js → chunk-GKXOFPYV.js} +1 -1
  20. package/dist/{chunk-JVLY4BDD.js → chunk-GKXPIENR.js} +2 -2
  21. package/dist/{chunk-F7ODJLUD.js → chunk-GMMRCXQX.js} +3 -3
  22. package/dist/{chunk-6X7KJO6I.js → chunk-HQLCQM4K.js} +1 -1
  23. package/dist/{chunk-O4K7CIS3.js → chunk-JQB6ZCIG.js} +3 -3
  24. package/dist/{chunk-FFBEN7GD.js → chunk-JWU4GQ2S.js} +1 -1
  25. package/dist/{chunk-HKOMN5N6.js → chunk-KT7AFM3Y.js} +1 -1
  26. package/dist/{chunk-F5VWWWVR.js → chunk-L257TPK2.js} +4 -4
  27. package/dist/{chunk-OZA25KI6.js → chunk-M3AEDKSE.js} +1 -1
  28. package/dist/{chunk-NFL5ALCX.js → chunk-MYP255MC.js} +2 -2
  29. package/dist/{chunk-2KQGZUGU.js → chunk-QZQTOGZM.js} +3 -3
  30. package/dist/{chunk-YNKPYPAC.js → chunk-S3WJV47A.js} +2 -2
  31. package/dist/{chunk-55ICGEUC.js → chunk-X7KBX3SQ.js} +4 -4
  32. package/dist/{chunk-HX7BGVTC.js → chunk-YXGNHIAR.js} +1 -1
  33. package/dist/{chunk-AHBWXH7T.js → chunk-ZHEMMVLC.js} +248 -34
  34. package/dist/chunk-ZHEMMVLC.js.map +7 -0
  35. package/dist/{chunk-SQGFUZX6.js → chunk-ZNMRDNXQ.js} +2 -2
  36. package/dist/{cli-KC2V3WK3.js → cli-ELZD452T.js} +77 -77
  37. package/dist/commands-47J4IZ5B.js +46 -0
  38. package/dist/{config-Q7OH5EIE.js → config-A5FS3ITW.js} +4 -4
  39. package/dist/{context-YHHMZG5H.js → context-6BCQFGSS.js} +5 -5
  40. package/dist/{customCommands-GSZA7XA5.js → customCommands-ZKTG4BIB.js} +4 -4
  41. package/dist/{env-UNS5KEWQ.js → env-KAOLFIXM.js} +2 -2
  42. package/dist/index.js +3 -3
  43. package/dist/{llm-B2Q36L7M.js → llm-AGDCOH6K.js} +26 -26
  44. package/dist/{llmLazy-F5U3AD6I.js → llmLazy-VBZFVXPO.js} +1 -1
  45. package/dist/{loader-WECAPB36.js → loader-M5FKPUT5.js} +4 -4
  46. package/dist/{mcp-GOCJZ7VT.js → mcp-ONDCUJQX.js} +7 -7
  47. package/dist/{mentionProcessor-P2C4HFMP.js → mentionProcessor-QWTLWXBL.js} +5 -5
  48. package/dist/{messages-KB2P3EAS.js → messages-NZH4WKUA.js} +1 -1
  49. package/dist/{model-O3N3AN4Y.js → model-CUREHPKD.js} +5 -5
  50. package/dist/{openai-X5QMIY7Z.js → openai-SJZZMS6K.js} +5 -5
  51. package/dist/{outputStyles-VFYX3QMO.js → outputStyles-BG6GI36T.js} +4 -4
  52. package/dist/{pluginRuntime-FA334HX6.js → pluginRuntime-I3F3K444.js} +6 -6
  53. package/dist/{pluginValidation-AE6WJAO7.js → pluginValidation-L32JDUBR.js} +6 -6
  54. package/dist/prompts-HL2KRZIG.js +48 -0
  55. package/dist/{pybAgentSessionLoad-J5S3HBZO.js → pybAgentSessionLoad-3JI5P3QM.js} +4 -4
  56. package/dist/{pybAgentSessionResume-XT6U5KOT.js → pybAgentSessionResume-LAKDG73A.js} +4 -4
  57. package/dist/{pybAgentStreamJsonSession-CMFKXVUZ.js → pybAgentStreamJsonSession-TYJWRHSN.js} +1 -1
  58. package/dist/{pybHooks-6N3I7APK.js → pybHooks-UFUN5PON.js} +4 -4
  59. package/dist/query-ZE4CEAEH.js +50 -0
  60. package/dist/{ripgrep-KC2NZ7NP.js → ripgrep-SQ2A2JPU.js} +3 -3
  61. package/dist/{skillMarketplace-ZMAGE33W.js → skillMarketplace-QN4IY5YS.js} +3 -3
  62. package/dist/{state-BUEHSHUM.js → state-2N5OZQTT.js} +2 -2
  63. package/dist/{theme-QYBXWA2N.js → theme-LPFPU3CC.js} +5 -5
  64. package/dist/{toolPermissionSettings-5OMGJ2CG.js → toolPermissionSettings-EN35AC4Y.js} +6 -6
  65. package/dist/tools-PR5LQ74M.js +47 -0
  66. package/dist/{userInput-6KM5QDMN.js → userInput-FCQ7553D.js} +27 -27
  67. package/package.json +1 -1
  68. package/dist/REPL-QZ5X2FW7.js +0 -42
  69. package/dist/chunk-AHBWXH7T.js.map +0 -7
  70. package/dist/commands-ZOEJWEPT.js +0 -46
  71. package/dist/prompts-CNNTWJWU.js +0 -48
  72. package/dist/query-TKANKJVC.js +0 -50
  73. package/dist/tools-KWHZGP5F.js +0 -47
  74. /package/dist/{REPL-QZ5X2FW7.js.map → REPL-HEB527L5.js.map} +0 -0
  75. /package/dist/{acp-TJYTOEEN.js.map → acp-XITLIU7Q.js.map} +0 -0
  76. /package/dist/{agentsValidate-64YYOGBL.js.map → agentsValidate-JJ7TRTOQ.js.map} +0 -0
  77. /package/dist/{ask-QLCR4PT7.js.map → ask-MMUUUT4B.js.map} +0 -0
  78. /package/dist/{autoUpdater-MZSIHGFH.js.map → autoUpdater-ZLQ737K2.js.map} +0 -0
  79. /package/dist/{chunk-D73KKW2N.js.map → chunk-2GU2JFSX.js.map} +0 -0
  80. /package/dist/{chunk-BU3RXXMR.js.map → chunk-3FVHZRMZ.js.map} +0 -0
  81. /package/dist/{chunk-CRMMD7DR.js.map → chunk-4LOPGO3B.js.map} +0 -0
  82. /package/dist/{chunk-2XIM4I7M.js.map → chunk-4SQMIADE.js.map} +0 -0
  83. /package/dist/{chunk-PTMWY3FU.js.map → chunk-BFRI6TO3.js.map} +0 -0
  84. /package/dist/{chunk-ZQ6DFT2S.js.map → chunk-CAEIEVV4.js.map} +0 -0
  85. /package/dist/{chunk-BPZI5POF.js.map → chunk-COW6GXO7.js.map} +0 -0
  86. /package/dist/{chunk-EMAS3EQJ.js.map → chunk-D3HU5ESS.js.map} +0 -0
  87. /package/dist/{chunk-NMDJSF4E.js.map → chunk-D57QJMYF.js.map} +0 -0
  88. /package/dist/{chunk-BI2C6FEF.js.map → chunk-GKXOFPYV.js.map} +0 -0
  89. /package/dist/{chunk-JVLY4BDD.js.map → chunk-GKXPIENR.js.map} +0 -0
  90. /package/dist/{chunk-F7ODJLUD.js.map → chunk-GMMRCXQX.js.map} +0 -0
  91. /package/dist/{chunk-6X7KJO6I.js.map → chunk-HQLCQM4K.js.map} +0 -0
  92. /package/dist/{chunk-O4K7CIS3.js.map → chunk-JQB6ZCIG.js.map} +0 -0
  93. /package/dist/{chunk-FFBEN7GD.js.map → chunk-JWU4GQ2S.js.map} +0 -0
  94. /package/dist/{chunk-HKOMN5N6.js.map → chunk-KT7AFM3Y.js.map} +0 -0
  95. /package/dist/{chunk-F5VWWWVR.js.map → chunk-L257TPK2.js.map} +0 -0
  96. /package/dist/{chunk-OZA25KI6.js.map → chunk-M3AEDKSE.js.map} +0 -0
  97. /package/dist/{chunk-NFL5ALCX.js.map → chunk-MYP255MC.js.map} +0 -0
  98. /package/dist/{chunk-2KQGZUGU.js.map → chunk-QZQTOGZM.js.map} +0 -0
  99. /package/dist/{chunk-YNKPYPAC.js.map → chunk-S3WJV47A.js.map} +0 -0
  100. /package/dist/{chunk-55ICGEUC.js.map → chunk-X7KBX3SQ.js.map} +0 -0
  101. /package/dist/{chunk-HX7BGVTC.js.map → chunk-YXGNHIAR.js.map} +0 -0
  102. /package/dist/{chunk-SQGFUZX6.js.map → chunk-ZNMRDNXQ.js.map} +0 -0
  103. /package/dist/{cli-KC2V3WK3.js.map → cli-ELZD452T.js.map} +0 -0
  104. /package/dist/{commands-ZOEJWEPT.js.map → commands-47J4IZ5B.js.map} +0 -0
  105. /package/dist/{config-Q7OH5EIE.js.map → config-A5FS3ITW.js.map} +0 -0
  106. /package/dist/{context-YHHMZG5H.js.map → context-6BCQFGSS.js.map} +0 -0
  107. /package/dist/{customCommands-GSZA7XA5.js.map → customCommands-ZKTG4BIB.js.map} +0 -0
  108. /package/dist/{env-UNS5KEWQ.js.map → env-KAOLFIXM.js.map} +0 -0
  109. /package/dist/{llm-B2Q36L7M.js.map → llm-AGDCOH6K.js.map} +0 -0
  110. /package/dist/{llmLazy-F5U3AD6I.js.map → llmLazy-VBZFVXPO.js.map} +0 -0
  111. /package/dist/{loader-WECAPB36.js.map → loader-M5FKPUT5.js.map} +0 -0
  112. /package/dist/{mcp-GOCJZ7VT.js.map → mcp-ONDCUJQX.js.map} +0 -0
  113. /package/dist/{mentionProcessor-P2C4HFMP.js.map → mentionProcessor-QWTLWXBL.js.map} +0 -0
  114. /package/dist/{messages-KB2P3EAS.js.map → messages-NZH4WKUA.js.map} +0 -0
  115. /package/dist/{model-O3N3AN4Y.js.map → model-CUREHPKD.js.map} +0 -0
  116. /package/dist/{openai-X5QMIY7Z.js.map → openai-SJZZMS6K.js.map} +0 -0
  117. /package/dist/{outputStyles-VFYX3QMO.js.map → outputStyles-BG6GI36T.js.map} +0 -0
  118. /package/dist/{pluginRuntime-FA334HX6.js.map → pluginRuntime-I3F3K444.js.map} +0 -0
  119. /package/dist/{pluginValidation-AE6WJAO7.js.map → pluginValidation-L32JDUBR.js.map} +0 -0
  120. /package/dist/{prompts-CNNTWJWU.js.map → prompts-HL2KRZIG.js.map} +0 -0
  121. /package/dist/{pybAgentSessionLoad-J5S3HBZO.js.map → pybAgentSessionLoad-3JI5P3QM.js.map} +0 -0
  122. /package/dist/{pybAgentSessionResume-XT6U5KOT.js.map → pybAgentSessionResume-LAKDG73A.js.map} +0 -0
  123. /package/dist/{pybAgentStreamJsonSession-CMFKXVUZ.js.map → pybAgentStreamJsonSession-TYJWRHSN.js.map} +0 -0
  124. /package/dist/{pybHooks-6N3I7APK.js.map → pybHooks-UFUN5PON.js.map} +0 -0
  125. /package/dist/{query-TKANKJVC.js.map → query-ZE4CEAEH.js.map} +0 -0
  126. /package/dist/{ripgrep-KC2NZ7NP.js.map → ripgrep-SQ2A2JPU.js.map} +0 -0
  127. /package/dist/{skillMarketplace-ZMAGE33W.js.map → skillMarketplace-QN4IY5YS.js.map} +0 -0
  128. /package/dist/{state-BUEHSHUM.js.map → state-2N5OZQTT.js.map} +0 -0
  129. /package/dist/{theme-QYBXWA2N.js.map → theme-LPFPU3CC.js.map} +0 -0
  130. /package/dist/{toolPermissionSettings-5OMGJ2CG.js.map → toolPermissionSettings-EN35AC4Y.js.map} +0 -0
  131. /package/dist/{tools-KWHZGP5F.js.map → tools-PR5LQ74M.js.map} +0 -0
  132. /package/dist/{userInput-6KM5QDMN.js.map → userInput-FCQ7553D.js.map} +0 -0
@@ -0,0 +1,42 @@
1
+ import { createRequire as __pybCreateRequire } from "node:module";
2
+ const require = __pybCreateRequire(import.meta.url);
3
+ import {
4
+ REPL
5
+ } from "./chunk-ZHEMMVLC.js";
6
+ import "./chunk-D57QJMYF.js";
7
+ import "./chunk-L257TPK2.js";
8
+ import "./chunk-2GU2JFSX.js";
9
+ import "./chunk-HQLCQM4K.js";
10
+ import "./chunk-4LOPGO3B.js";
11
+ import "./chunk-MYP255MC.js";
12
+ import "./chunk-5P7HBXTD.js";
13
+ import "./chunk-3DFBSQIT.js";
14
+ import "./chunk-JQB6ZCIG.js";
15
+ import "./chunk-B6IMQJZM.js";
16
+ import "./chunk-ZNMRDNXQ.js";
17
+ import "./chunk-S3WJV47A.js";
18
+ import "./chunk-X7KBX3SQ.js";
19
+ import "./chunk-COW6GXO7.js";
20
+ import "./chunk-CAEIEVV4.js";
21
+ import "./chunk-D3HU5ESS.js";
22
+ import "./chunk-JWU4GQ2S.js";
23
+ import "./chunk-UNNVICVU.js";
24
+ import "./chunk-GKXPIENR.js";
25
+ import "./chunk-ERMQRV55.js";
26
+ import "./chunk-3FVHZRMZ.js";
27
+ import "./chunk-A3BVXXA3.js";
28
+ import "./chunk-BJSWTHRM.js";
29
+ import "./chunk-GKXOFPYV.js";
30
+ import "./chunk-BFRI6TO3.js";
31
+ import "./chunk-QZQTOGZM.js";
32
+ import "./chunk-KT7AFM3Y.js";
33
+ import "./chunk-4SQMIADE.js";
34
+ import "./chunk-RQVLBMP7.js";
35
+ import "./chunk-YXGNHIAR.js";
36
+ import "./chunk-M3AEDKSE.js";
37
+ import "./chunk-D43WGGGQ.js";
38
+ import "./chunk-OUXHGDLH.js";
39
+ import "./chunk-I3J4JYES.js";
40
+ export {
41
+ REPL
42
+ };
@@ -6,60 +6,60 @@ import {
6
6
  } from "./chunk-MWPFU2KU.js";
7
7
  import {
8
8
  getTools
9
- } from "./chunk-S7KPCCZ7.js";
9
+ } from "./chunk-7T3SDQOM.js";
10
10
  import {
11
11
  getCommands,
12
12
  getSystemPrompt,
13
13
  grantReadPermissionForOriginalDir,
14
14
  hasPermissionsToUseTool,
15
15
  query
16
- } from "./chunk-AHBWXH7T.js";
17
- import "./chunk-NMDJSF4E.js";
16
+ } from "./chunk-ZHEMMVLC.js";
17
+ import "./chunk-D57QJMYF.js";
18
18
  import {
19
19
  getClients
20
- } from "./chunk-F5VWWWVR.js";
21
- import "./chunk-D73KKW2N.js";
22
- import "./chunk-6X7KJO6I.js";
23
- import "./chunk-CRMMD7DR.js";
24
- import "./chunk-NFL5ALCX.js";
20
+ } from "./chunk-L257TPK2.js";
21
+ import "./chunk-2GU2JFSX.js";
22
+ import "./chunk-HQLCQM4K.js";
23
+ import "./chunk-4LOPGO3B.js";
24
+ import "./chunk-MYP255MC.js";
25
25
  import "./chunk-5P7HBXTD.js";
26
26
  import "./chunk-3DFBSQIT.js";
27
- import "./chunk-O4K7CIS3.js";
27
+ import "./chunk-JQB6ZCIG.js";
28
28
  import "./chunk-B6IMQJZM.js";
29
- import "./chunk-SQGFUZX6.js";
30
- import "./chunk-YNKPYPAC.js";
31
- import "./chunk-55ICGEUC.js";
32
- import "./chunk-BPZI5POF.js";
33
- import "./chunk-ZQ6DFT2S.js";
29
+ import "./chunk-ZNMRDNXQ.js";
30
+ import "./chunk-S3WJV47A.js";
31
+ import "./chunk-X7KBX3SQ.js";
32
+ import "./chunk-COW6GXO7.js";
33
+ import "./chunk-CAEIEVV4.js";
34
34
  import {
35
35
  loadToolPermissionContextFromDisk,
36
36
  persistToolPermissionUpdateToDisk
37
- } from "./chunk-EMAS3EQJ.js";
38
- import "./chunk-FFBEN7GD.js";
37
+ } from "./chunk-D3HU5ESS.js";
38
+ import "./chunk-JWU4GQ2S.js";
39
39
  import {
40
40
  applyToolPermissionContextUpdates
41
41
  } from "./chunk-UNNVICVU.js";
42
- import "./chunk-JVLY4BDD.js";
42
+ import "./chunk-GKXPIENR.js";
43
43
  import "./chunk-ERMQRV55.js";
44
- import "./chunk-BU3RXXMR.js";
44
+ import "./chunk-3FVHZRMZ.js";
45
45
  import "./chunk-A3BVXXA3.js";
46
46
  import "./chunk-BJSWTHRM.js";
47
47
  import {
48
48
  createAssistantMessage,
49
49
  createUserMessage
50
- } from "./chunk-BI2C6FEF.js";
51
- import "./chunk-PTMWY3FU.js";
50
+ } from "./chunk-GKXOFPYV.js";
51
+ import "./chunk-BFRI6TO3.js";
52
52
  import {
53
53
  getContext
54
- } from "./chunk-2KQGZUGU.js";
55
- import "./chunk-HKOMN5N6.js";
54
+ } from "./chunk-QZQTOGZM.js";
55
+ import "./chunk-KT7AFM3Y.js";
56
56
  import {
57
57
  enableConfigs
58
- } from "./chunk-2XIM4I7M.js";
58
+ } from "./chunk-4SQMIADE.js";
59
59
  import "./chunk-RQVLBMP7.js";
60
60
  import {
61
61
  initDebugLogger
62
- } from "./chunk-HX7BGVTC.js";
62
+ } from "./chunk-YXGNHIAR.js";
63
63
  import {
64
64
  PRODUCT_COMMAND,
65
65
  getPybBaseDir,
@@ -67,10 +67,10 @@ import {
67
67
  logError,
68
68
  setCwd,
69
69
  setOriginalCwd
70
- } from "./chunk-OZA25KI6.js";
70
+ } from "./chunk-M3AEDKSE.js";
71
71
  import {
72
72
  MACRO
73
- } from "./chunk-KFTLGFL2.js";
73
+ } from "./chunk-D43WGGGQ.js";
74
74
  import "./chunk-OUXHGDLH.js";
75
75
  import "./chunk-I3J4JYES.js";
76
76
 
@@ -2,12 +2,12 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getModelManager
5
- } from "./chunk-PTMWY3FU.js";
6
- import "./chunk-2XIM4I7M.js";
5
+ } from "./chunk-BFRI6TO3.js";
6
+ import "./chunk-4SQMIADE.js";
7
7
  import "./chunk-RQVLBMP7.js";
8
- import "./chunk-HX7BGVTC.js";
9
- import "./chunk-OZA25KI6.js";
10
- import "./chunk-KFTLGFL2.js";
8
+ import "./chunk-YXGNHIAR.js";
9
+ import "./chunk-M3AEDKSE.js";
10
+ import "./chunk-D43WGGGQ.js";
11
11
  import "./chunk-I3J4JYES.js";
12
12
 
13
13
  // src/entrypoints/cli/agentsValidate.ts
@@ -344,8 +344,8 @@ async function validateAgentTemplates(args) {
344
344
  let knownToolNames;
345
345
  if (args.checkTools) {
346
346
  try {
347
- const { getTools } = await import("./tools-KWHZGP5F.js");
348
- const { getCurrentProjectConfig } = await import("./config-Q7OH5EIE.js");
347
+ const { getTools } = await import("./tools-PR5LQ74M.js");
348
+ const { getCurrentProjectConfig } = await import("./config-A5FS3ITW.js");
349
349
  const allTools = await getTools(getCurrentProjectConfig().enableArchitectTool);
350
350
  knownToolNames = new Set(allTools.map((t) => t.name));
351
351
  } catch {
@@ -3,49 +3,49 @@ const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getSystemPrompt,
5
5
  query
6
- } from "./chunk-AHBWXH7T.js";
7
- import "./chunk-NMDJSF4E.js";
8
- import "./chunk-F5VWWWVR.js";
9
- import "./chunk-D73KKW2N.js";
10
- import "./chunk-6X7KJO6I.js";
11
- import "./chunk-CRMMD7DR.js";
12
- import "./chunk-NFL5ALCX.js";
6
+ } from "./chunk-ZHEMMVLC.js";
7
+ import "./chunk-D57QJMYF.js";
8
+ import "./chunk-L257TPK2.js";
9
+ import "./chunk-2GU2JFSX.js";
10
+ import "./chunk-HQLCQM4K.js";
11
+ import "./chunk-4LOPGO3B.js";
12
+ import "./chunk-MYP255MC.js";
13
13
  import "./chunk-5P7HBXTD.js";
14
14
  import "./chunk-3DFBSQIT.js";
15
- import "./chunk-O4K7CIS3.js";
15
+ import "./chunk-JQB6ZCIG.js";
16
16
  import "./chunk-B6IMQJZM.js";
17
- import "./chunk-SQGFUZX6.js";
18
- import "./chunk-YNKPYPAC.js";
19
- import "./chunk-55ICGEUC.js";
20
- import "./chunk-BPZI5POF.js";
21
- import "./chunk-ZQ6DFT2S.js";
22
- import "./chunk-EMAS3EQJ.js";
23
- import "./chunk-FFBEN7GD.js";
17
+ import "./chunk-ZNMRDNXQ.js";
18
+ import "./chunk-S3WJV47A.js";
19
+ import "./chunk-X7KBX3SQ.js";
20
+ import "./chunk-COW6GXO7.js";
21
+ import "./chunk-CAEIEVV4.js";
22
+ import "./chunk-D3HU5ESS.js";
23
+ import "./chunk-JWU4GQ2S.js";
24
24
  import "./chunk-UNNVICVU.js";
25
- import "./chunk-JVLY4BDD.js";
25
+ import "./chunk-GKXPIENR.js";
26
26
  import "./chunk-ERMQRV55.js";
27
- import "./chunk-BU3RXXMR.js";
27
+ import "./chunk-3FVHZRMZ.js";
28
28
  import "./chunk-A3BVXXA3.js";
29
29
  import "./chunk-BJSWTHRM.js";
30
30
  import {
31
31
  createUserMessage
32
- } from "./chunk-BI2C6FEF.js";
32
+ } from "./chunk-GKXOFPYV.js";
33
33
  import {
34
34
  getModelManager
35
- } from "./chunk-PTMWY3FU.js";
35
+ } from "./chunk-BFRI6TO3.js";
36
36
  import {
37
37
  getContext
38
- } from "./chunk-2KQGZUGU.js";
39
- import "./chunk-HKOMN5N6.js";
40
- import "./chunk-2XIM4I7M.js";
38
+ } from "./chunk-QZQTOGZM.js";
39
+ import "./chunk-KT7AFM3Y.js";
40
+ import "./chunk-4SQMIADE.js";
41
41
  import "./chunk-RQVLBMP7.js";
42
- import "./chunk-HX7BGVTC.js";
42
+ import "./chunk-YXGNHIAR.js";
43
43
  import {
44
44
  getMessagesPath,
45
45
  overwriteLog,
46
46
  setCwd
47
- } from "./chunk-OZA25KI6.js";
48
- import "./chunk-KFTLGFL2.js";
47
+ } from "./chunk-M3AEDKSE.js";
48
+ import "./chunk-D43WGGGQ.js";
49
49
  import {
50
50
  getTotalCost
51
51
  } from "./chunk-OUXHGDLH.js";
@@ -5,9 +5,9 @@ import {
5
5
  checkAndNotifyUpdate,
6
6
  getLatestVersion,
7
7
  getUpdateCommandSuggestions
8
- } from "./chunk-F7ODJLUD.js";
9
- import "./chunk-OZA25KI6.js";
10
- import "./chunk-KFTLGFL2.js";
8
+ } from "./chunk-GMMRCXQX.js";
9
+ import "./chunk-M3AEDKSE.js";
10
+ import "./chunk-D43WGGGQ.js";
11
11
  import "./chunk-I3J4JYES.js";
12
12
  export {
13
13
  assertMinVersion,
@@ -2,13 +2,13 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  MarketplaceManifestSchema
5
- } from "./chunk-6X7KJO6I.js";
5
+ } from "./chunk-HQLCQM4K.js";
6
6
  import {
7
7
  parseFrontmatter
8
- } from "./chunk-ZQ6DFT2S.js";
8
+ } from "./chunk-CAEIEVV4.js";
9
9
  import {
10
10
  getCwd
11
- } from "./chunk-OZA25KI6.js";
11
+ } from "./chunk-M3AEDKSE.js";
12
12
 
13
13
  // src/services/plugins/pluginValidation.ts
14
14
  import { existsSync, lstatSync, readFileSync } from "node:fs";
@@ -8,11 +8,11 @@ import {
8
8
  } from "./chunk-BJSWTHRM.js";
9
9
  import {
10
10
  debug
11
- } from "./chunk-HX7BGVTC.js";
11
+ } from "./chunk-YXGNHIAR.js";
12
12
  import {
13
13
  getCwd,
14
14
  logError
15
- } from "./chunk-OZA25KI6.js";
15
+ } from "./chunk-M3AEDKSE.js";
16
16
 
17
17
  // src/utils/agent/loader.ts
18
18
  import {
@@ -2,7 +2,7 @@ import { createRequire as __pybCreateRequire } from "node:module";
2
2
  const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  getSessionProjectDir
5
- } from "./chunk-NFL5ALCX.js";
5
+ } from "./chunk-MYP255MC.js";
6
6
  import {
7
7
  isUuid
8
8
  } from "./chunk-5P7HBXTD.js";
@@ -5,12 +5,12 @@ import {
5
5
  } from "./chunk-RQVLBMP7.js";
6
6
  import {
7
7
  debug
8
- } from "./chunk-HX7BGVTC.js";
8
+ } from "./chunk-YXGNHIAR.js";
9
9
  import {
10
10
  getCwd,
11
11
  getGlobalConfigFilePath,
12
12
  logError
13
- } from "./chunk-OZA25KI6.js";
13
+ } from "./chunk-M3AEDKSE.js";
14
14
 
15
15
  // src/core/config/schema.ts
16
16
  function isAutoUpdaterStatus(value) {
@@ -660,7 +660,7 @@ function setModelPointer(pointer, modelName) {
660
660
  }
661
661
  };
662
662
  saveGlobalConfig(updatedConfig);
663
- import("./model-O3N3AN4Y.js").then(({ reloadModelManager }) => {
663
+ import("./model-CUREHPKD.js").then(({ reloadModelManager }) => {
664
664
  reloadModelManager();
665
665
  });
666
666
  }
@@ -3,6 +3,7 @@ const require = __pybCreateRequire(import.meta.url);
3
3
  import {
4
4
  AskUserQuestionTool,
5
5
  BashTool,
6
+ BlockAnchorReplacer,
6
7
  Cost,
7
8
  EnterPlanModeTool,
8
9
  ExitPlanModeTool,
@@ -12,6 +13,7 @@ import {
12
13
  GlobTool,
13
14
  GrepTool,
14
15
  KillShellTool,
16
+ LineTrimmedReplacer,
15
17
  NotebookEditTool,
16
18
  ParserRegistry,
17
19
  SkillTool,
@@ -19,6 +21,7 @@ import {
19
21
  TodoWriteTool,
20
22
  WebFetchTool,
21
23
  WebSearchTool,
24
+ WhitespaceNormalizedReplacer,
22
25
  applyMarkdown,
23
26
  countTokens,
24
27
  fileExistsBun,
@@ -30,45 +33,45 @@ import {
30
33
  hasWritePermission,
31
34
  loadLanguage,
32
35
  query
33
- } from "./chunk-AHBWXH7T.js";
36
+ } from "./chunk-ZHEMMVLC.js";
34
37
  import {
35
38
  FallbackToolUseRejectedMessage,
36
39
  MCPTool,
37
40
  getClients,
38
41
  getMCPTools
39
- } from "./chunk-F5VWWWVR.js";
42
+ } from "./chunk-L257TPK2.js";
40
43
  import {
41
44
  queryLLM
42
- } from "./chunk-55ICGEUC.js";
45
+ } from "./chunk-X7KBX3SQ.js";
43
46
  import {
44
47
  tree
45
- } from "./chunk-BPZI5POF.js";
48
+ } from "./chunk-COW6GXO7.js";
46
49
  import {
47
50
  generateAgentId
48
- } from "./chunk-JVLY4BDD.js";
51
+ } from "./chunk-GKXPIENR.js";
49
52
  import {
50
53
  getActiveAgents,
51
54
  getAgentByType,
52
55
  getAvailableAgentTypes
53
- } from "./chunk-BU3RXXMR.js";
56
+ } from "./chunk-3FVHZRMZ.js";
54
57
  import {
55
58
  INTERRUPT_MESSAGE,
56
59
  createAssistantMessage,
57
60
  createUserMessage,
58
61
  getLastAssistantMessageId
59
- } from "./chunk-BI2C6FEF.js";
62
+ } from "./chunk-GKXOFPYV.js";
60
63
  import {
61
64
  getModelManager
62
- } from "./chunk-PTMWY3FU.js";
65
+ } from "./chunk-BFRI6TO3.js";
63
66
  import {
64
67
  getContext
65
- } from "./chunk-2KQGZUGU.js";
68
+ } from "./chunk-QZQTOGZM.js";
66
69
  import {
67
70
  getTheme
68
- } from "./chunk-HKOMN5N6.js";
71
+ } from "./chunk-KT7AFM3Y.js";
69
72
  import {
70
73
  debug
71
- } from "./chunk-HX7BGVTC.js";
74
+ } from "./chunk-YXGNHIAR.js";
72
75
  import {
73
76
  BunShell,
74
77
  getCwd,
@@ -77,7 +80,7 @@ import {
77
80
  logError,
78
81
  overwriteLog,
79
82
  readTaskOutput
80
- } from "./chunk-OZA25KI6.js";
83
+ } from "./chunk-M3AEDKSE.js";
81
84
  import {
82
85
  formatDuration,
83
86
  formatNumber
@@ -3110,6 +3113,54 @@ import { z as z7 } from "zod";
3110
3113
 
3111
3114
  // src/utils/diff/patch-manager.ts
3112
3115
  var PatchManager = class {
3116
+ static applyTransactional(patches, fileContents, options = { strategy: "strict" }) {
3117
+ const result = {
3118
+ success: true,
3119
+ partialSuccess: false,
3120
+ committedFiles: [],
3121
+ failedFiles: [],
3122
+ newContents: /* @__PURE__ */ new Map(),
3123
+ errors: /* @__PURE__ */ new Map()
3124
+ };
3125
+ const tempResults = /* @__PURE__ */ new Map();
3126
+ for (const patch of patches) {
3127
+ const content = fileContents.get(patch.filePath);
3128
+ if (content === void 0) {
3129
+ result.failedFiles.push(patch.filePath);
3130
+ result.errors.set(patch.filePath, "File not found in provided contents");
3131
+ result.success = false;
3132
+ continue;
3133
+ }
3134
+ try {
3135
+ const newContent = this.apply(content, patch.hunks);
3136
+ tempResults.set(patch.filePath, newContent);
3137
+ } catch (error) {
3138
+ result.failedFiles.push(patch.filePath);
3139
+ result.errors.set(patch.filePath, error.message);
3140
+ result.success = false;
3141
+ }
3142
+ }
3143
+ if (options.strategy === "strict") {
3144
+ if (!result.success) {
3145
+ result.committedFiles = [];
3146
+ result.newContents.clear();
3147
+ } else {
3148
+ for (const [file, content] of tempResults) {
3149
+ result.committedFiles.push(file);
3150
+ result.newContents.set(file, content);
3151
+ }
3152
+ }
3153
+ } else {
3154
+ for (const [file, content] of tempResults) {
3155
+ result.committedFiles.push(file);
3156
+ result.newContents.set(file, content);
3157
+ }
3158
+ if (result.failedFiles.length > 0 && result.committedFiles.length > 0) {
3159
+ result.partialSuccess = true;
3160
+ }
3161
+ }
3162
+ return result;
3163
+ }
3113
3164
  static parseMultiFileDiff(diff) {
3114
3165
  const lines = diff.split("\n");
3115
3166
  const patches = [];
@@ -3206,16 +3257,28 @@ var PatchManager = class {
3206
3257
  const replacements = [];
3207
3258
  let searchStartIndex = 0;
3208
3259
  for (const hunk of hunks) {
3209
- const matchIndex = this.findContext(lines, hunk.oldLines, searchStartIndex);
3260
+ let matchIndex = this.findContext(lines, hunk.oldLines, searchStartIndex);
3261
+ let oldLinesLength = hunk.oldLines.length;
3262
+ let newLines = hunk.newLines;
3263
+ if (matchIndex === -1 && hunk.oldLines.length > 0 && hunk.oldLines[hunk.oldLines.length - 1].trim() === "") {
3264
+ const reducedContext = hunk.oldLines.slice(0, -1);
3265
+ matchIndex = this.findContext(lines, reducedContext, searchStartIndex);
3266
+ if (matchIndex !== -1) {
3267
+ oldLinesLength = reducedContext.length;
3268
+ if (newLines.length > 0 && newLines[newLines.length - 1].trim() === "") {
3269
+ newLines = newLines.slice(0, -1);
3270
+ }
3271
+ }
3272
+ }
3210
3273
  if (matchIndex === -1) {
3211
3274
  throw new Error(`Could not find context for hunk: ${hunk.header}`);
3212
3275
  }
3213
3276
  replacements.push({
3214
3277
  start: matchIndex,
3215
- length: hunk.oldLines.length,
3216
- newLines: hunk.newLines
3278
+ length: oldLinesLength,
3279
+ newLines
3217
3280
  });
3218
- searchStartIndex = matchIndex + hunk.oldLines.length;
3281
+ searchStartIndex = matchIndex + oldLinesLength;
3219
3282
  }
3220
3283
  replacements.sort((a, b) => b.start - a.start);
3221
3284
  const resultLines = [...lines];
@@ -3238,6 +3301,19 @@ var PatchManager = class {
3238
3301
  return i;
3239
3302
  }
3240
3303
  }
3304
+ const contentFromStart = lines.slice(startIndex).join("\n");
3305
+ const contextStr = context.join("\n");
3306
+ const strategies = [LineTrimmedReplacer, WhitespaceNormalizedReplacer, BlockAnchorReplacer];
3307
+ for (const replacer of strategies) {
3308
+ for (const match of replacer(contentFromStart, contextStr)) {
3309
+ const matchIndex = contentFromStart.indexOf(match);
3310
+ if (matchIndex !== -1) {
3311
+ const linesBefore = contentFromStart.substring(0, matchIndex).split("\n");
3312
+ const lineOffset = linesBefore.length - 1;
3313
+ return startIndex + lineOffset;
3314
+ }
3315
+ }
3316
+ }
3241
3317
  return -1;
3242
3318
  }
3243
3319
  };
@@ -3250,13 +3326,14 @@ var DESCRIPTION5 = `Apply a unified diff patch to one or more files.
3250
3326
 
3251
3327
  Usage:
3252
3328
  - Provide a standard unified diff string (starting with \`--- a/file\` and \`+++ b/file\`).
3253
- - The tool uses "Smart Patch" logic: it ignores strict line numbers in the diff header (e.g., \`@@ -10,5 +10,5 @@\`) and instead uses the context lines (lines starting with space) to locate the code block.
3254
- - This allows you to apply patches even if the file has changed slightly (e.g., lines shifted), as long as the context matches.
3255
- - Supports applying changes to MULTIPLE files in a single atomic operation. If any file fails to patch, NO files will be changed.
3329
+ - The tool uses "Smart Patch" logic: it ignores strict line numbers in the diff header and uses context lines (starting with space) to locate the code block.
3330
+ - **Smart Context**: It tolerates minor indentation/whitespace differences between the diff context and the actual file (Fuzzy Matching).
3331
+ - **Atomic Transaction**: Supports applying changes to MULTIPLE files in a single atomic operation. If any file fails to patch (even after fuzzy matching), NO files will be changed (Strict Atomicity).
3332
+ - **Rich Feedback**: If a patch fails, the tool provides a detailed report explaining which file failed and why, allowing you to self-correct or fallback to EditTool.
3256
3333
 
3257
3334
  When to use:
3258
- - Complex refactoring involving multiple files.
3259
- - Applying changes where you are confident about the context but unsure about exact line numbers.
3335
+ - Complex refactoring involving multiple files (e.g., changing a function signature in .h and .cpp).
3336
+ - Applying structured changes where context is critical.
3260
3337
  - When you want to ensure atomicity across multiple file edits.
3261
3338
 
3262
3339
  Example:
@@ -3320,8 +3397,8 @@ var PatchTool = {
3320
3397
  if (patches.length === 0) {
3321
3398
  throw new Error("No valid hunks found in patch. Ensure standard Unified Diff format with file headers (---/+++).");
3322
3399
  }
3323
- const plan = [];
3324
- const messages = [];
3400
+ const fileContents = /* @__PURE__ */ new Map();
3401
+ const resolvedPaths = /* @__PURE__ */ new Map();
3325
3402
  for (const p of patches) {
3326
3403
  let filePath = p.filePath.trim();
3327
3404
  if (!fileExistsBun(filePath) && (filePath.startsWith("a/") || filePath.startsWith("b/"))) {
@@ -3333,18 +3410,30 @@ var PatchTool = {
3333
3410
  if (!fileExistsBun(filePath)) {
3334
3411
  throw new Error(`Target file not found: ${filePath}`);
3335
3412
  }
3413
+ resolvedPaths.set(p.filePath, filePath);
3336
3414
  const content = readFileSync4(filePath, "utf-8");
3337
- try {
3338
- const newContent = PatchManager.apply(content, p.hunks);
3339
- plan.push({ filePath, newContent });
3340
- } catch (e) {
3341
- throw new Error(`Failed to apply patch to ${filePath}: ${e.message}`);
3342
- }
3415
+ fileContents.set(p.filePath, content);
3416
+ }
3417
+ const result = PatchManager.applyTransactional(patches, fileContents, { strategy: "strict" });
3418
+ if (!result.success) {
3419
+ const failures = result.failedFiles.map((f) => {
3420
+ const err = result.errors.get(f) || "Unknown error";
3421
+ return `- ${f}: ${err}`;
3422
+ }).join("\n");
3423
+ throw new Error(
3424
+ `Patch failed (Atomic Rollback). No files were changed.
3425
+ Failures:
3426
+ ${failures}
3427
+ Recommendation: Use 'Edit' tool for failed files or fix the patch context.`
3428
+ );
3343
3429
  }
3344
3430
  const changedFiles = [];
3345
- for (const item of plan) {
3346
- writeFileSync2(item.filePath, item.newContent);
3347
- changedFiles.push(item.filePath);
3431
+ for (const [patchPath, newContent] of result.newContents) {
3432
+ const absPath = resolvedPaths.get(patchPath);
3433
+ if (absPath) {
3434
+ writeFileSync2(absPath, newContent);
3435
+ changedFiles.push(absPath);
3436
+ }
3348
3437
  }
3349
3438
  yield {
3350
3439
  type: "result",