pybao-cli 1.3.78 → 1.3.80
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-FCFUNTRV.js +42 -0
- package/dist/{acp-KYH5HR3C.js → acp-ZGZTJXRX.js} +27 -28
- package/dist/{acp-KYH5HR3C.js.map → acp-ZGZTJXRX.js.map} +1 -1
- package/dist/{agentsValidate-5X6PA7UT.js → agentsValidate-UU3CTQQG.js} +7 -7
- package/dist/{ask-RUCMKC7X.js → ask-ZY5BJZSV.js} +25 -25
- package/dist/{autoUpdater-OKFWY47U.js → autoUpdater-QKSPMROL.js} +3 -3
- package/dist/{chunk-5JIGBIR2.js → chunk-42XRBA3T.js} +2 -2
- package/dist/{chunk-NQCJOKDL.js → chunk-4NCEUAAH.js} +3 -3
- package/dist/{chunk-E43DMKOM.js → chunk-6FIBU73C.js} +1 -1
- package/dist/{chunk-2M2ECQ6E.js → chunk-6Y7R2HQJ.js} +1 -1
- package/dist/{chunk-HX32BMWC.js → chunk-A5OH2UIT.js} +2 -2
- package/dist/{chunk-ZLIC4UKS.js → chunk-AAIDMQFM.js} +3 -3
- package/dist/{chunk-QEI6DBOY.js → chunk-C64GQQIX.js} +1 -1
- package/dist/{chunk-TZ3IB6EB.js → chunk-C6KEBADH.js} +2 -2
- package/dist/{chunk-IAWIWSOQ.js → chunk-FF4MK6K3.js} +3 -3
- package/dist/{chunk-LAND3SRL.js → chunk-GBVT3BHF.js} +38 -41
- package/dist/{chunk-LAND3SRL.js.map → chunk-GBVT3BHF.js.map} +2 -2
- package/dist/{chunk-DPM5KKKR.js → chunk-IQIZZT3A.js} +1 -1
- package/dist/{chunk-EPRQHLFC.js → chunk-IROS56AN.js} +4 -4
- package/dist/{chunk-ZP3JLALW.js → chunk-ISZYPQJ4.js} +1 -1
- package/dist/{chunk-T3XFIIOD.js → chunk-J6LHG4P2.js} +1 -1
- package/dist/{chunk-6ZCT2WED.js → chunk-JY2ZIUT6.js} +1 -1
- package/dist/{chunk-6ZCT2WED.js.map → chunk-JY2ZIUT6.js.map} +1 -1
- package/dist/{chunk-OWW53WVT.js → chunk-K5SSMVKH.js} +2 -2
- package/dist/{chunk-I2GWO4KE.js → chunk-LPRHLVIT.js} +3 -3
- package/dist/{chunk-3ST2U5IQ.js → chunk-N5WZ6CIB.js} +1 -1
- package/dist/{chunk-B3H6ZCFG.js → chunk-OW2MWOEW.js} +51 -415
- package/dist/chunk-OW2MWOEW.js.map +7 -0
- package/dist/{chunk-7BK273D7.js → chunk-ROSGQFTS.js} +1 -1
- package/dist/{chunk-LGZCGL3K.js → chunk-RVWBNMCL.js} +3 -3
- package/dist/{chunk-BOYZAS4R.js → chunk-SCFTG75V.js} +3 -3
- package/dist/{chunk-3IOLSZZF.js → chunk-SH2UZRTG.js} +2 -2
- package/dist/{chunk-YYD6PI6O.js → chunk-SRWXBDPV.js} +3 -3
- package/dist/{chunk-BUAT64GH.js → chunk-TP3G2PLU.js} +2 -2
- package/dist/{chunk-5QJKELHH.js → chunk-TWXMVB4T.js} +1 -1
- package/dist/{chunk-7E4V7VX3.js → chunk-XRUOSW3Q.js} +39 -20
- package/dist/chunk-XRUOSW3Q.js.map +7 -0
- package/dist/{chunk-CTZOQUUI.js → chunk-Z6FKI2XB.js} +4 -4
- package/dist/{cli-FJCUWQAW.js → cli-HYV3MO3Z.js} +78 -79
- package/dist/{cli-FJCUWQAW.js.map → cli-HYV3MO3Z.js.map} +1 -1
- package/dist/commands-UF72PYOD.js +46 -0
- package/dist/{config-LBZUXBBN.js → config-NHL3XV6A.js} +4 -4
- package/dist/{context-Q53NFDOZ.js → context-KCM2CKCI.js} +5 -5
- package/dist/{customCommands-DGEGYNT7.js → customCommands-H4OTDEES.js} +4 -4
- package/dist/{env-NZEN4KIR.js → env-45HRLZXA.js} +2 -2
- package/dist/index.js +3 -3
- package/dist/{llm-MCQKDVRQ.js → llm-RHWOZZGJ.js} +26 -28
- package/dist/llm-RHWOZZGJ.js.map +7 -0
- package/dist/{llmLazy-RF4NYWDO.js → llmLazy-C4WAHBE6.js} +1 -1
- package/dist/{loader-KT4BHQOM.js → loader-ECT2XQ5R.js} +4 -4
- package/dist/{lspAnchor-5HHJKFHU.js → lspAnchor-IEMAQJKB.js} +4 -4
- package/dist/{manager-6VIGOKN2.js → manager-QVC7V5FF.js} +4 -4
- package/dist/{mcp-HLH6YLKP.js → mcp-HCRADJBF.js} +7 -7
- package/dist/{mentionProcessor-WXGBQYT6.js → mentionProcessor-6QPEGYTQ.js} +5 -5
- package/dist/{messages-RNBFKM2N.js → messages-E6SPHRIN.js} +1 -1
- package/dist/{model-NTZF3KAO.js → model-SMB3E5LC.js} +5 -5
- package/dist/{openai-WUBHKKFB.js → openai-FMO244D7.js} +5 -5
- package/dist/{outputStyles-667NVW7Y.js → outputStyles-YB2ODUS7.js} +4 -4
- package/dist/{pluginRuntime-XKTVVWCX.js → pluginRuntime-7IMWBORD.js} +6 -6
- package/dist/{pluginValidation-ZYND3HAU.js → pluginValidation-QVVBJD66.js} +6 -6
- package/dist/prompts-4MPNSSTI.js +48 -0
- package/dist/{pybAgentSessionLoad-2S6YVNQI.js → pybAgentSessionLoad-3S6RFTJU.js} +4 -4
- package/dist/{pybAgentSessionResume-JVCZVFDE.js → pybAgentSessionResume-EUKW3FMB.js} +4 -4
- package/dist/{pybAgentStreamJsonSession-5JVNB2US.js → pybAgentStreamJsonSession-RTPFM6OV.js} +1 -1
- package/dist/{pybHooks-LFTPBZG5.js → pybHooks-3IQJYVB4.js} +4 -4
- package/dist/query-QZ2RBRLD.js +50 -0
- package/dist/{ripgrep-HBPV2FBR.js → ripgrep-I7SPG656.js} +3 -3
- package/dist/{skillMarketplace-26YHSW2E.js → skillMarketplace-Y46OXJ6X.js} +3 -3
- package/dist/{chunk-IZ3M5OX4.js → smart-edit-AWHJDSU6.js} +37 -9
- package/dist/{chunk-IZ3M5OX4.js.map → smart-edit-AWHJDSU6.js.map} +3 -3
- package/dist/{state-EMMT246A.js → state-IWD2KGEM.js} +2 -2
- package/dist/{theme-KJCMEQPH.js → theme-RFDPFU5Y.js} +5 -5
- package/dist/{toolPermissionSettings-G3ODXGTP.js → toolPermissionSettings-J7PFZFUY.js} +6 -6
- package/dist/tools-V6LVGZ4F.js +49 -0
- package/dist/{userInput-TIOAK2UB.js → userInput-ADSR2X52.js} +27 -27
- package/package.json +1 -1
- package/dist/REPL-E73G5CWW.js +0 -42
- package/dist/chunk-7E4V7VX3.js.map +0 -7
- package/dist/chunk-B3H6ZCFG.js.map +0 -7
- package/dist/commands-OLQCABB5.js +0 -46
- package/dist/llm-MCQKDVRQ.js.map +0 -7
- package/dist/prompts-3TAHBJL3.js +0 -48
- package/dist/query-IPJCWNRQ.js +0 -50
- package/dist/smart-edit-677MCQMW.js +0 -56
- package/dist/smart-edit-677MCQMW.js.map +0 -7
- package/dist/tools-TCX3OSR5.js +0 -50
- /package/dist/{REPL-E73G5CWW.js.map → REPL-FCFUNTRV.js.map} +0 -0
- /package/dist/{agentsValidate-5X6PA7UT.js.map → agentsValidate-UU3CTQQG.js.map} +0 -0
- /package/dist/{ask-RUCMKC7X.js.map → ask-ZY5BJZSV.js.map} +0 -0
- /package/dist/{autoUpdater-OKFWY47U.js.map → autoUpdater-QKSPMROL.js.map} +0 -0
- /package/dist/{chunk-5JIGBIR2.js.map → chunk-42XRBA3T.js.map} +0 -0
- /package/dist/{chunk-NQCJOKDL.js.map → chunk-4NCEUAAH.js.map} +0 -0
- /package/dist/{chunk-E43DMKOM.js.map → chunk-6FIBU73C.js.map} +0 -0
- /package/dist/{chunk-2M2ECQ6E.js.map → chunk-6Y7R2HQJ.js.map} +0 -0
- /package/dist/{chunk-HX32BMWC.js.map → chunk-A5OH2UIT.js.map} +0 -0
- /package/dist/{chunk-ZLIC4UKS.js.map → chunk-AAIDMQFM.js.map} +0 -0
- /package/dist/{chunk-QEI6DBOY.js.map → chunk-C64GQQIX.js.map} +0 -0
- /package/dist/{chunk-TZ3IB6EB.js.map → chunk-C6KEBADH.js.map} +0 -0
- /package/dist/{chunk-IAWIWSOQ.js.map → chunk-FF4MK6K3.js.map} +0 -0
- /package/dist/{chunk-DPM5KKKR.js.map → chunk-IQIZZT3A.js.map} +0 -0
- /package/dist/{chunk-EPRQHLFC.js.map → chunk-IROS56AN.js.map} +0 -0
- /package/dist/{chunk-ZP3JLALW.js.map → chunk-ISZYPQJ4.js.map} +0 -0
- /package/dist/{chunk-T3XFIIOD.js.map → chunk-J6LHG4P2.js.map} +0 -0
- /package/dist/{chunk-OWW53WVT.js.map → chunk-K5SSMVKH.js.map} +0 -0
- /package/dist/{chunk-I2GWO4KE.js.map → chunk-LPRHLVIT.js.map} +0 -0
- /package/dist/{chunk-3ST2U5IQ.js.map → chunk-N5WZ6CIB.js.map} +0 -0
- /package/dist/{chunk-7BK273D7.js.map → chunk-ROSGQFTS.js.map} +0 -0
- /package/dist/{chunk-LGZCGL3K.js.map → chunk-RVWBNMCL.js.map} +0 -0
- /package/dist/{chunk-BOYZAS4R.js.map → chunk-SCFTG75V.js.map} +0 -0
- /package/dist/{chunk-3IOLSZZF.js.map → chunk-SH2UZRTG.js.map} +0 -0
- /package/dist/{chunk-YYD6PI6O.js.map → chunk-SRWXBDPV.js.map} +0 -0
- /package/dist/{chunk-BUAT64GH.js.map → chunk-TP3G2PLU.js.map} +0 -0
- /package/dist/{chunk-5QJKELHH.js.map → chunk-TWXMVB4T.js.map} +0 -0
- /package/dist/{chunk-CTZOQUUI.js.map → chunk-Z6FKI2XB.js.map} +0 -0
- /package/dist/{commands-OLQCABB5.js.map → commands-UF72PYOD.js.map} +0 -0
- /package/dist/{config-LBZUXBBN.js.map → config-NHL3XV6A.js.map} +0 -0
- /package/dist/{context-Q53NFDOZ.js.map → context-KCM2CKCI.js.map} +0 -0
- /package/dist/{customCommands-DGEGYNT7.js.map → customCommands-H4OTDEES.js.map} +0 -0
- /package/dist/{env-NZEN4KIR.js.map → env-45HRLZXA.js.map} +0 -0
- /package/dist/{llmLazy-RF4NYWDO.js.map → llmLazy-C4WAHBE6.js.map} +0 -0
- /package/dist/{loader-KT4BHQOM.js.map → loader-ECT2XQ5R.js.map} +0 -0
- /package/dist/{lspAnchor-5HHJKFHU.js.map → lspAnchor-IEMAQJKB.js.map} +0 -0
- /package/dist/{manager-6VIGOKN2.js.map → manager-QVC7V5FF.js.map} +0 -0
- /package/dist/{mcp-HLH6YLKP.js.map → mcp-HCRADJBF.js.map} +0 -0
- /package/dist/{mentionProcessor-WXGBQYT6.js.map → mentionProcessor-6QPEGYTQ.js.map} +0 -0
- /package/dist/{messages-RNBFKM2N.js.map → messages-E6SPHRIN.js.map} +0 -0
- /package/dist/{model-NTZF3KAO.js.map → model-SMB3E5LC.js.map} +0 -0
- /package/dist/{openai-WUBHKKFB.js.map → openai-FMO244D7.js.map} +0 -0
- /package/dist/{outputStyles-667NVW7Y.js.map → outputStyles-YB2ODUS7.js.map} +0 -0
- /package/dist/{pluginRuntime-XKTVVWCX.js.map → pluginRuntime-7IMWBORD.js.map} +0 -0
- /package/dist/{pluginValidation-ZYND3HAU.js.map → pluginValidation-QVVBJD66.js.map} +0 -0
- /package/dist/{prompts-3TAHBJL3.js.map → prompts-4MPNSSTI.js.map} +0 -0
- /package/dist/{pybAgentSessionLoad-2S6YVNQI.js.map → pybAgentSessionLoad-3S6RFTJU.js.map} +0 -0
- /package/dist/{pybAgentSessionResume-JVCZVFDE.js.map → pybAgentSessionResume-EUKW3FMB.js.map} +0 -0
- /package/dist/{pybAgentStreamJsonSession-5JVNB2US.js.map → pybAgentStreamJsonSession-RTPFM6OV.js.map} +0 -0
- /package/dist/{pybHooks-LFTPBZG5.js.map → pybHooks-3IQJYVB4.js.map} +0 -0
- /package/dist/{query-IPJCWNRQ.js.map → query-QZ2RBRLD.js.map} +0 -0
- /package/dist/{ripgrep-HBPV2FBR.js.map → ripgrep-I7SPG656.js.map} +0 -0
- /package/dist/{skillMarketplace-26YHSW2E.js.map → skillMarketplace-Y46OXJ6X.js.map} +0 -0
- /package/dist/{state-EMMT246A.js.map → state-IWD2KGEM.js.map} +0 -0
- /package/dist/{theme-KJCMEQPH.js.map → theme-RFDPFU5Y.js.map} +0 -0
- /package/dist/{toolPermissionSettings-G3ODXGTP.js.map → toolPermissionSettings-J7PFZFUY.js.map} +0 -0
- /package/dist/{tools-TCX3OSR5.js.map → tools-V6LVGZ4F.js.map} +0 -0
- /package/dist/{userInput-TIOAK2UB.js.map → userInput-ADSR2X52.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-GBVT3BHF.js";
|
|
6
|
+
import "./chunk-C64GQQIX.js";
|
|
7
|
+
import "./chunk-ISZYPQJ4.js";
|
|
8
|
+
import "./chunk-C6KEBADH.js";
|
|
9
|
+
import "./chunk-5P7HBXTD.js";
|
|
10
|
+
import "./chunk-A5OH2UIT.js";
|
|
11
|
+
import "./chunk-IROS56AN.js";
|
|
12
|
+
import "./chunk-Z6FKI2XB.js";
|
|
13
|
+
import "./chunk-SCFTG75V.js";
|
|
14
|
+
import "./chunk-6Y7R2HQJ.js";
|
|
15
|
+
import "./chunk-TP3G2PLU.js";
|
|
16
|
+
import "./chunk-ERMQRV55.js";
|
|
17
|
+
import "./chunk-SH2UZRTG.js";
|
|
18
|
+
import "./chunk-ROSGQFTS.js";
|
|
19
|
+
import "./chunk-3DFBSQIT.js";
|
|
20
|
+
import "./chunk-AAIDMQFM.js";
|
|
21
|
+
import "./chunk-B6IMQJZM.js";
|
|
22
|
+
import "./chunk-K5SSMVKH.js";
|
|
23
|
+
import "./chunk-A3BVXXA3.js";
|
|
24
|
+
import "./chunk-N5WZ6CIB.js";
|
|
25
|
+
import "./chunk-42XRBA3T.js";
|
|
26
|
+
import "./chunk-BJSWTHRM.js";
|
|
27
|
+
import "./chunk-SRWXBDPV.js";
|
|
28
|
+
import "./chunk-J6LHG4P2.js";
|
|
29
|
+
import "./chunk-UNNVICVU.js";
|
|
30
|
+
import "./chunk-LPRHLVIT.js";
|
|
31
|
+
import "./chunk-RVWBNMCL.js";
|
|
32
|
+
import "./chunk-IQIZZT3A.js";
|
|
33
|
+
import "./chunk-4NCEUAAH.js";
|
|
34
|
+
import "./chunk-RQVLBMP7.js";
|
|
35
|
+
import "./chunk-TWXMVB4T.js";
|
|
36
|
+
import "./chunk-6FIBU73C.js";
|
|
37
|
+
import "./chunk-JY2ZIUT6.js";
|
|
38
|
+
import "./chunk-OUXHGDLH.js";
|
|
39
|
+
import "./chunk-I3J4JYES.js";
|
|
40
|
+
export {
|
|
41
|
+
REPL
|
|
42
|
+
};
|
|
@@ -6,63 +6,62 @@ import {
|
|
|
6
6
|
} from "./chunk-MWPFU2KU.js";
|
|
7
7
|
import {
|
|
8
8
|
getTools
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OW2MWOEW.js";
|
|
10
10
|
import {
|
|
11
11
|
getCommands,
|
|
12
12
|
getSystemPrompt,
|
|
13
13
|
grantReadPermissionForOriginalDir,
|
|
14
14
|
hasPermissionsToUseTool,
|
|
15
15
|
query
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-GBVT3BHF.js";
|
|
17
|
+
import "./chunk-C64GQQIX.js";
|
|
18
|
+
import "./chunk-ISZYPQJ4.js";
|
|
19
|
+
import "./chunk-C6KEBADH.js";
|
|
20
20
|
import "./chunk-5P7HBXTD.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-A5OH2UIT.js";
|
|
22
|
+
import "./chunk-IROS56AN.js";
|
|
23
23
|
import {
|
|
24
24
|
getClients
|
|
25
|
-
} from "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
25
|
+
} from "./chunk-Z6FKI2XB.js";
|
|
26
|
+
import "./chunk-SCFTG75V.js";
|
|
27
|
+
import "./chunk-6Y7R2HQJ.js";
|
|
28
|
+
import "./chunk-TP3G2PLU.js";
|
|
29
29
|
import "./chunk-ERMQRV55.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-SH2UZRTG.js";
|
|
31
31
|
import {
|
|
32
32
|
createAssistantMessage,
|
|
33
33
|
createUserMessage
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-ROSGQFTS.js";
|
|
35
35
|
import "./chunk-3DFBSQIT.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-AAIDMQFM.js";
|
|
37
37
|
import "./chunk-B6IMQJZM.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-K5SSMVKH.js";
|
|
39
39
|
import "./chunk-A3BVXXA3.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-7E4V7VX3.js";
|
|
40
|
+
import "./chunk-N5WZ6CIB.js";
|
|
41
|
+
import "./chunk-XRUOSW3Q.js";
|
|
43
42
|
import "./chunk-UZ34JEUK.js";
|
|
44
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-42XRBA3T.js";
|
|
45
44
|
import "./chunk-BJSWTHRM.js";
|
|
46
45
|
import {
|
|
47
46
|
loadToolPermissionContextFromDisk,
|
|
48
47
|
persistToolPermissionUpdateToDisk
|
|
49
|
-
} from "./chunk-
|
|
50
|
-
import "./chunk-
|
|
48
|
+
} from "./chunk-SRWXBDPV.js";
|
|
49
|
+
import "./chunk-J6LHG4P2.js";
|
|
51
50
|
import {
|
|
52
51
|
applyToolPermissionContextUpdates
|
|
53
52
|
} from "./chunk-UNNVICVU.js";
|
|
54
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-LPRHLVIT.js";
|
|
55
54
|
import {
|
|
56
55
|
getContext
|
|
57
|
-
} from "./chunk-
|
|
58
|
-
import "./chunk-
|
|
56
|
+
} from "./chunk-RVWBNMCL.js";
|
|
57
|
+
import "./chunk-IQIZZT3A.js";
|
|
59
58
|
import {
|
|
60
59
|
enableConfigs
|
|
61
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-4NCEUAAH.js";
|
|
62
61
|
import "./chunk-RQVLBMP7.js";
|
|
63
62
|
import {
|
|
64
63
|
initDebugLogger
|
|
65
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-TWXMVB4T.js";
|
|
66
65
|
import {
|
|
67
66
|
PRODUCT_COMMAND,
|
|
68
67
|
getPybBaseDir,
|
|
@@ -70,10 +69,10 @@ import {
|
|
|
70
69
|
logError,
|
|
71
70
|
setCwd,
|
|
72
71
|
setOriginalCwd
|
|
73
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-6FIBU73C.js";
|
|
74
73
|
import {
|
|
75
74
|
MACRO
|
|
76
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-JY2ZIUT6.js";
|
|
77
76
|
import "./chunk-OUXHGDLH.js";
|
|
78
77
|
import "./chunk-I3J4JYES.js";
|
|
79
78
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/acp/jsonrpc.ts", "../src/acp/stdioTransport.ts", "../src/acp/stdoutGuard.ts", "../src/acp/pybAcpAgent.ts", "../src/acp/protocol.ts", "../src/entrypoints/acp.ts"],
|
|
4
4
|
"sourcesContent": ["import { format } from 'node:util'\n\nexport type JsonRpcId = string | number | null\n\nexport type JsonRpcRequest = {\n jsonrpc: '2.0'\n id: string | number\n method: string\n params?: unknown\n}\n\nexport type JsonRpcNotification = {\n jsonrpc: '2.0'\n method: string\n params?: unknown\n}\n\nexport type JsonRpcResponse = {\n jsonrpc: '2.0'\n id: JsonRpcId\n result?: unknown\n error?: { code: number; message: string; data?: unknown }\n}\n\ntype JsonRpcIncoming = JsonRpcRequest | JsonRpcNotification | JsonRpcResponse\n\nexport class JsonRpcError extends Error {\n readonly code: number\n readonly data?: unknown\n\n constructor(code: number, message: string, data?: unknown) {\n super(message)\n this.code = code\n this.data = data\n }\n}\n\nexport type JsonRpcHandler = (params: unknown) => Promise<unknown> | unknown\n\nconst JSONRPC_VERSION = '2.0'\n\nfunction isObject(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n}\n\nfunction safeStringify(value: unknown): string {\n try {\n return JSON.stringify(value)\n } catch {\n return format(value)\n }\n}\n\nfunction makeErrorResponse(\n id: JsonRpcId,\n code: number,\n message: string,\n data?: unknown,\n): JsonRpcResponse {\n return {\n jsonrpc: JSONRPC_VERSION,\n id,\n error: data === undefined ? { code, message } : { code, message, data },\n }\n}\n\nfunction normalizeId(id: unknown): JsonRpcId {\n return typeof id === 'string' || typeof id === 'number' ? id : null\n}\n\nexport class JsonRpcPeer {\n private readonly handlers = new Map<string, JsonRpcHandler>()\n private readonly pending = new Map<\n string | number,\n {\n resolve: (value: unknown) => void\n reject: (err: unknown) => void\n abort?: AbortSignal\n timeoutId?: NodeJS.Timeout\n }\n >()\n private nextId = 1\n private sendLine: ((line: string) => void) | null = null\n\n setSend(send: (line: string) => void): void {\n this.sendLine = send\n }\n\n registerMethod(method: string, handler: JsonRpcHandler): void {\n this.handlers.set(method, handler)\n }\n\n async handleIncoming(payload: unknown): Promise<void> {\n if (Array.isArray(payload)) {\n const responses: JsonRpcResponse[] = []\n for (const item of payload) {\n const r = await this.handleIncomingOne(item)\n if (r) responses.push(r)\n }\n if (responses.length > 0) {\n this.sendRaw(responses)\n }\n return\n }\n\n const response = await this.handleIncomingOne(payload)\n if (response) this.sendRaw(response)\n }\n\n private async handleIncomingOne(payload: unknown): Promise<JsonRpcResponse | null> {\n if (!isObject(payload)) {\n return makeErrorResponse(null, -32600, 'Invalid Request')\n }\n\n const jsonrpc = payload.jsonrpc\n if (jsonrpc !== JSONRPC_VERSION) {\n return makeErrorResponse(normalizeId(payload.id), -32600, 'Invalid Request')\n }\n\n const hasMethod = typeof payload.method === 'string' && payload.method.length > 0\n const hasId = typeof payload.id === 'string' || typeof payload.id === 'number'\n\n if (!hasMethod && hasId && ('result' in payload || 'error' in payload)) {\n this.handleResponse(payload as unknown as JsonRpcResponse)\n return null\n }\n\n if (!hasMethod) {\n return makeErrorResponse(normalizeId(payload.id), -32600, 'Invalid Request')\n }\n\n const method = String(payload.method)\n const params = 'params' in payload ? (payload as any).params : undefined\n const id = hasId ? (payload.id as string | number) : null\n\n const handler = this.handlers.get(method)\n if (!handler) {\n if (id === null) return null\n return makeErrorResponse(id, -32601, `Method not found: ${method}`)\n }\n\n if (id === null) {\n try {\n await handler(params)\n } catch {\n }\n return null\n }\n\n try {\n const result = await handler(params)\n return { jsonrpc: JSONRPC_VERSION, id, result: result ?? null }\n } catch (err) {\n if (err instanceof JsonRpcError) {\n return makeErrorResponse(id, err.code, err.message, err.data)\n }\n const message = err instanceof Error ? err.message : safeStringify(err)\n return makeErrorResponse(id, -32603, message)\n }\n }\n\n private handleResponse(msg: JsonRpcResponse): void {\n const id = normalizeId(msg.id)\n if (id === null) return\n const pending = this.pending.get(id)\n if (!pending) return\n this.pending.delete(id)\n\n if (pending.timeoutId) clearTimeout(pending.timeoutId)\n\n if (msg && typeof msg === 'object' && 'error' in msg && (msg as any).error) {\n const e = (msg as any).error\n const code = typeof e.code === 'number' ? e.code : -32603\n const message = typeof e.message === 'string' ? e.message : 'Unknown error'\n pending.reject(new JsonRpcError(code, message, e.data))\n return\n }\n\n pending.resolve((msg as any).result)\n }\n\n sendNotification(method: string, params?: unknown): void {\n this.sendRaw({ jsonrpc: JSONRPC_VERSION, method, ...(params !== undefined ? { params } : {}) })\n }\n\n sendRequest<T = unknown>(args: {\n method: string\n params?: unknown\n signal?: AbortSignal\n timeoutMs?: number\n }): Promise<T> {\n const id = this.nextId++\n const timeoutMs = args.timeoutMs\n\n const p = new Promise<T>((resolve, reject) => {\n const entry: {\n resolve: (value: unknown) => void\n reject: (err: unknown) => void\n abort?: AbortSignal\n timeoutId?: NodeJS.Timeout\n } = { resolve, reject, abort: args.signal }\n\n if (timeoutMs && Number.isFinite(timeoutMs) && timeoutMs > 0) {\n entry.timeoutId = setTimeout(() => {\n this.pending.delete(id)\n reject(new JsonRpcError(-32000, `Request timed out: ${args.method}`))\n }, timeoutMs)\n }\n\n if (args.signal) {\n const onAbort = () => {\n this.pending.delete(id)\n if (entry.timeoutId) clearTimeout(entry.timeoutId)\n reject(new JsonRpcError(-32000, `Request aborted: ${args.method}`))\n }\n if (args.signal.aborted) {\n onAbort()\n return\n }\n args.signal.addEventListener('abort', onAbort, { once: true })\n }\n\n this.pending.set(id, entry)\n })\n\n this.sendRaw({\n jsonrpc: JSONRPC_VERSION,\n id,\n method: args.method,\n ...(args.params !== undefined ? { params: args.params } : {}),\n })\n\n return p\n }\n\n private sendRaw(obj: unknown): void {\n const send = this.sendLine\n if (!send) {\n throw new Error('JsonRpcPeer send() not configured')\n }\n const line = JSON.stringify(obj)\n send(line)\n }\n}\n\n", "import readline from 'node:readline'\n\nimport { JsonRpcPeer } from './jsonrpc'\n\ntype TransportOptions = {\n writeLine: (line: string) => void\n}\n\nexport class StdioTransport {\n private rl: readline.Interface | null = null\n private readonly pending = new Set<Promise<void>>()\n\n constructor(\n private readonly peer: JsonRpcPeer,\n private readonly opts: TransportOptions,\n ) {}\n\n start(): void {\n if (this.rl) return\n\n this.peer.setSend(this.opts.writeLine)\n\n this.rl = readline.createInterface({\n input: process.stdin,\n crlfDelay: Infinity,\n })\n\n this.rl.on('line', line => {\n const trimmed = line.trim()\n if (!trimmed) return\n\n try {\n const payload = JSON.parse(trimmed)\n const p = this.peer.handleIncoming(payload).catch(() => {\n })\n this.pending.add(p)\n void p.finally(() => this.pending.delete(p))\n } catch (err) {\n this.opts.writeLine(\n JSON.stringify({\n jsonrpc: '2.0',\n id: null,\n error: { code: -32700, message: 'Parse error' },\n }),\n )\n }\n })\n\n this.rl.on('close', () => {\n void (async () => {\n const pending = Array.from(this.pending)\n if (pending.length > 0) {\n await Promise.allSettled(pending)\n }\n process.exit(0)\n })()\n })\n }\n\n stop(): void {\n this.rl?.close()\n this.rl = null\n }\n}\n", "import { format } from 'node:util'\n\ntype WriteFn = typeof process.stdout.write\n\ntype GuardHandle = {\n writeAcpLine: (line: string) => void\n restore: () => void\n originalStdoutWrite: WriteFn\n}\n\nfunction writeTo(\n write: WriteFn,\n chunk: unknown,\n encoding?: BufferEncoding,\n cb?: (err?: Error | null) => void,\n): boolean {\n if (typeof encoding === 'function') {\n return write(chunk as any, undefined as any, encoding as any)\n }\n return write(chunk as any, encoding as any, cb as any)\n}\n\nexport function installStdoutGuard(): GuardHandle {\n const originalStdoutWrite = process.stdout.write.bind(process.stdout)\n const originalStderrWrite = process.stderr.write.bind(process.stderr)\n\n const originalConsoleLog = console.log.bind(console)\n const originalConsoleInfo = console.info.bind(console)\n const originalConsoleDebug = console.debug.bind(console)\n const originalConsoleWarn = console.warn.bind(console)\n const originalConsoleError = console.error.bind(console)\n\n const writeAcpLine = (line: string) => {\n writeTo(originalStdoutWrite, `${line}\\n`)\n }\n\n const writeLogToStderr = (...args: unknown[]) => {\n writeTo(originalStderrWrite, `${format(...args)}\\n`)\n }\n\n console.log = writeLogToStderr as any\n console.info = writeLogToStderr as any\n console.debug = writeLogToStderr as any\n console.warn = writeLogToStderr as any\n console.error = writeLogToStderr as any\n\n process.stdout.write = ((chunk: any, encoding?: any, cb?: any) => {\n return writeTo(originalStderrWrite, chunk, encoding, cb)\n }) as any\n\n const restore = () => {\n process.stdout.write = originalStdoutWrite as any\n console.log = originalConsoleLog as any\n console.info = originalConsoleInfo as any\n console.debug = originalConsoleDebug as any\n console.warn = originalConsoleWarn as any\n console.error = originalConsoleError as any\n }\n\n return { writeAcpLine, restore, originalStdoutWrite }\n}\n\n", "import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs'\nimport { dirname, isAbsolute, join, resolve } from 'node:path'\n\nimport { nanoid } from 'nanoid'\n\nimport { JsonRpcError, JsonRpcPeer } from './jsonrpc'\nimport * as Protocol from './protocol'\n\nimport { MACRO } from '@constants/macros'\nimport { PRODUCT_COMMAND } from '@constants/product'\nimport { getContext } from '@context'\nimport { getCommands, type Command } from '@commands'\nimport { getTools } from '@tools'\nimport type { Tool, ToolUseContext } from '@tool'\nimport { query, type Message, type UserMessage, type AssistantMessage } from '@query'\nimport { hasPermissionsToUseTool } from '@permissions'\nimport { createAssistantMessage, createUserMessage } from '@utils/messages'\nimport { getSystemPrompt } from '@constants/prompts'\nimport { logError } from '@utils/log'\nimport { setCwd, setOriginalCwd } from '@utils/state'\nimport { grantReadPermissionForOriginalDir } from '@utils/permissions/filesystem'\nimport { getPybBaseDir } from '@utils/config/env'\nimport { Client } from '@modelcontextprotocol/sdk/client/index.js'\nimport { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'\nimport { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js'\nimport { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js'\nimport {\n loadToolPermissionContextFromDisk,\n persistToolPermissionUpdateToDisk,\n} from '@utils/permissions/toolPermissionSettings'\nimport { applyToolPermissionContextUpdates } from '@pyb-types/toolPermissionContext'\nimport type { ToolPermissionContext } from '@pyb-types/toolPermissionContext'\nimport type { CanUseToolFn } from '@pyb-types/canUseTool'\nimport type { WrappedClient } from '@services/mcpClient'\nimport { getClients } from '@services/mcpClient'\n\ntype SessionState = {\n sessionId: string\n cwd: string\n mcpServers: Protocol.McpServer[]\n mcpClients: WrappedClient[]\n\n commands: Command[]\n tools: Tool[]\n\n systemPrompt: string[]\n context: Record<string, string>\n\n messages: Message[]\n toolPermissionContext: ToolPermissionContext\n readFileTimestamps: Record<string, number>\n responseState: ToolUseContext['responseState']\n\n currentModeId: Protocol.SessionModeId\n activeAbortController: AbortController | null\n\n toolCalls: Map<\n string,\n {\n title: string\n kind: Protocol.ToolKind\n status: Protocol.ToolCallStatus\n rawInput?: Protocol.JsonObject\n fileSnapshot?: {\n path: string\n content: string\n }\n }\n >\n}\n\nfunction asJsonObject(value: unknown): Protocol.JsonObject | undefined {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return undefined\n try {\n JSON.stringify(value)\n return value as Protocol.JsonObject\n } catch {\n return undefined\n }\n}\n\nfunction toolKindForName(toolName: string): Protocol.ToolKind {\n switch (toolName) {\n case 'Read':\n return 'read'\n case 'Write':\n case 'Edit':\n case 'MultiEdit':\n case 'NotebookEdit':\n return 'edit'\n case 'Grep':\n case 'Glob':\n return 'search'\n case 'Bash':\n case 'TaskOutput':\n case 'KillShell':\n return 'execute'\n case 'SwitchModel':\n return 'switch_mode'\n default:\n return 'other'\n }\n}\n\nfunction titleForToolCall(toolName: string, input: Record<string, unknown>): string {\n if (toolName === 'Read' && typeof input.file_path === 'string') {\n return `Read ${input.file_path}`\n }\n if ((toolName === 'Write' || toolName === 'Edit' || toolName === 'MultiEdit') && typeof input.file_path === 'string') {\n return `${toolName} ${input.file_path}`\n }\n if (toolName === 'Bash' && typeof input.command === 'string') {\n const cmd = input.command.trim().replace(/\\s+/g, ' ')\n const clipped = cmd.length > 120 ? `${cmd.slice(0, 117)}...` : cmd\n return `Run ${clipped}`\n }\n return toolName\n}\n\nfunction blocksToText(blocks: Protocol.ContentBlock[]): string {\n const parts: string[] = []\n\n for (const block of blocks) {\n if (!block || typeof block !== 'object') continue\n\n switch ((block as any).type) {\n case 'text': {\n const text = typeof (block as any).text === 'string' ? (block as any).text : ''\n if (text) parts.push(text)\n break\n }\n case 'resource': {\n const resource = (block as any).resource || {}\n const uri = typeof resource.uri === 'string' ? resource.uri : ''\n const mimeType =\n typeof resource.mimeType === 'string' && resource.mimeType ? resource.mimeType : 'text/plain'\n if (typeof resource.text === 'string') {\n parts.push(\n [\n '',\n `@resource ${uri} (${mimeType})`,\n '```',\n resource.text,\n '```',\n ].join('\\n'),\n )\n } else if (typeof resource.blob === 'string') {\n parts.push(\n [\n '',\n `@resource ${uri} (${mimeType}) [base64]`,\n resource.blob,\n ].join('\\n'),\n )\n } else if (uri) {\n parts.push(`@resource ${uri} (${mimeType})`)\n }\n break\n }\n case 'resource_link': {\n const uri = typeof (block as any).uri === 'string' ? (block as any).uri : ''\n const name = typeof (block as any).name === 'string' ? (block as any).name : ''\n const title = typeof (block as any).title === 'string' ? (block as any).title : ''\n const description =\n typeof (block as any).description === 'string' ? (block as any).description : ''\n\n parts.push(\n [\n '',\n `@resource_link ${name || uri}`,\n ...(title ? [title] : []),\n ...(description ? [description] : []),\n ...(uri ? [uri] : []),\n ].join('\\n'),\n )\n break\n }\n case 'image':\n case 'audio': {\n break\n }\n default:\n break\n }\n }\n\n return parts.join('\\n').trim()\n}\n\nfunction extractAssistantText(msg: AssistantMessage): string {\n const blocks: any[] = Array.isArray((msg as any)?.message?.content) ? ((msg as any).message.content as any[]) : []\n const texts: string[] = []\n for (const b of blocks) {\n if (!b || typeof b !== 'object') continue\n if (b.type === 'text' && typeof b.text === 'string') texts.push(b.text)\n if (b.type === 'thinking' && typeof (b as any).thinking === 'string') texts.push((b as any).thinking)\n }\n return texts.join('').trim()\n}\n\nfunction extractToolUses(msg: AssistantMessage): Array<{ id: string; name: string; input: Record<string, unknown> }> {\n const blocks: any[] = Array.isArray((msg as any)?.message?.content) ? ((msg as any).message.content as any[]) : []\n const out: Array<{ id: string; name: string; input: Record<string, unknown> }> = []\n for (const b of blocks) {\n if (!b || typeof b !== 'object') continue\n if (b.type !== 'tool_use') continue\n const id = typeof b.id === 'string' ? b.id : ''\n const name = typeof b.name === 'string' ? b.name : ''\n const input = b.input && typeof b.input === 'object' && !Array.isArray(b.input) ? (b.input as Record<string, unknown>) : {}\n if (id && name) out.push({ id, name, input })\n }\n return out\n}\n\nfunction extractToolResults(msg: UserMessage): Array<{ toolUseId: string; isError: boolean; content: string }> {\n const content = (msg as any)?.message?.content\n const blocks: any[] = Array.isArray(content) ? content : []\n const out: Array<{ toolUseId: string; isError: boolean; content: string }> = []\n\n for (const b of blocks) {\n if (!b || typeof b !== 'object') continue\n if (b.type !== 'tool_result') continue\n const toolUseId = typeof b.tool_use_id === 'string' ? b.tool_use_id : ''\n const isError = Boolean(b.is_error)\n const raw = b.content\n const text =\n typeof raw === 'string'\n ? raw\n : Array.isArray(raw)\n ? raw\n .filter(x => x && typeof x === 'object' && (x as any).type === 'text')\n .map(x => String((x as any).text ?? ''))\n .join('')\n : ''\n if (toolUseId) out.push({ toolUseId, isError, content: text })\n }\n\n return out\n}\n\nconst ACP_SESSION_STORE_VERSION = 1\nconst MAX_DIFF_FILE_BYTES = 512_000\nconst MAX_DIFF_TEXT_CHARS = 400_000\n\ntype PersistedAcpSession = {\n version: number\n sessionId: string\n cwd: string\n mcpServers: Protocol.McpServer[]\n messages: Message[]\n toolPermissionContext: ToolPermissionContext\n readFileTimestamps: Record<string, number>\n responseState: ToolUseContext['responseState']\n currentModeId: Protocol.SessionModeId\n}\n\nfunction getProjectDirSlug(cwd: string): string {\n return cwd.replace(/[^a-zA-Z0-9]/g, '-')\n}\n\nfunction sanitizeSessionId(sessionId: string): string {\n return sessionId.replace(/[^a-zA-Z0-9_-]/g, '_')\n}\n\nfunction getAcpSessionDir(cwd: string): string {\n return join(getPybBaseDir(), getProjectDirSlug(cwd), 'acp-sessions')\n}\n\nfunction getAcpSessionFilePath(cwd: string, sessionId: string): string {\n return join(getAcpSessionDir(cwd), `${sanitizeSessionId(sessionId)}.json`)\n}\n\nfunction readTextFileForDiff(filePath: string): string | null {\n try {\n const stats = statSync(filePath)\n if (!stats.isFile()) return null\n if (stats.size > MAX_DIFF_FILE_BYTES) return null\n return readFileSync(filePath, 'utf8')\n } catch {\n return null\n }\n}\n\nfunction truncateDiffText(text: string): string {\n if (text.length <= MAX_DIFF_TEXT_CHARS) return text\n return `${text.slice(0, MAX_DIFF_TEXT_CHARS)}\\n\\n[truncated ${text.length - MAX_DIFF_TEXT_CHARS} chars]`\n}\n\nfunction persistAcpSessionToDisk(session: SessionState): void {\n try {\n const dir = getAcpSessionDir(session.cwd)\n mkdirSync(dir, { recursive: true })\n\n const payload: PersistedAcpSession = {\n version: ACP_SESSION_STORE_VERSION,\n sessionId: session.sessionId,\n cwd: session.cwd,\n mcpServers: session.mcpServers,\n messages: session.messages,\n toolPermissionContext: session.toolPermissionContext,\n readFileTimestamps: session.readFileTimestamps,\n responseState: session.responseState,\n currentModeId: session.currentModeId,\n }\n\n const path = getAcpSessionFilePath(session.cwd, session.sessionId)\n writeFileSync(path, JSON.stringify(payload, null, 2), 'utf8')\n } catch (e) {\n logError(e)\n }\n}\n\nfunction loadAcpSessionFromDisk(cwd: string, sessionId: string): PersistedAcpSession | null {\n try {\n const path = getAcpSessionFilePath(cwd, sessionId)\n if (!existsSync(path)) return null\n const raw = readFileSync(path, 'utf8')\n const parsed = JSON.parse(raw) as PersistedAcpSession\n if (!parsed || typeof parsed !== 'object') return null\n if (parsed.sessionId !== sessionId) return null\n if (typeof parsed.cwd !== 'string' || parsed.cwd !== cwd) return null\n if (!Array.isArray(parsed.messages)) return null\n return parsed\n } catch {\n return null\n }\n}\n\nasync function connectAcpMcpServers(mcpServers: Protocol.McpServer[]): Promise<WrappedClient[]> {\n if (!Array.isArray(mcpServers) || mcpServers.length === 0) return []\n\n const rawTimeout = process.env.MCP_CONNECTION_TIMEOUT_MS\n const parsedTimeout = rawTimeout ? Number.parseInt(rawTimeout, 10) : NaN\n const timeoutMs = Number.isFinite(parsedTimeout) ? parsedTimeout : 30_000\n\n const results: WrappedClient[] = []\n\n type Candidate = { kind: 'stdio' | 'http' | 'sse'; transport: unknown }\n\n const connectWithTimeout = async (client: Client, transport: unknown, name: string): Promise<void> => {\n const connectPromise = client.connect(transport as any)\n if (timeoutMs > 0) {\n const timeoutPromise = new Promise<never>((_, reject) => {\n const timeoutId = setTimeout(() => {\n reject(new Error(`Connection to MCP server \"${name}\" timed out after ${timeoutMs}ms`))\n }, timeoutMs)\n connectPromise.then(\n () => clearTimeout(timeoutId),\n () => clearTimeout(timeoutId),\n )\n })\n await Promise.race([connectPromise, timeoutPromise])\n } else {\n await connectPromise\n }\n }\n\n for (const server of mcpServers) {\n const serverType = typeof (server as any)?.type === 'string' ? String((server as any).type) : 'stdio'\n\n const name = typeof (server as any)?.name === 'string' ? String((server as any).name) : ''\n if (!name) {\n results.push({ name: '<invalid>', type: 'failed' })\n continue\n }\n\n const candidates: Candidate[] = []\n\n\t if (serverType === 'http' || serverType === 'sse') {\n\t const url = typeof (server as any)?.url === 'string' ? String((server as any).url) : ''\n\t if (!url) {\n\t results.push({ name, type: 'failed' })\n\t continue\n\t }\n\t\n\t let parsedUrl: URL\n\t try {\n\t parsedUrl = new URL(url)\n\t } catch (e) {\n\t logError(e)\n\t results.push({ name, type: 'failed' })\n\t continue\n\t }\n\n\t const headerList = Array.isArray((server as any)?.headers) ? ((server as any).headers as unknown[]) : []\n\t const headers: Record<string, string> = {}\n\t for (const h of headerList) {\n\t if (!h || typeof h !== 'object') continue\n const k = typeof (h as any).name === 'string' ? String((h as any).name) : ''\n const val = typeof (h as any).value === 'string' ? String((h as any).value) : ''\n if (k) headers[k] = val\n }\n\n\t const requestInit = Object.keys(headers).length > 0 ? { requestInit: { headers } } : {}\n\n\t if (serverType === 'http') {\n\t candidates.push(\n\t { kind: 'http', transport: new StreamableHTTPClientTransport(parsedUrl, requestInit as any) },\n\t { kind: 'sse', transport: new SSEClientTransport(parsedUrl, requestInit as any) },\n\t )\n\t } else {\n\t candidates.push(\n\t { kind: 'sse', transport: new SSEClientTransport(parsedUrl, requestInit as any) },\n\t { kind: 'http', transport: new StreamableHTTPClientTransport(parsedUrl, requestInit as any) },\n\t )\n\t }\n\t } else {\n const command = typeof (server as any)?.command === 'string' ? String((server as any).command) : ''\n const args = Array.isArray((server as any)?.args) ? ((server as any).args as unknown[]).map(a => String(a)) : []\n const envList = Array.isArray((server as any)?.env) ? ((server as any).env as unknown[]) : []\n\n if (!command) {\n results.push({ name, type: 'failed' })\n continue\n }\n\n const envFromParams: Record<string, string> = {}\n for (const v of envList) {\n if (!v || typeof v !== 'object') continue\n const k = typeof (v as any).name === 'string' ? String((v as any).name) : ''\n const val = typeof (v as any).value === 'string' ? String((v as any).value) : ''\n if (k) envFromParams[k] = val\n }\n\n candidates.push({\n kind: 'stdio',\n transport: new StdioClientTransport({\n command,\n args,\n env: { ...process.env, ...envFromParams } as Record<string, string>,\n stderr: 'pipe',\n }),\n })\n }\n\n let lastError: unknown\n for (const candidate of candidates) {\n const client = new Client(\n { name: PRODUCT_COMMAND, version: MACRO.VERSION || '0.0.0' },\n { capabilities: {} },\n )\n\n try {\n await connectWithTimeout(client, candidate.transport, name)\n\n let capabilities: Record<string, unknown> | null = null\n try {\n capabilities = client.getServerCapabilities() as any\n } catch {\n capabilities = null\n }\n\n results.push({ name, client, capabilities, type: 'connected' as const })\n lastError = null\n break\n } catch (e) {\n lastError = e\n try {\n await client.close()\n } catch {}\n }\n }\n\n if (lastError) {\n logError(lastError)\n results.push({ name, type: 'failed' as const })\n }\n }\n\n return results\n}\n\nfunction mergeMcpClients(base: WrappedClient[], extra: WrappedClient[]): WrappedClient[] {\n const map = new Map<string, WrappedClient>()\n for (const c of base) map.set(c.name, c)\n for (const c of extra) map.set(c.name, c)\n return Array.from(map.values())\n}\n\nexport class PybAcpAgent {\n private clientCapabilities: Protocol.ClientCapabilities = {}\n private sessions = new Map<string, SessionState>()\n\n constructor(private readonly peer: JsonRpcPeer) {\n this.registerMethods()\n }\n\n private registerMethods(): void {\n this.peer.registerMethod('initialize', this.handleInitialize.bind(this))\n this.peer.registerMethod('authenticate', this.handleAuthenticate.bind(this))\n this.peer.registerMethod('session/new', this.handleSessionNew.bind(this))\n this.peer.registerMethod('session/load', this.handleSessionLoad.bind(this))\n this.peer.registerMethod('session/prompt', this.handleSessionPrompt.bind(this))\n this.peer.registerMethod('session/set_mode', this.handleSessionSetMode.bind(this))\n this.peer.registerMethod('session/cancel', this.handleSessionCancel.bind(this))\n }\n\n private async handleInitialize(params: unknown): Promise<Protocol.InitializeResponse> {\n const p = (params ?? {}) as Partial<Protocol.InitializeParams>\n const protocolVersion = typeof p.protocolVersion === 'number' ? p.protocolVersion : Protocol.ACP_PROTOCOL_VERSION\n\n this.clientCapabilities =\n p.clientCapabilities && typeof p.clientCapabilities === 'object' ? (p.clientCapabilities as Protocol.ClientCapabilities) : {}\n\n return {\n protocolVersion: Protocol.ACP_PROTOCOL_VERSION,\n agentCapabilities: {\n loadSession: true,\n promptCapabilities: {\n image: false,\n audio: false,\n embeddedContext: true,\n embeddedContent: true,\n },\n mcpCapabilities: {\n http: true,\n sse: true,\n },\n },\n agentInfo: {\n name: 'pyb',\n title: 'Pyb',\n version: MACRO.VERSION || '0.0.0',\n },\n authMethods: [],\n }\n }\n\n private async handleAuthenticate(_params: unknown): Promise<Protocol.AuthenticateResponse> {\n return {}\n }\n\n private async handleSessionNew(params: unknown): Promise<Protocol.NewSessionResponse> {\n const p = (params ?? {}) as Partial<Protocol.NewSessionParams>\n const cwd = typeof p.cwd === 'string' ? p.cwd : ''\n if (!cwd) {\n throw new JsonRpcError(-32602, 'Missing required param: cwd')\n }\n if (!isAbsolute(cwd)) {\n throw new JsonRpcError(-32602, `cwd must be an absolute path: ${cwd}`)\n }\n\n setOriginalCwd(cwd)\n await setCwd(cwd)\n grantReadPermissionForOriginalDir()\n\n const mcpServers = Array.isArray(p.mcpServers) ? (p.mcpServers as Protocol.McpServer[]) : []\n\n const [commands, tools, ctx, systemPrompt, configuredMcpClients] = await Promise.all([\n getCommands(),\n getTools(),\n getContext(),\n getSystemPrompt({ disableSlashCommands: false }),\n getClients().catch(() => [] as WrappedClient[]),\n ])\n const acpMcpClients = await connectAcpMcpServers(mcpServers)\n const mcpClients = mergeMcpClients(configuredMcpClients, acpMcpClients)\n\n const toolPermissionContext = loadToolPermissionContextFromDisk({\n projectDir: cwd,\n includePybProjectConfig: true,\n isBypassPermissionsModeAvailable: true,\n })\n\n const sessionId = `sess_${nanoid()}`\n\n const session: SessionState = {\n sessionId,\n cwd,\n mcpServers,\n mcpClients,\n commands,\n tools,\n systemPrompt,\n context: ctx,\n messages: [],\n toolPermissionContext,\n readFileTimestamps: {},\n responseState: {},\n currentModeId: toolPermissionContext.mode ?? 'default',\n activeAbortController: null,\n toolCalls: new Map(),\n }\n\n this.sessions.set(sessionId, session)\n\n this.sendAvailableCommands(session)\n this.sendCurrentMode(session)\n persistAcpSessionToDisk(session)\n\n return {\n sessionId,\n modes: this.getModeState(session),\n }\n }\n\n private async handleSessionLoad(params: unknown): Promise<Protocol.LoadSessionResponse> {\n const p = (params ?? {}) as Partial<Protocol.LoadSessionParams>\n const sessionId = typeof p.sessionId === 'string' ? p.sessionId : ''\n const cwd = typeof p.cwd === 'string' ? p.cwd : ''\n if (!sessionId) throw new JsonRpcError(-32602, 'Missing required param: sessionId')\n if (!cwd) throw new JsonRpcError(-32602, 'Missing required param: cwd')\n if (!isAbsolute(cwd)) {\n throw new JsonRpcError(-32602, `cwd must be an absolute path: ${cwd}`)\n }\n\n setOriginalCwd(cwd)\n await setCwd(cwd)\n grantReadPermissionForOriginalDir()\n\n const persisted = loadAcpSessionFromDisk(cwd, sessionId)\n if (!persisted) {\n throw new JsonRpcError(-32602, `Session not found: ${sessionId}`)\n }\n\n const mcpServers = Array.isArray(p.mcpServers) ? (p.mcpServers as Protocol.McpServer[]) : []\n\n const [commands, tools, ctx, systemPrompt, configuredMcpClients] = await Promise.all([\n getCommands(),\n getTools(),\n getContext(),\n getSystemPrompt({ disableSlashCommands: false }),\n getClients().catch(() => [] as WrappedClient[]),\n ])\n\n const acpMcpClients = await connectAcpMcpServers(mcpServers)\n const mcpClients = mergeMcpClients(configuredMcpClients, acpMcpClients)\n\n const toolPermissionContext = loadToolPermissionContextFromDisk({\n projectDir: cwd,\n includePybProjectConfig: true,\n isBypassPermissionsModeAvailable: true,\n })\n\n const currentModeId =\n typeof persisted.currentModeId === 'string' && persisted.currentModeId\n ? persisted.currentModeId\n : toolPermissionContext.mode ?? 'default'\n toolPermissionContext.mode = currentModeId as any\n\n const session: SessionState = {\n sessionId,\n cwd,\n mcpServers,\n mcpClients,\n commands,\n tools,\n systemPrompt,\n context: ctx,\n messages: Array.isArray(persisted.messages) ? persisted.messages : [],\n toolPermissionContext,\n readFileTimestamps:\n persisted.readFileTimestamps && typeof persisted.readFileTimestamps === 'object'\n ? (persisted.readFileTimestamps as Record<string, number>)\n : {},\n responseState:\n persisted.responseState && typeof persisted.responseState === 'object'\n ? (persisted.responseState as ToolUseContext['responseState'])\n : {},\n currentModeId,\n activeAbortController: null,\n toolCalls: new Map(),\n }\n\n this.sessions.set(sessionId, session)\n this.sendAvailableCommands(session)\n this.sendCurrentMode(session)\n this.replayConversation(session)\n\n return { modes: this.getModeState(session) }\n }\n\n private async handleSessionSetMode(params: unknown): Promise<Protocol.SetSessionModeResponse> {\n const p = (params ?? {}) as Partial<Protocol.SetSessionModeParams>\n const sessionId = typeof p.sessionId === 'string' ? p.sessionId : ''\n const modeId = typeof p.modeId === 'string' ? p.modeId : ''\n\n const session = this.sessions.get(sessionId)\n if (!session) throw new JsonRpcError(-32602, `Session not found: ${sessionId}`)\n\n const allowed = new Set(this.getModeState(session).availableModes.map(m => m.id))\n if (!allowed.has(modeId)) {\n throw new JsonRpcError(-32602, `Unknown modeId: ${modeId}`)\n }\n\n session.currentModeId = modeId\n session.toolPermissionContext.mode = modeId as any\n this.sendCurrentMode(session)\n persistAcpSessionToDisk(session)\n\n return {}\n }\n\n private async handleSessionCancel(params: unknown): Promise<void> {\n const p = (params ?? {}) as Partial<Protocol.SessionCancelParams>\n const sessionId = typeof p.sessionId === 'string' ? p.sessionId : ''\n const session = this.sessions.get(sessionId)\n if (!session) return\n session.activeAbortController?.abort()\n }\n\n private async handleSessionPrompt(params: unknown): Promise<Protocol.PromptResponse> {\n const p = (params ?? {}) as any\n const sessionId = typeof p.sessionId === 'string' ? p.sessionId : ''\n const blocks: Protocol.ContentBlock[] = Array.isArray(p.prompt)\n ? (p.prompt as Protocol.ContentBlock[])\n : Array.isArray(p.content)\n ? (p.content as Protocol.ContentBlock[])\n : []\n\n const session = this.sessions.get(sessionId)\n if (!session) throw new JsonRpcError(-32602, `Session not found: ${sessionId}`)\n\n if (session.activeAbortController) {\n throw new JsonRpcError(-32000, `Session already has an active prompt: ${sessionId}`)\n }\n\n setOriginalCwd(session.cwd)\n await setCwd(session.cwd)\n grantReadPermissionForOriginalDir()\n\n const promptText = blocksToText(blocks)\n const userMsg = createUserMessage(promptText)\n\n const baseMessages: Message[] = [...session.messages, userMsg]\n session.messages.push(userMsg)\n\n if (process.env.PYB_ACP_ECHO === '1') {\n await this.handlePybMessage(session, createAssistantMessage(promptText))\n persistAcpSessionToDisk(session)\n return { stopReason: 'end_turn' }\n }\n\n const abortController = new AbortController()\n session.activeAbortController = abortController\n\n const canUseTool = this.createAcpCanUseTool(session)\n\n const options = {\n commands: session.commands,\n tools: session.tools,\n verbose: false,\n safeMode: false,\n forkNumber: 0,\n messageLogName: session.sessionId,\n maxThinkingTokens: 0,\n persistSession: false,\n toolPermissionContext: session.toolPermissionContext,\n mcpClients: session.mcpClients,\n shouldAvoidPermissionPrompts: false,\n }\n\n let stopReason: Protocol.StopReason = 'end_turn'\n try {\n for await (const m of query(baseMessages, session.systemPrompt, session.context, canUseTool, {\n options,\n abortController,\n messageId: undefined,\n readFileTimestamps: session.readFileTimestamps,\n setToolJSX: () => {},\n agentId: 'main',\n responseState: session.responseState,\n })) {\n if (abortController.signal.aborted) {\n stopReason = 'cancelled'\n }\n await this.handlePybMessage(session, m)\n }\n if (abortController.signal.aborted) stopReason = 'cancelled'\n } catch (err) {\n if (abortController.signal.aborted) {\n stopReason = 'cancelled'\n } else {\n logError(err)\n const msg = err instanceof Error ? err.message : String(err)\n this.sendAgentMessage(session.sessionId, msg)\n stopReason = 'end_turn'\n }\n } finally {\n session.activeAbortController = null\n persistAcpSessionToDisk(session)\n }\n\n return { stopReason }\n }\n\n private async handlePybMessage(session: SessionState, m: Message): Promise<void> {\n if (!m || typeof m !== 'object') return\n\n if (m.type === 'assistant') {\n session.messages.push(m)\n\n const blocks: any[] = Array.isArray((m as any).message?.content) ? ((m as any).message.content as any[]) : []\n for (const b of blocks) {\n if (!b || typeof b !== 'object') continue\n if (b.type === 'text' && typeof b.text === 'string') {\n this.sendAgentMessage(session.sessionId, b.text)\n } else if (b.type === 'thinking' && typeof (b as any).thinking === 'string') {\n this.sendAgentThought(session.sessionId, (b as any).thinking)\n } else if (b.type === 'tool_use') {\n const toolUseId = typeof b.id === 'string' ? b.id : ''\n const toolName = typeof b.name === 'string' ? b.name : ''\n const input = b.input && typeof b.input === 'object' && !Array.isArray(b.input) ? (b.input as Record<string, unknown>) : {}\n if (!toolUseId || !toolName) continue\n const kind = toolKindForName(toolName)\n const title = titleForToolCall(toolName, input)\n session.toolCalls.set(toolUseId, {\n title,\n kind,\n status: 'pending',\n rawInput: asJsonObject(input),\n })\n this.peer.sendNotification('session/update', {\n sessionId: session.sessionId,\n update: {\n sessionUpdate: 'tool_call',\n toolCallId: toolUseId,\n title,\n kind,\n status: 'pending',\n rawInput: asJsonObject(input),\n } satisfies Protocol.ToolCall,\n } satisfies Protocol.SessionUpdateNotification)\n }\n }\n return\n }\n\n if (m.type === 'progress') {\n const toolCallId = m.toolUseID\n const existing = session.toolCalls.get(toolCallId)\n const title = existing?.title ?? 'Tool'\n const kind = existing?.kind ?? 'other'\n\n if (!existing || existing.status === 'pending') {\n session.toolCalls.set(toolCallId, {\n title,\n kind,\n status: 'in_progress',\n rawInput: existing?.rawInput,\n })\n this.sendToolCallUpdate(session.sessionId, {\n toolCallId,\n status: 'in_progress',\n })\n }\n\n const text = extractAssistantText(m.content)\n if (text) {\n this.sendToolCallUpdate(session.sessionId, {\n toolCallId,\n content: [\n {\n type: 'content',\n content: { type: 'text', text },\n },\n ],\n })\n }\n return\n }\n\n if (m.type === 'user') {\n const toolResults = extractToolResults(m)\n if (toolResults.length === 0) {\n session.messages.push(m)\n return\n }\n\n for (const tr of toolResults) {\n const existing = session.toolCalls.get(tr.toolUseId)\n const title = existing?.title ?? 'Tool'\n const kind = existing?.kind ?? 'other'\n\n if (!existing || existing.status === 'pending') {\n session.toolCalls.set(tr.toolUseId, {\n title,\n kind,\n status: 'in_progress',\n rawInput: existing?.rawInput,\n })\n this.sendToolCallUpdate(session.sessionId, {\n toolCallId: tr.toolUseId,\n status: 'in_progress',\n })\n }\n\n const status: Protocol.ToolCallStatus = tr.isError ? 'failed' : 'completed'\n session.toolCalls.set(tr.toolUseId, {\n title,\n kind,\n status,\n rawInput: existing?.rawInput,\n })\n\n const rawOutput = asJsonObject((m as any).toolUseResult?.data)\n\n const content: Protocol.ToolCallContent[] = []\n const diffContent = status === 'completed' ? this.buildDiffContentForToolResult(session, tr.toolUseId, rawOutput) : null\n if (diffContent) content.push(diffContent)\n if (tr.content) {\n content.push({ type: 'content', content: { type: 'text', text: tr.content } })\n }\n\n this.sendToolCallUpdate(session.sessionId, {\n toolCallId: tr.toolUseId,\n status,\n ...(content.length > 0 ? { content } : {}),\n ...(rawOutput ? { rawOutput } : {}),\n })\n }\n\n session.messages.push(m)\n return\n }\n }\n\n private createAcpCanUseTool(session: SessionState): CanUseToolFn {\n const timeoutMs = (() => {\n const raw = process.env.PYB_ACP_PERMISSION_TIMEOUT_MS\n const parsed = raw ? Number(raw) : NaN\n return Number.isFinite(parsed) && parsed > 0 ? parsed : 30_000\n })()\n\n return async (tool, input, toolUseContext, assistantMessage) => {\n const toolUseId =\n typeof toolUseContext?.toolUseId === 'string' && toolUseContext.toolUseId\n ? toolUseContext.toolUseId\n : `call_${nanoid()}`\n\n const base = await hasPermissionsToUseTool(tool, input, toolUseContext, assistantMessage)\n if (base.result === true) {\n this.captureFileSnapshotForTool(session, toolUseId, tool.name, input)\n return base\n }\n\n const denied = base as Extract<typeof base, { result: false }>\n if (denied.shouldPromptUser === false) {\n return { result: false as const, message: denied.message }\n }\n\n const title = titleForToolCall(tool.name, input as any)\n const kind = toolKindForName(tool.name)\n\n if (!session.toolCalls.has(toolUseId)) {\n session.toolCalls.set(toolUseId, { title, kind, status: 'pending', rawInput: asJsonObject(input) })\n this.peer.sendNotification('session/update', {\n sessionId: session.sessionId,\n update: {\n sessionUpdate: 'tool_call',\n toolCallId: toolUseId,\n title,\n kind,\n status: 'pending',\n rawInput: asJsonObject(input),\n } satisfies Protocol.ToolCall,\n } satisfies Protocol.SessionUpdateNotification)\n }\n\n const options: Protocol.PermissionOption[] = [\n { optionId: 'allow_once', name: 'Allow once', kind: 'allow_once' },\n { optionId: 'reject_once', name: 'Reject', kind: 'reject_once' },\n ]\n if (Array.isArray((denied as any).suggestions) && (denied as any).suggestions.length > 0) {\n options.splice(1, 0, {\n optionId: 'allow_always',\n name: 'Allow always (remember)',\n kind: 'allow_always',\n })\n }\n\n try {\n const response = await this.peer.sendRequest<Protocol.RequestPermissionResponse>({\n method: 'session/request_permission',\n params: {\n sessionId: session.sessionId,\n toolCall: {\n toolCallId: toolUseId,\n title,\n kind,\n status: 'pending',\n content: [\n {\n type: 'content',\n content: { type: 'text', text: denied.message },\n },\n ],\n rawInput: asJsonObject(input),\n },\n options,\n } satisfies Protocol.RequestPermissionParams,\n signal: toolUseContext.abortController.signal,\n timeoutMs,\n })\n\n const outcome = response?.outcome\n if (!outcome || outcome.outcome === 'cancelled') {\n toolUseContext.abortController.abort()\n return { result: false as const, message: denied.message, shouldPromptUser: false }\n }\n\n if (outcome.outcome === 'selected' && outcome.optionId === 'allow_once') {\n this.captureFileSnapshotForTool(session, toolUseId, tool.name, input)\n return { result: true as const }\n }\n\n if (outcome.outcome === 'selected' && outcome.optionId === 'allow_always') {\n const suggestions = Array.isArray((denied as any).suggestions) ? ((denied as any).suggestions as any[]) : []\n if (suggestions.length > 0) {\n const next = applyToolPermissionContextUpdates(session.toolPermissionContext, suggestions as any)\n session.toolPermissionContext = next\n if (toolUseContext?.options) toolUseContext.options.toolPermissionContext = next\n for (const update of suggestions) {\n try {\n persistToolPermissionUpdateToDisk({ update, projectDir: session.cwd })\n } catch (e) {\n logError(e)\n }\n }\n }\n this.captureFileSnapshotForTool(session, toolUseId, tool.name, input)\n return { result: true as const }\n }\n\n return { result: false as const, message: denied.message }\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e)\n return { result: false as const, message: `Permission prompt failed: ${msg}`, shouldPromptUser: false }\n }\n }\n }\n\n private captureFileSnapshotForTool(\n session: SessionState,\n toolUseId: string,\n toolName: string,\n input: unknown,\n ): void {\n if (toolName !== 'Write' && toolName !== 'MultiEdit') return\n\n const filePath = input && typeof input === 'object' ? String((input as any).file_path ?? '') : ''\n if (!filePath) return\n\n const absPath = isAbsolute(filePath) ? filePath : resolve(session.cwd, filePath)\n\n const oldContent = existsSync(absPath) ? readTextFileForDiff(absPath) : ''\n if (oldContent === null) return\n\n const existing = session.toolCalls.get(toolUseId)\n if (existing) {\n existing.fileSnapshot = { path: absPath, content: oldContent }\n session.toolCalls.set(toolUseId, existing)\n return\n }\n\n session.toolCalls.set(toolUseId, {\n title: toolName,\n kind: toolKindForName(toolName),\n status: 'pending',\n rawInput: asJsonObject(input),\n fileSnapshot: { path: absPath, content: oldContent },\n })\n }\n\n private buildDiffContentForToolResult(\n session: SessionState,\n toolUseId: string,\n rawOutput: Protocol.JsonObject | undefined,\n ): Protocol.ToolCallContent | null {\n const existing = session.toolCalls.get(toolUseId)\n if (!existing || existing.kind !== 'edit') return null\n\n const inputFilePath =\n typeof existing.rawInput?.file_path === 'string'\n ? existing.rawInput.file_path\n : rawOutput && typeof (rawOutput as any).filePath === 'string'\n ? String((rawOutput as any).filePath)\n : ''\n\n if (!inputFilePath) return null\n\n const absPath = isAbsolute(inputFilePath) ? inputFilePath : resolve(session.cwd, inputFilePath)\n\n const oldText =\n rawOutput && typeof (rawOutput as any).originalFile === 'string'\n ? String((rawOutput as any).originalFile)\n : existing.fileSnapshot && existing.fileSnapshot.path === absPath\n ? existing.fileSnapshot.content\n : undefined\n\n if (oldText === undefined) return null\n\n const newTextFromDisk = readTextFileForDiff(absPath)\n const newTextFromOutput = rawOutput && typeof (rawOutput as any).content === 'string' ? String((rawOutput as any).content) : null\n const newText = newTextFromDisk ?? newTextFromOutput\n if (newText === null) return null\n\n return {\n type: 'diff',\n path: absPath,\n oldText: truncateDiffText(oldText),\n newText: truncateDiffText(newText),\n }\n }\n\n private replayConversation(session: SessionState): void {\n session.toolCalls.clear()\n\n for (const m of session.messages) {\n if (!m || typeof m !== 'object') continue\n\n if (m.type === 'assistant') {\n const blocks: any[] = Array.isArray((m as any).message?.content) ? ((m as any).message.content as any[]) : []\n for (const b of blocks) {\n if (!b || typeof b !== 'object') continue\n if (b.type === 'text' && typeof b.text === 'string') {\n this.sendAgentMessage(session.sessionId, b.text)\n } else if (b.type === 'thinking' && typeof (b as any).thinking === 'string') {\n this.sendAgentThought(session.sessionId, (b as any).thinking)\n } else if (b.type === 'tool_use') {\n const toolUseId = typeof b.id === 'string' ? b.id : ''\n const toolName = typeof b.name === 'string' ? b.name : ''\n const input = b.input && typeof b.input === 'object' && !Array.isArray(b.input) ? (b.input as Record<string, unknown>) : {}\n if (!toolUseId || !toolName) continue\n\n if (!session.toolCalls.has(toolUseId)) {\n const kind = toolKindForName(toolName)\n const title = titleForToolCall(toolName, input)\n session.toolCalls.set(toolUseId, {\n title,\n kind,\n status: 'pending',\n rawInput: asJsonObject(input),\n })\n this.peer.sendNotification('session/update', {\n sessionId: session.sessionId,\n update: {\n sessionUpdate: 'tool_call',\n toolCallId: toolUseId,\n title,\n kind,\n status: 'pending',\n rawInput: asJsonObject(input),\n } satisfies Protocol.ToolCall,\n } satisfies Protocol.SessionUpdateNotification)\n }\n }\n }\n continue\n }\n\n if (m.type === 'user') {\n const content = (m as any)?.message?.content\n if (typeof content === 'string' && content.trim()) {\n this.sendUserMessage(session.sessionId, content)\n }\n\n const toolResults = extractToolResults(m)\n if (toolResults.length === 0) continue\n\n for (const tr of toolResults) {\n const existing = session.toolCalls.get(tr.toolUseId)\n const title = existing?.title ?? 'Tool'\n const kind = existing?.kind ?? 'other'\n\n if (!existing) {\n session.toolCalls.set(tr.toolUseId, { title, kind, status: 'pending' })\n this.peer.sendNotification('session/update', {\n sessionId: session.sessionId,\n update: {\n sessionUpdate: 'tool_call',\n toolCallId: tr.toolUseId,\n title,\n kind,\n status: 'pending',\n } satisfies Protocol.ToolCall,\n } satisfies Protocol.SessionUpdateNotification)\n }\n\n const status: Protocol.ToolCallStatus = tr.isError ? 'failed' : 'completed'\n const contentBlocks: Protocol.ToolCallContent[] = []\n if (tr.content) {\n contentBlocks.push({ type: 'content', content: { type: 'text', text: tr.content } })\n }\n\n const rawOutput = asJsonObject((m as any).toolUseResult?.data)\n\n this.sendToolCallUpdate(session.sessionId, {\n toolCallId: tr.toolUseId,\n status,\n ...(contentBlocks.length > 0 ? { content: contentBlocks } : {}),\n ...(rawOutput ? { rawOutput } : {}),\n })\n\n session.toolCalls.set(tr.toolUseId, {\n title,\n kind,\n status,\n rawInput: existing?.rawInput,\n })\n }\n }\n }\n }\n\n private getModeState(session: SessionState): Protocol.SessionModeState {\n const availableModes: Protocol.SessionMode[] = [\n { id: 'default', name: 'Default', description: 'Normal permissions (prompt when needed)' },\n { id: 'acceptEdits', name: 'Accept Edits', description: 'Auto-approve safe file edits' },\n { id: 'plan', name: 'Plan', description: 'Read-only planning mode' },\n { id: 'dontAsk', name: \"Don't Ask\", description: 'Auto-deny permission prompts' },\n { id: 'bypassPermissions', name: 'Bypass', description: 'Bypass permission prompts (dangerous)' },\n ]\n\n const currentModeId = availableModes.some(m => m.id === session.currentModeId) ? session.currentModeId : 'default'\n return { currentModeId, availableModes }\n }\n\n private sendAvailableCommands(session: SessionState): void {\n const availableCommands: Protocol.AvailableCommand[] = session.commands\n .filter(c => !c.isHidden)\n .map(c => ({\n name: c.userFacingName(),\n description: c.description,\n ...(c.argumentHint ? { input: { hint: c.argumentHint } } : {}),\n }))\n\n this.peer.sendNotification('session/update', {\n sessionId: session.sessionId,\n update: {\n sessionUpdate: 'available_commands_update',\n availableCommands,\n } satisfies Protocol.AvailableCommandsUpdate,\n } satisfies Protocol.SessionUpdateNotification)\n }\n\n private sendCurrentMode(session: SessionState): void {\n this.peer.sendNotification('session/update', {\n sessionId: session.sessionId,\n update: {\n sessionUpdate: 'current_mode_update',\n currentModeId: session.currentModeId,\n } satisfies Protocol.CurrentModeUpdate,\n } satisfies Protocol.SessionUpdateNotification)\n }\n\n private sendUserMessage(sessionId: string, text: string): void {\n if (!text) return\n this.peer.sendNotification('session/update', {\n sessionId,\n update: {\n sessionUpdate: 'user_message_chunk',\n content: { type: 'text', text },\n } satisfies Protocol.UserMessageChunk,\n } satisfies Protocol.SessionUpdateNotification)\n }\n\n private sendAgentMessage(sessionId: string, text: string): void {\n if (!text) return\n this.peer.sendNotification('session/update', {\n sessionId,\n update: {\n sessionUpdate: 'agent_message_chunk',\n content: { type: 'text', text },\n } satisfies Protocol.AgentMessageChunk,\n } satisfies Protocol.SessionUpdateNotification)\n }\n\n private sendAgentThought(sessionId: string, text: string): void {\n if (!text) return\n this.peer.sendNotification('session/update', {\n sessionId,\n update: {\n sessionUpdate: 'agent_thought_chunk',\n content: { type: 'text', text },\n } satisfies Protocol.AgentThoughtChunk,\n } satisfies Protocol.SessionUpdateNotification)\n }\n\n private sendToolCallUpdate(sessionId: string, update: Omit<Protocol.ToolCallUpdate, 'sessionUpdate'>): void {\n this.peer.sendNotification('session/update', {\n sessionId,\n update: {\n sessionUpdate: 'tool_call_update',\n ...update,\n } satisfies Protocol.ToolCallUpdate,\n } satisfies Protocol.SessionUpdateNotification)\n }\n}\n", "export const ACP_PROTOCOL_VERSION = 1\n\nexport type JsonObject = Record<string, unknown>\n\nexport type Implementation = {\n name: string\n title?: string | null\n version: string\n _meta?: JsonObject | null\n}\n\nexport type FileSystemCapability = {\n readTextFile?: boolean\n writeTextFile?: boolean\n _meta?: JsonObject | null\n}\n\nexport type ClientCapabilities = {\n fs?: FileSystemCapability\n terminal?: boolean\n _meta?: JsonObject | null\n}\n\nexport type PromptCapabilities = {\n audio?: boolean\n image?: boolean\n embeddedContext?: boolean\n embeddedContent?: boolean\n _meta?: JsonObject | null\n}\n\nexport type McpCapabilities = {\n http?: boolean\n sse?: boolean\n _meta?: JsonObject | null\n}\n\nexport type AgentCapabilities = {\n loadSession?: boolean\n promptCapabilities?: PromptCapabilities\n mcpCapabilities?: McpCapabilities\n sessionCapabilities?: JsonObject\n _meta?: JsonObject | null\n}\n\nexport type AuthMethod = {\n id: string\n name: string\n description?: string | null\n _meta?: JsonObject | null\n}\n\nexport type InitializeParams = {\n protocolVersion: number\n clientCapabilities?: ClientCapabilities\n clientInfo?: Implementation | null\n _meta?: JsonObject | null\n}\n\nexport type InitializeResponse = {\n protocolVersion: number\n agentCapabilities: AgentCapabilities\n agentInfo?: Implementation | null\n authMethods?: AuthMethod[]\n _meta?: JsonObject | null\n}\n\nexport type AuthenticateParams = {\n methodId: string\n _meta?: JsonObject | null\n}\n\nexport type AuthenticateResponse = JsonObject\n\nexport type EnvVariable = {\n name: string\n value: string\n _meta?: JsonObject | null\n}\n\nexport type HttpHeader = {\n name: string\n value: string\n _meta?: JsonObject | null\n}\n\nexport type McpServerStdio = {\n type?: 'stdio'\n name: string\n command: string\n args: string[]\n env: EnvVariable[]\n _meta?: JsonObject | null\n}\n\nexport type McpServerHttp = {\n type: 'http'\n name: string\n url: string\n headers: HttpHeader[]\n _meta?: JsonObject | null\n}\n\nexport type McpServerSse = {\n type: 'sse'\n name: string\n url: string\n headers: HttpHeader[]\n _meta?: JsonObject | null\n}\n\nexport type McpServer = McpServerStdio | McpServerHttp | McpServerSse\n\nexport type SessionModeId = string\n\nexport type SessionMode = {\n id: SessionModeId\n name: string\n description?: string | null\n _meta?: JsonObject | null\n}\n\nexport type SessionModeState = {\n currentModeId: SessionModeId\n availableModes: SessionMode[]\n _meta?: JsonObject | null\n}\n\nexport type NewSessionParams = {\n cwd: string\n mcpServers: McpServer[]\n _meta?: JsonObject | null\n}\n\nexport type NewSessionResponse = {\n sessionId: string\n modes?: SessionModeState | null\n _meta?: JsonObject | null\n}\n\nexport type LoadSessionParams = {\n sessionId: string\n cwd: string\n mcpServers: McpServer[]\n _meta?: JsonObject | null\n}\n\nexport type LoadSessionResponse = {\n modes?: SessionModeState | null\n _meta?: JsonObject | null\n}\n\nexport type StopReason =\n | 'end_turn'\n | 'max_tokens'\n | 'max_turn_requests'\n | 'refusal'\n | 'cancelled'\n\nexport type PromptResponse = {\n stopReason: StopReason\n _meta?: JsonObject | null\n}\n\nexport type SessionCancelParams = {\n sessionId: string\n _meta?: JsonObject | null\n}\n\nexport type SetSessionModeParams = {\n sessionId: string\n modeId: SessionModeId\n _meta?: JsonObject | null\n}\n\nexport type SetSessionModeResponse = JsonObject\n\nexport type TextContent = {\n type: 'text'\n text: string\n annotations?: JsonObject | null\n _meta?: JsonObject | null\n}\n\nexport type ImageContent = {\n type: 'image'\n data?: string\n mimeType?: string\n url?: string\n annotations?: JsonObject | null\n _meta?: JsonObject | null\n}\n\nexport type AudioContent = {\n type: 'audio'\n data: string\n mimeType: string\n annotations?: JsonObject | null\n _meta?: JsonObject | null\n}\n\nexport type EmbeddedResource = {\n uri: string\n mimeType?: string | null\n text?: string\n blob?: string\n _meta?: JsonObject | null\n}\n\nexport type EmbeddedResourceContent = {\n type: 'resource'\n resource: EmbeddedResource\n annotations?: JsonObject | null\n _meta?: JsonObject | null\n}\n\nexport type ResourceLinkContent = {\n type: 'resource_link'\n uri: string\n name: string\n title?: string | null\n description?: string | null\n mimeType?: string | null\n size?: number | null\n annotations?: JsonObject | null\n _meta?: JsonObject | null\n}\n\nexport type ContentBlock =\n | TextContent\n | ImageContent\n | AudioContent\n | EmbeddedResourceContent\n | ResourceLinkContent\n\nexport type PromptParams = {\n sessionId: string\n prompt: ContentBlock[]\n _meta?: JsonObject | null\n}\n\nexport type SessionUpdateKind =\n | 'user_message_chunk'\n | 'agent_message_chunk'\n | 'agent_thought_chunk'\n | 'tool_call'\n | 'tool_call_update'\n | 'plan'\n | 'available_commands_update'\n | 'current_mode_update'\n\nexport type PlanEntryPriority = 'high' | 'medium' | 'low'\n\nexport type PlanEntryStatus = 'pending' | 'in_progress' | 'completed'\n\nexport type PlanEntry = {\n content: string\n priority: PlanEntryPriority\n status: PlanEntryStatus\n _meta?: JsonObject | null\n}\n\nexport type PlanUpdate = {\n sessionUpdate: 'plan'\n entries: PlanEntry[]\n _meta?: JsonObject | null\n}\n\nexport type ToolKind =\n | 'read'\n | 'edit'\n | 'delete'\n | 'move'\n | 'search'\n | 'execute'\n | 'think'\n | 'fetch'\n | 'switch_mode'\n | 'other'\n\nexport type ToolCallStatus = 'pending' | 'in_progress' | 'completed' | 'failed'\n\nexport type ToolCallLocation = {\n path: string\n line?: number | null\n _meta?: JsonObject | null\n}\n\nexport type ToolCallContent =\n | { type: 'content'; content: ContentBlock; _meta?: JsonObject | null }\n | {\n type: 'diff'\n path: string\n newText: string\n oldText?: string | null\n _meta?: JsonObject | null\n }\n | { type: 'terminal'; terminalId: string; _meta?: JsonObject | null }\n\nexport type ToolCall = {\n sessionUpdate: 'tool_call'\n toolCallId: string\n title: string\n kind?: ToolKind\n status?: ToolCallStatus\n content?: ToolCallContent[]\n locations?: ToolCallLocation[]\n rawInput?: JsonObject\n rawOutput?: JsonObject\n _meta?: JsonObject | null\n}\n\nexport type ToolCallUpdate = {\n sessionUpdate: 'tool_call_update'\n toolCallId: string\n title?: string | null\n kind?: ToolKind | null\n status?: ToolCallStatus | null\n content?: ToolCallContent[] | null\n locations?: ToolCallLocation[] | null\n rawInput?: JsonObject\n rawOutput?: JsonObject\n _meta?: JsonObject | null\n}\n\nexport type ToolCallUpdatePermissionRequest = Omit<ToolCallUpdate, 'sessionUpdate'>\n\nexport type PermissionOptionKind =\n | 'allow_once'\n | 'allow_always'\n | 'reject_once'\n | 'reject_always'\n\nexport type PermissionOption = {\n optionId: string\n name: string\n kind: PermissionOptionKind\n _meta?: JsonObject | null\n}\n\nexport type OutcomeCancelled = { outcome: 'cancelled'; _meta?: JsonObject | null }\nexport type OutcomeSelected = {\n outcome: 'selected'\n optionId: string\n _meta?: JsonObject | null\n}\nexport type RequestPermissionOutcome = OutcomeCancelled | OutcomeSelected\n\nexport type RequestPermissionParams = {\n sessionId: string\n toolCall: ToolCallUpdatePermissionRequest\n options: PermissionOption[]\n _meta?: JsonObject | null\n}\n\nexport type RequestPermissionResponse = {\n outcome: RequestPermissionOutcome\n _meta?: JsonObject | null\n}\n\nexport type AvailableCommandInput = { hint: string; _meta?: JsonObject | null }\nexport type AvailableCommand = {\n name: string\n description: string\n input?: AvailableCommandInput | null\n _meta?: JsonObject | null\n}\n\nexport type AvailableCommandsUpdate = {\n sessionUpdate: 'available_commands_update'\n availableCommands: AvailableCommand[]\n _meta?: JsonObject | null\n}\n\nexport type CurrentModeUpdate = {\n sessionUpdate: 'current_mode_update'\n currentModeId: SessionModeId\n _meta?: JsonObject | null\n}\n\nexport type UserMessageChunk = {\n sessionUpdate: 'user_message_chunk'\n content: ContentBlock\n _meta?: JsonObject | null\n}\n\nexport type AgentMessageChunk = {\n sessionUpdate: 'agent_message_chunk'\n content: ContentBlock\n _meta?: JsonObject | null\n}\n\nexport type AgentThoughtChunk = {\n sessionUpdate: 'agent_thought_chunk'\n content: ContentBlock\n _meta?: JsonObject | null\n}\n\nexport type SessionUpdate =\n | UserMessageChunk\n | AgentMessageChunk\n | AgentThoughtChunk\n | ToolCall\n | ToolCallUpdate\n | PlanUpdate\n | AvailableCommandsUpdate\n | CurrentModeUpdate\n\nexport type SessionUpdateNotification = {\n sessionId: string\n update: SessionUpdate\n _meta?: JsonObject | null\n}\n", "#!/usr/bin/env bun\nimport '@utils/config/sanitizeAnthropicEnv'\nimport { initSentry } from '@services/sentry'\nimport { ensurePackagedRuntimeEnv } from './cli/bootstrapEnv'\nimport { initDebugLogger } from '@utils/log/debugLogger'\nimport { enableConfigs } from '@utils/config'\nimport { logError } from '@utils/log'\n\nimport { JsonRpcPeer } from '../acp/jsonrpc'\nimport { StdioTransport } from '../acp/stdioTransport'\nimport { installStdoutGuard } from '../acp/stdoutGuard'\nimport { PybAcpAgent } from '../acp/pybAcpAgent'\n\ninitSentry()\nensurePackagedRuntimeEnv()\n\nconst { writeAcpLine } = installStdoutGuard()\n\ninitDebugLogger()\ntry {\n enableConfigs()\n} catch (e) {\n logError(e)\n}\n\nconst peer = new JsonRpcPeer()\nnew PybAcpAgent(peer)\n\nconst transport = new StdioTransport(peer, { writeLine: writeAcpLine })\ntransport.start()\n\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["resolve", "peer", "format", "writeAcpLine", "transport", "peer"]
|
|
7
7
|
}
|
|
@@ -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-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-LPRHLVIT.js";
|
|
6
|
+
import "./chunk-4NCEUAAH.js";
|
|
7
7
|
import "./chunk-RQVLBMP7.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-TWXMVB4T.js";
|
|
9
|
+
import "./chunk-6FIBU73C.js";
|
|
10
|
+
import "./chunk-JY2ZIUT6.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-
|
|
348
|
-
const { getCurrentProjectConfig } = await import("./config-
|
|
347
|
+
const { getTools } = await import("./tools-V6LVGZ4F.js");
|
|
348
|
+
const { getCurrentProjectConfig } = await import("./config-NHL3XV6A.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-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-GBVT3BHF.js";
|
|
7
|
+
import "./chunk-C64GQQIX.js";
|
|
8
|
+
import "./chunk-ISZYPQJ4.js";
|
|
9
|
+
import "./chunk-C6KEBADH.js";
|
|
10
10
|
import "./chunk-5P7HBXTD.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-A5OH2UIT.js";
|
|
12
|
+
import "./chunk-IROS56AN.js";
|
|
13
|
+
import "./chunk-Z6FKI2XB.js";
|
|
14
|
+
import "./chunk-SCFTG75V.js";
|
|
15
|
+
import "./chunk-6Y7R2HQJ.js";
|
|
16
|
+
import "./chunk-TP3G2PLU.js";
|
|
17
17
|
import "./chunk-ERMQRV55.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-SH2UZRTG.js";
|
|
19
19
|
import {
|
|
20
20
|
createUserMessage
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ROSGQFTS.js";
|
|
22
22
|
import "./chunk-3DFBSQIT.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-AAIDMQFM.js";
|
|
24
24
|
import "./chunk-B6IMQJZM.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-K5SSMVKH.js";
|
|
26
26
|
import "./chunk-A3BVXXA3.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-N5WZ6CIB.js";
|
|
28
|
+
import "./chunk-42XRBA3T.js";
|
|
29
29
|
import "./chunk-BJSWTHRM.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-SRWXBDPV.js";
|
|
31
|
+
import "./chunk-J6LHG4P2.js";
|
|
32
32
|
import "./chunk-UNNVICVU.js";
|
|
33
33
|
import {
|
|
34
34
|
getModelManager
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-LPRHLVIT.js";
|
|
36
36
|
import {
|
|
37
37
|
getContext
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
38
|
+
} from "./chunk-RVWBNMCL.js";
|
|
39
|
+
import "./chunk-IQIZZT3A.js";
|
|
40
|
+
import "./chunk-4NCEUAAH.js";
|
|
41
41
|
import "./chunk-RQVLBMP7.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-TWXMVB4T.js";
|
|
43
43
|
import {
|
|
44
44
|
getMessagesPath,
|
|
45
45
|
overwriteLog,
|
|
46
46
|
setCwd
|
|
47
|
-
} from "./chunk-
|
|
48
|
-
import "./chunk-
|
|
47
|
+
} from "./chunk-6FIBU73C.js";
|
|
48
|
+
import "./chunk-JY2ZIUT6.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-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-FF4MK6K3.js";
|
|
9
|
+
import "./chunk-6FIBU73C.js";
|
|
10
|
+
import "./chunk-JY2ZIUT6.js";
|
|
11
11
|
import "./chunk-I3J4JYES.js";
|
|
12
12
|
export {
|
|
13
13
|
assertMinVersion,
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
} from "./chunk-BJSWTHRM.js";
|
|
6
6
|
import {
|
|
7
7
|
debug
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TWXMVB4T.js";
|
|
9
9
|
import {
|
|
10
10
|
getCwd,
|
|
11
11
|
getPybBaseDir,
|
|
12
12
|
logError
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6FIBU73C.js";
|
|
14
14
|
|
|
15
15
|
// src/services/plugins/customCommands.ts
|
|
16
16
|
import { existsSync, readFileSync, readdirSync, statSync } from "fs";
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
} from "./chunk-RQVLBMP7.js";
|
|
6
6
|
import {
|
|
7
7
|
debug
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TWXMVB4T.js";
|
|
9
9
|
import {
|
|
10
10
|
getCwd,
|
|
11
11
|
getGlobalConfigFilePath,
|
|
12
12
|
logError
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6FIBU73C.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-
|
|
663
|
+
import("./model-SMB3E5LC.js").then(({ reloadModelManager }) => {
|
|
664
664
|
reloadModelManager();
|
|
665
665
|
});
|
|
666
666
|
}
|