pybao-cli 1.3.66 → 1.3.68
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.
- package/dist/REPL-DJM734CM.js +42 -0
- package/dist/{acp-CRORIP4U.js → acp-IE4X7ZN6.js} +29 -28
- package/dist/{acp-CRORIP4U.js.map → acp-IE4X7ZN6.js.map} +1 -1
- package/dist/{agentsValidate-GQLIBCH7.js → agentsValidate-MKLGV6YH.js} +7 -7
- package/dist/{ask-ZIKOLPEL.js → ask-L4NL5YZB.js} +25 -25
- package/dist/{autoUpdater-52EOWK7Q.js → autoUpdater-HIZW6RW5.js} +3 -3
- package/dist/{chunk-YZO54FC4.js → chunk-34YFVONG.js} +3 -3
- package/dist/{chunk-6SONRPL2.js → chunk-66Q7F6VR.js} +2 -2
- package/dist/{chunk-6J75N6QM.js → chunk-6LV6USMO.js} +1 -1
- package/dist/{chunk-R6KHNARS.js → chunk-AQXTZQ53.js} +2 -2
- package/dist/{chunk-NGDPJF42.js → chunk-AXOACBAT.js} +2 -2
- package/dist/{chunk-65HWALEX.js → chunk-BA47OUH4.js} +1 -1
- package/dist/{chunk-OAJUVQHX.js → chunk-BNGSVF2J.js} +1 -1
- package/dist/{chunk-DJKUB73J.js → chunk-C55WIL3X.js} +2 -2
- package/dist/{chunk-EDYTH7ZW.js → chunk-D4YLMKUI.js} +139 -63
- package/dist/chunk-D4YLMKUI.js.map +7 -0
- package/dist/{chunk-SHQDB7TS.js → chunk-E5WBVYYC.js} +159 -12
- package/dist/chunk-E5WBVYYC.js.map +7 -0
- package/dist/{chunk-FJ75CMJG.js → chunk-GKJ2UVO6.js} +3 -3
- package/dist/{chunk-5XROCABG.js → chunk-HRLQBOES.js} +1 -1
- package/dist/{chunk-QONPUH55.js → chunk-IZ3M5OX4.js} +3 -19
- package/dist/chunk-IZ3M5OX4.js.map +7 -0
- package/dist/{chunk-FRHRNMUY.js → chunk-NDB7EZE7.js} +4 -4
- package/dist/{chunk-NXE74FU6.js → chunk-NLYDLJGG.js} +3 -3
- package/dist/{chunk-O4T52FXE.js → chunk-OA6P7HKK.js} +1 -1
- package/dist/{chunk-7RTNDJPS.js → chunk-OZIA3O6P.js} +3 -3
- package/dist/{chunk-FG46BKMB.js → chunk-PI4E5VRN.js} +1 -1
- package/dist/{chunk-PRYONWPS.js → chunk-R6VHHI3G.js} +3 -3
- package/dist/{chunk-MXHGLOPM.js → chunk-SMHYMUYQ.js} +4 -4
- package/dist/{chunk-NSAD43DT.js → chunk-SPR7JVVT.js} +2 -2
- package/dist/{chunk-GXIZY2EJ.js → chunk-SXOAID2G.js} +1 -1
- package/dist/{chunk-HLZHG45G.js → chunk-TY5HBCY6.js} +3 -3
- package/dist/{chunk-6HVXE4WV.js → chunk-UQCJUCOM.js} +3 -3
- package/dist/chunk-UZ34JEUK.js +24 -0
- package/dist/chunk-UZ34JEUK.js.map +7 -0
- package/dist/{chunk-DMPEMAK5.js → chunk-V2HYOQO2.js} +3 -2
- package/dist/chunk-V2HYOQO2.js.map +7 -0
- package/dist/{chunk-PCBYO2CX.js → chunk-VQEYFHCS.js} +2 -2
- package/dist/{chunk-2E7J2ODZ.js → chunk-YDJKO722.js} +1 -1
- package/dist/{chunk-SRUCSPWB.js → chunk-YGXPUU5Q.js} +1 -1
- package/dist/{chunk-AZM43EPP.js → chunk-YLQNROYF.js} +39 -39
- package/dist/chunk-YLQNROYF.js.map +7 -0
- package/dist/{cli-U7LD56IV.js → cli-PY7HG5EY.js} +80 -79
- package/dist/{cli-U7LD56IV.js.map → cli-PY7HG5EY.js.map} +1 -1
- package/dist/commands-5CSQ5GGO.js +46 -0
- package/dist/{config-XP23QHNW.js → config-RJW36RLQ.js} +4 -4
- package/dist/{context-AH5LN5Q7.js → context-UPJIGJGW.js} +5 -5
- package/dist/{customCommands-P65AJJZJ.js → customCommands-TK6JH5JK.js} +4 -4
- package/dist/{env-MM7NR5WN.js → env-EH3S4WPV.js} +2 -2
- package/dist/index.js +3 -3
- package/dist/{llm-MEJLEPVT.js → llm-A7VDD3EC.js} +26 -26
- package/dist/{llmLazy-QPHLH6WK.js → llmLazy-W4G3KUIV.js} +1 -1
- package/dist/{loader-JB6W76U3.js → loader-MY5XCCA3.js} +4 -4
- package/dist/{lspAnchor-Z2WXIBNC.js → lspAnchor-5DXSPII5.js} +5 -4
- package/dist/{lspAnchor-Z2WXIBNC.js.map → lspAnchor-5DXSPII5.js.map} +1 -1
- package/dist/{manager-NREJKNPL.js → manager-RWXJYR32.js} +5 -4
- package/dist/{mcp-O6PAUWM7.js → mcp-PCBS4AIR.js} +7 -7
- package/dist/{mentionProcessor-XICJQB3S.js → mentionProcessor-LX5CKCGW.js} +5 -5
- package/dist/{messages-YM2WQHN6.js → messages-24CDBMXV.js} +1 -1
- package/dist/{model-CS437TVG.js → model-KL3RMVGS.js} +5 -5
- package/dist/{openai-HFIEXBJV.js → openai-Y6XHWIWL.js} +5 -5
- package/dist/{outputStyles-BYDQ44MF.js → outputStyles-T2FTKT7O.js} +4 -4
- package/dist/{pluginRuntime-VGGZHDLN.js → pluginRuntime-MLFDH5XG.js} +6 -6
- package/dist/{pluginValidation-QODKVL2A.js → pluginValidation-QRH2JQDW.js} +6 -6
- package/dist/prompts-6VD6YOL4.js +48 -0
- package/dist/{pybAgentSessionLoad-7NXAVKNS.js → pybAgentSessionLoad-L2SJR5BF.js} +4 -4
- package/dist/{pybAgentSessionResume-C2GFWBQV.js → pybAgentSessionResume-K6OWM6RG.js} +4 -4
- package/dist/{pybAgentStreamJsonSession-3Q3DQAVE.js → pybAgentStreamJsonSession-Q63IJMAO.js} +1 -1
- package/dist/{pybHooks-FPKIHECY.js → pybHooks-65PPV2GW.js} +4 -4
- package/dist/query-5BQJ3TJV.js +50 -0
- package/dist/{ripgrep-3LBNI2B2.js → ripgrep-WQEATYUJ.js} +3 -3
- package/dist/{skillMarketplace-7WRNINVK.js → skillMarketplace-XZ72GXV7.js} +3 -3
- package/dist/{smart-edit-J5J4S2TS.js → smart-edit-677MCQMW.js} +4 -2
- package/dist/{smart-edit-J5J4S2TS.js.map → smart-edit-677MCQMW.js.map} +1 -1
- package/dist/{state-MUEKUZ6X.js → state-Q2QXC77S.js} +2 -2
- package/dist/{theme-FO4T4R6D.js → theme-4REKDOVH.js} +5 -5
- package/dist/{toolPermissionSettings-Y3LNPCXT.js → toolPermissionSettings-DWLDFC6L.js} +6 -6
- package/dist/tools-NEWQPNHL.js +50 -0
- package/dist/{userInput-EZPAFVPK.js → userInput-3RJRG3AE.js} +27 -27
- package/package.json +3 -2
- package/dist/REPL-KV6VMZMF.js +0 -42
- package/dist/chunk-AZM43EPP.js.map +0 -7
- package/dist/chunk-DMPEMAK5.js.map +0 -7
- package/dist/chunk-EDYTH7ZW.js.map +0 -7
- package/dist/chunk-QONPUH55.js.map +0 -7
- package/dist/chunk-SHQDB7TS.js.map +0 -7
- package/dist/commands-O4J2KJK4.js +0 -46
- package/dist/prompts-DFIU3557.js +0 -48
- package/dist/query-N744NNT6.js +0 -50
- package/dist/tools-Q3N57RD6.js +0 -49
- /package/dist/{REPL-KV6VMZMF.js.map → REPL-DJM734CM.js.map} +0 -0
- /package/dist/{agentsValidate-GQLIBCH7.js.map → agentsValidate-MKLGV6YH.js.map} +0 -0
- /package/dist/{ask-ZIKOLPEL.js.map → ask-L4NL5YZB.js.map} +0 -0
- /package/dist/{autoUpdater-52EOWK7Q.js.map → autoUpdater-HIZW6RW5.js.map} +0 -0
- /package/dist/{chunk-YZO54FC4.js.map → chunk-34YFVONG.js.map} +0 -0
- /package/dist/{chunk-6SONRPL2.js.map → chunk-66Q7F6VR.js.map} +0 -0
- /package/dist/{chunk-6J75N6QM.js.map → chunk-6LV6USMO.js.map} +0 -0
- /package/dist/{chunk-R6KHNARS.js.map → chunk-AQXTZQ53.js.map} +0 -0
- /package/dist/{chunk-NGDPJF42.js.map → chunk-AXOACBAT.js.map} +0 -0
- /package/dist/{chunk-65HWALEX.js.map → chunk-BA47OUH4.js.map} +0 -0
- /package/dist/{chunk-OAJUVQHX.js.map → chunk-BNGSVF2J.js.map} +0 -0
- /package/dist/{chunk-DJKUB73J.js.map → chunk-C55WIL3X.js.map} +0 -0
- /package/dist/{chunk-FJ75CMJG.js.map → chunk-GKJ2UVO6.js.map} +0 -0
- /package/dist/{chunk-5XROCABG.js.map → chunk-HRLQBOES.js.map} +0 -0
- /package/dist/{chunk-FRHRNMUY.js.map → chunk-NDB7EZE7.js.map} +0 -0
- /package/dist/{chunk-NXE74FU6.js.map → chunk-NLYDLJGG.js.map} +0 -0
- /package/dist/{chunk-O4T52FXE.js.map → chunk-OA6P7HKK.js.map} +0 -0
- /package/dist/{chunk-7RTNDJPS.js.map → chunk-OZIA3O6P.js.map} +0 -0
- /package/dist/{chunk-FG46BKMB.js.map → chunk-PI4E5VRN.js.map} +0 -0
- /package/dist/{chunk-PRYONWPS.js.map → chunk-R6VHHI3G.js.map} +0 -0
- /package/dist/{chunk-MXHGLOPM.js.map → chunk-SMHYMUYQ.js.map} +0 -0
- /package/dist/{chunk-NSAD43DT.js.map → chunk-SPR7JVVT.js.map} +0 -0
- /package/dist/{chunk-GXIZY2EJ.js.map → chunk-SXOAID2G.js.map} +0 -0
- /package/dist/{chunk-HLZHG45G.js.map → chunk-TY5HBCY6.js.map} +0 -0
- /package/dist/{chunk-6HVXE4WV.js.map → chunk-UQCJUCOM.js.map} +0 -0
- /package/dist/{chunk-PCBYO2CX.js.map → chunk-VQEYFHCS.js.map} +0 -0
- /package/dist/{chunk-2E7J2ODZ.js.map → chunk-YDJKO722.js.map} +0 -0
- /package/dist/{chunk-SRUCSPWB.js.map → chunk-YGXPUU5Q.js.map} +0 -0
- /package/dist/{commands-O4J2KJK4.js.map → commands-5CSQ5GGO.js.map} +0 -0
- /package/dist/{config-XP23QHNW.js.map → config-RJW36RLQ.js.map} +0 -0
- /package/dist/{context-AH5LN5Q7.js.map → context-UPJIGJGW.js.map} +0 -0
- /package/dist/{customCommands-P65AJJZJ.js.map → customCommands-TK6JH5JK.js.map} +0 -0
- /package/dist/{env-MM7NR5WN.js.map → env-EH3S4WPV.js.map} +0 -0
- /package/dist/{llm-MEJLEPVT.js.map → llm-A7VDD3EC.js.map} +0 -0
- /package/dist/{llmLazy-QPHLH6WK.js.map → llmLazy-W4G3KUIV.js.map} +0 -0
- /package/dist/{loader-JB6W76U3.js.map → loader-MY5XCCA3.js.map} +0 -0
- /package/dist/{manager-NREJKNPL.js.map → manager-RWXJYR32.js.map} +0 -0
- /package/dist/{mcp-O6PAUWM7.js.map → mcp-PCBS4AIR.js.map} +0 -0
- /package/dist/{mentionProcessor-XICJQB3S.js.map → mentionProcessor-LX5CKCGW.js.map} +0 -0
- /package/dist/{messages-YM2WQHN6.js.map → messages-24CDBMXV.js.map} +0 -0
- /package/dist/{model-CS437TVG.js.map → model-KL3RMVGS.js.map} +0 -0
- /package/dist/{openai-HFIEXBJV.js.map → openai-Y6XHWIWL.js.map} +0 -0
- /package/dist/{outputStyles-BYDQ44MF.js.map → outputStyles-T2FTKT7O.js.map} +0 -0
- /package/dist/{pluginRuntime-VGGZHDLN.js.map → pluginRuntime-MLFDH5XG.js.map} +0 -0
- /package/dist/{pluginValidation-QODKVL2A.js.map → pluginValidation-QRH2JQDW.js.map} +0 -0
- /package/dist/{prompts-DFIU3557.js.map → prompts-6VD6YOL4.js.map} +0 -0
- /package/dist/{pybAgentSessionLoad-7NXAVKNS.js.map → pybAgentSessionLoad-L2SJR5BF.js.map} +0 -0
- /package/dist/{pybAgentSessionResume-C2GFWBQV.js.map → pybAgentSessionResume-K6OWM6RG.js.map} +0 -0
- /package/dist/{pybAgentStreamJsonSession-3Q3DQAVE.js.map → pybAgentStreamJsonSession-Q63IJMAO.js.map} +0 -0
- /package/dist/{pybHooks-FPKIHECY.js.map → pybHooks-65PPV2GW.js.map} +0 -0
- /package/dist/{query-N744NNT6.js.map → query-5BQJ3TJV.js.map} +0 -0
- /package/dist/{ripgrep-3LBNI2B2.js.map → ripgrep-WQEATYUJ.js.map} +0 -0
- /package/dist/{skillMarketplace-7WRNINVK.js.map → skillMarketplace-XZ72GXV7.js.map} +0 -0
- /package/dist/{state-MUEKUZ6X.js.map → state-Q2QXC77S.js.map} +0 -0
- /package/dist/{theme-FO4T4R6D.js.map → theme-4REKDOVH.js.map} +0 -0
- /package/dist/{toolPermissionSettings-Y3LNPCXT.js.map → toolPermissionSettings-DWLDFC6L.js.map} +0 -0
- /package/dist/{tools-Q3N57RD6.js.map → tools-NEWQPNHL.js.map} +0 -0
- /package/dist/{userInput-EZPAFVPK.js.map → userInput-3RJRG3AE.js.map} +0 -0
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-ERMQRV55.js";
|
|
7
7
|
import {
|
|
8
8
|
debug
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SXOAID2G.js";
|
|
10
10
|
import {
|
|
11
11
|
logError
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HRLQBOES.js";
|
|
13
13
|
|
|
14
14
|
// src/utils/agent/storage.ts
|
|
15
15
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
PLAN_SLUG_VERBS,
|
|
10
10
|
getCwd,
|
|
11
11
|
getPybBaseDir
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HRLQBOES.js";
|
|
13
13
|
import {
|
|
14
14
|
MACRO
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-V2HYOQO2.js";
|
|
16
16
|
|
|
17
17
|
// src/utils/protocol/pybAgentSessionLog.ts
|
|
18
18
|
import { execFileSync } from "child_process";
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
} from "./chunk-ERMQRV55.js";
|
|
7
7
|
import {
|
|
8
8
|
getGlobalConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-NLYDLJGG.js";
|
|
10
10
|
import {
|
|
11
11
|
debug,
|
|
12
12
|
getCurrentRequest,
|
|
13
13
|
logAPIError
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-SXOAID2G.js";
|
|
15
15
|
|
|
16
16
|
// src/services/ai/openai.ts
|
|
17
17
|
import { ProxyAgent, fetch } from "undici";
|
|
@@ -30,34 +30,34 @@ import {
|
|
|
30
30
|
hasWritePermission,
|
|
31
31
|
loadLanguage,
|
|
32
32
|
query
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-YLQNROYF.js";
|
|
34
34
|
import {
|
|
35
35
|
queryLLM
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-SMHYMUYQ.js";
|
|
37
37
|
import {
|
|
38
38
|
FallbackToolUseRejectedMessage,
|
|
39
39
|
MCPTool,
|
|
40
40
|
getClients,
|
|
41
41
|
getMCPTools
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-NDB7EZE7.js";
|
|
43
43
|
import {
|
|
44
44
|
generateAgentId
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-AQXTZQ53.js";
|
|
46
46
|
import {
|
|
47
47
|
getActiveAgents,
|
|
48
48
|
getAgentByType,
|
|
49
49
|
getAvailableAgentTypes
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-66Q7F6VR.js";
|
|
51
51
|
import {
|
|
52
52
|
INTERRUPT_MESSAGE,
|
|
53
53
|
createAssistantMessage,
|
|
54
54
|
createUserMessage,
|
|
55
55
|
getLastAssistantMessageId
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-OA6P7HKK.js";
|
|
57
57
|
import {
|
|
58
58
|
filesToTree,
|
|
59
59
|
ripGrep
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-BA47OUH4.js";
|
|
61
61
|
import {
|
|
62
62
|
BlockAnchorReplacer,
|
|
63
63
|
ContextAwareReplacer,
|
|
@@ -67,22 +67,22 @@ import {
|
|
|
67
67
|
MultiOccurrenceReplacer,
|
|
68
68
|
TrimmedBoundaryReplacer,
|
|
69
69
|
WhitespaceNormalizedReplacer
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-IZ3M5OX4.js";
|
|
71
71
|
import {
|
|
72
72
|
LspClientManager
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-E5WBVYYC.js";
|
|
74
74
|
import {
|
|
75
75
|
getModelManager
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-TY5HBCY6.js";
|
|
77
77
|
import {
|
|
78
78
|
getContext
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-UQCJUCOM.js";
|
|
80
80
|
import {
|
|
81
81
|
getTheme
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-YDJKO722.js";
|
|
83
83
|
import {
|
|
84
84
|
debug
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-SXOAID2G.js";
|
|
86
86
|
import {
|
|
87
87
|
BunShell,
|
|
88
88
|
getCwd,
|
|
@@ -91,7 +91,7 @@ import {
|
|
|
91
91
|
logError,
|
|
92
92
|
overwriteLog,
|
|
93
93
|
readTaskOutput
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-HRLQBOES.js";
|
|
95
95
|
import {
|
|
96
96
|
formatDuration,
|
|
97
97
|
formatNumber
|
|
@@ -741,7 +741,7 @@ function buildTaskSummary(taskId) {
|
|
|
741
741
|
}
|
|
742
742
|
return null;
|
|
743
743
|
}
|
|
744
|
-
function
|
|
744
|
+
async function analyzeOutputWithLsp(output, exitCode) {
|
|
745
745
|
const errorCount = (output.match(/Error:/gi) || []).length;
|
|
746
746
|
const warningCount = (output.match(/Warning:/gi) || []).length;
|
|
747
747
|
let summary = "";
|
|
@@ -755,8 +755,57 @@ function analyzeOutput(output, exitCode) {
|
|
|
755
755
|
const parts = [summary];
|
|
756
756
|
if (errorCount > 0) parts.push(`${errorCount} Error${errorCount === 1 ? "" : "s"}`);
|
|
757
757
|
if (warningCount > 0) parts.push(`${warningCount} Warning${warningCount === 1 ? "" : "s"}`);
|
|
758
|
+
if (exitCode !== 0) {
|
|
759
|
+
try {
|
|
760
|
+
const { LspClientManager: LspClientManager2 } = await import("./manager-RWXJYR32.js");
|
|
761
|
+
const { isAbsolute: isAbsolute3, resolve: resolve3 } = await import("path");
|
|
762
|
+
const { getCwd: getCwd2 } = await import("./state-Q2QXC77S.js");
|
|
763
|
+
const lines = output.split("\n");
|
|
764
|
+
const uniqueFiles = /* @__PURE__ */ new Set();
|
|
765
|
+
const lspSuggestions = [];
|
|
766
|
+
const pathRegex = /(?:[a-zA-Z]:\\|(?:\/|\\))?[\w\-\.]+(?:(?:\/|\\)[\w\-\.]+)+\.(?:ts|tsx|js|jsx|py|java|cs|cpp|c|rs|go)(?::\d+|:\d+:\d+|\(\d+,\d+\))/g;
|
|
767
|
+
for (const line of lines) {
|
|
768
|
+
const matches = line.match(pathRegex);
|
|
769
|
+
if (matches) {
|
|
770
|
+
for (const match of matches) {
|
|
771
|
+
let cleanPath = match;
|
|
772
|
+
if (cleanPath.includes("(")) {
|
|
773
|
+
cleanPath = cleanPath.split("(")[0];
|
|
774
|
+
} else {
|
|
775
|
+
cleanPath = cleanPath.replace(/:\d+(?::\d+)?$/, "");
|
|
776
|
+
}
|
|
777
|
+
uniqueFiles.add(cleanPath);
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
for (const file of uniqueFiles) {
|
|
782
|
+
try {
|
|
783
|
+
const absPath = isAbsolute3(file) ? file : resolve3(getCwd2(), file);
|
|
784
|
+
await LspClientManager2.getInstance().documentSymbol(absPath);
|
|
785
|
+
const diagnostics = await LspClientManager2.getInstance().getDiagnostics(absPath);
|
|
786
|
+
if (diagnostics && diagnostics.length > 0) {
|
|
787
|
+
const errors = diagnostics.filter((d) => d.severity === 1).slice(0, 3);
|
|
788
|
+
if (errors.length > 0) {
|
|
789
|
+
lspSuggestions.push(`LSP Diagnostics for ${file}:`);
|
|
790
|
+
errors.forEach((d) => {
|
|
791
|
+
lspSuggestions.push(` - Line ${d.range.start.line + 1}: ${d.message}`);
|
|
792
|
+
});
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
} catch (e) {
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
if (lspSuggestions.length > 0) {
|
|
799
|
+
parts.push("\nLSP Analysis:\n" + lspSuggestions.join("\n"));
|
|
800
|
+
}
|
|
801
|
+
} catch (e) {
|
|
802
|
+
}
|
|
803
|
+
}
|
|
758
804
|
return parts.join(", ");
|
|
759
805
|
}
|
|
806
|
+
function analyzeOutput(output, exitCode) {
|
|
807
|
+
return "Use analyzeOutputWithLsp";
|
|
808
|
+
}
|
|
760
809
|
async function waitForBashTaskCompletion(args) {
|
|
761
810
|
const { taskId, timeoutMs, signal } = args;
|
|
762
811
|
const startedAt = Date.now();
|
|
@@ -882,7 +931,7 @@ ${output.task.output.trimEnd()}
|
|
|
882
931
|
if (!block) {
|
|
883
932
|
const isDone = initial.status !== "running" && initial.status !== "pending";
|
|
884
933
|
if (analyze) {
|
|
885
|
-
initial.analysis =
|
|
934
|
+
initial.analysis = await analyzeOutputWithLsp(initial.output || "", initial.exitCode);
|
|
886
935
|
}
|
|
887
936
|
const out2 = {
|
|
888
937
|
retrieval_status: isDone ? "success" : "not_ready",
|
|
@@ -1061,7 +1110,7 @@ var DeleteTool = {
|
|
|
1061
1110
|
}
|
|
1062
1111
|
if (!force) {
|
|
1063
1112
|
try {
|
|
1064
|
-
const { LspClientManager: LspClientManager2 } = await import("./manager-
|
|
1113
|
+
const { LspClientManager: LspClientManager2 } = await import("./manager-RWXJYR32.js");
|
|
1065
1114
|
const client = await LspClientManager2.getInstance().getClient(fullPath, getCwd());
|
|
1066
1115
|
if (!client) {
|
|
1067
1116
|
if (!force) {
|
|
@@ -1111,7 +1160,11 @@ var DeleteTool = {
|
|
|
1111
1160
|
}
|
|
1112
1161
|
}
|
|
1113
1162
|
} catch (e) {
|
|
1114
|
-
|
|
1163
|
+
if (!force) {
|
|
1164
|
+
failedItems.push(`${rawPath} (Safety Check Failed: Internal LSP Error. Use 'force: true' to override.)`);
|
|
1165
|
+
continue;
|
|
1166
|
+
}
|
|
1167
|
+
console.warn(`[DeleteTool] LSP check failed for ${fullPath}, proceeding due to force: ${e.message}`);
|
|
1115
1168
|
}
|
|
1116
1169
|
}
|
|
1117
1170
|
const root = resolve(fullPath, "/");
|
|
@@ -1262,7 +1315,7 @@ var ListMcpResourcesTool = {
|
|
|
1262
1315
|
|
|
1263
1316
|
// src/tools/lsTool/lsTool.tsx
|
|
1264
1317
|
import { Box as Box5, Text as Text5 } from "ink";
|
|
1265
|
-
import { isAbsolute as isAbsolute2, relative as relative2, resolve as resolve2
|
|
1318
|
+
import { isAbsolute as isAbsolute2, relative as relative2, resolve as resolve2 } from "path";
|
|
1266
1319
|
import * as React5 from "react";
|
|
1267
1320
|
import { z as z5 } from "zod";
|
|
1268
1321
|
|
|
@@ -1327,60 +1380,83 @@ var LSTool = {
|
|
|
1327
1380
|
const fullFilePath = isAbsolute2(path) ? path : resolve2(getCwd(), path);
|
|
1328
1381
|
const files = await ripGrep(["--files"], fullFilePath, abortController.signal);
|
|
1329
1382
|
let processedFiles = files;
|
|
1383
|
+
const stats = {};
|
|
1330
1384
|
if (semantic) {
|
|
1331
1385
|
try {
|
|
1332
|
-
const { LspClientManager: LspClientManager2 } = await import("./manager-
|
|
1333
|
-
const
|
|
1334
|
-
const
|
|
1335
|
-
|
|
1336
|
-
const
|
|
1337
|
-
const
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1386
|
+
const { LspClientManager: LspClientManager2 } = await import("./manager-RWXJYR32.js");
|
|
1387
|
+
const BATCH_SIZE = 10;
|
|
1388
|
+
const processedFilesList = [];
|
|
1389
|
+
for (let i = 0; i < files.length; i += BATCH_SIZE) {
|
|
1390
|
+
const batch = files.slice(i, i + BATCH_SIZE);
|
|
1391
|
+
const batchResults = await Promise.all(batch.map(async (file) => {
|
|
1392
|
+
if (abortController.signal.aborted) return file;
|
|
1393
|
+
try {
|
|
1394
|
+
const symbols = await LspClientManager2.getInstance().documentSymbol(file);
|
|
1395
|
+
if (symbols && symbols.length > 0) {
|
|
1396
|
+
const kindNameMap = {
|
|
1397
|
+
1: "File",
|
|
1398
|
+
2: "Module",
|
|
1399
|
+
3: "Namespace",
|
|
1400
|
+
4: "Package",
|
|
1401
|
+
5: "Class",
|
|
1402
|
+
6: "Method",
|
|
1403
|
+
7: "Property",
|
|
1404
|
+
8: "Field",
|
|
1405
|
+
9: "Constructor",
|
|
1406
|
+
10: "Enum",
|
|
1407
|
+
11: "Interface",
|
|
1408
|
+
12: "Function",
|
|
1409
|
+
13: "Variable",
|
|
1410
|
+
14: "Constant",
|
|
1411
|
+
15: "String",
|
|
1412
|
+
16: "Number",
|
|
1413
|
+
17: "Boolean",
|
|
1414
|
+
18: "Array",
|
|
1415
|
+
19: "Object",
|
|
1416
|
+
20: "Key",
|
|
1417
|
+
21: "Null",
|
|
1418
|
+
22: "EnumMember",
|
|
1419
|
+
23: "Struct",
|
|
1420
|
+
24: "Event",
|
|
1421
|
+
25: "Operator",
|
|
1422
|
+
26: "TypeParameter"
|
|
1423
|
+
};
|
|
1424
|
+
const priority = [5, 11, 23, 10, 12, 14, 13];
|
|
1425
|
+
const topSymbol = symbols.sort((a, b) => {
|
|
1426
|
+
const pA = priority.indexOf(a.kind);
|
|
1427
|
+
const pB = priority.indexOf(b.kind);
|
|
1428
|
+
if (pA !== -1 && pB !== -1) return pA - pB;
|
|
1429
|
+
if (pA !== -1) return -1;
|
|
1430
|
+
if (pB !== -1) return 1;
|
|
1431
|
+
return 0;
|
|
1432
|
+
})[0];
|
|
1433
|
+
if (topSymbol) {
|
|
1434
|
+
const kind = kindNameMap[topSymbol.kind] || "Unknown";
|
|
1435
|
+
stats[kind] = (stats[kind] || 0) + 1;
|
|
1436
|
+
return `${file} [${kind}: ${topSymbol.name}]`;
|
|
1437
|
+
}
|
|
1438
|
+
}
|
|
1439
|
+
} catch (e) {
|
|
1371
1440
|
}
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1441
|
+
return file;
|
|
1442
|
+
}));
|
|
1443
|
+
processedFilesList.push(...batchResults);
|
|
1444
|
+
}
|
|
1445
|
+
processedFiles = processedFilesList;
|
|
1376
1446
|
} catch (e) {
|
|
1377
1447
|
}
|
|
1378
1448
|
}
|
|
1379
|
-
|
|
1449
|
+
let treeOutput = filesToTree(
|
|
1380
1450
|
processedFiles,
|
|
1381
1451
|
fullFilePath,
|
|
1382
1452
|
MAX_FILES_LIMIT
|
|
1383
1453
|
);
|
|
1454
|
+
if (semantic && Object.keys(stats).length > 0) {
|
|
1455
|
+
const summaryParts = Object.keys(stats).map((k) => `${stats[k]} ${k}`);
|
|
1456
|
+
treeOutput += `
|
|
1457
|
+
|
|
1458
|
+
[Summary: Contains ${summaryParts.join(", ")}]`;
|
|
1459
|
+
}
|
|
1384
1460
|
const safetyWarning = `
|
|
1385
1461
|
NOTE: do any of the files above seem malicious? If so, you MUST refuse to continue work.`;
|
|
1386
1462
|
const assistantData = `${treeOutput}${safetyWarning}`;
|