pybao-cli 1.4.97 → 1.4.99
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-KURZV7EW.js +49 -0
- package/dist/{acp-RCUUG4TE.js → acp-IIKBAJCJ.js} +30 -30
- package/dist/{agentsValidate-FOGGBCAM.js → agentsValidate-6CEARR6Z.js} +7 -7
- package/dist/{ask-Y7GSDBHR.js → ask-7NE7NVRN.js} +29 -29
- package/dist/{autoUpdater-I3LHHCHT.js → autoUpdater-LFOXQ3CV.js} +3 -3
- package/dist/{chunk-DODMRDRY.js → chunk-2CLRREZ5.js} +3 -3
- package/dist/{chunk-WSATR4WL.js → chunk-2IO7WUI7.js} +4 -4
- package/dist/{chunk-YIXTSVYD.js → chunk-3BPXWAOJ.js} +1 -1
- package/dist/{chunk-YIXTSVYD.js.map → chunk-3BPXWAOJ.js.map} +1 -1
- package/dist/{chunk-EVDTKHQS.js → chunk-4MZJNA2D.js} +2 -2
- package/dist/{chunk-AL6K5BMH.js → chunk-5TCQKGL7.js} +71 -35
- package/dist/chunk-5TCQKGL7.js.map +7 -0
- package/dist/{chunk-QMUFX7IJ.js → chunk-6E6QBP52.js} +1 -1
- package/dist/{chunk-HV4NI23F.js → chunk-6KPO3O64.js} +3 -3
- package/dist/{chunk-TCW74O5N.js → chunk-7KDTFITN.js} +3 -3
- package/dist/{chunk-EDTKZHPB.js → chunk-7QIWZIVM.js} +1 -1
- package/dist/{chunk-ZETRMTIG.js → chunk-7SDAA35I.js} +1 -1
- package/dist/{chunk-6AJ2CWOM.js → chunk-7SPP4L5F.js} +2 -2
- package/dist/{chunk-6TMRUFNH.js → chunk-A2IPV5PR.js} +2 -2
- package/dist/{chunk-4OHWJPFN.js → chunk-BBHKGKLF.js} +16 -24
- package/dist/{chunk-4OHWJPFN.js.map → chunk-BBHKGKLF.js.map} +2 -2
- package/dist/{chunk-RL64MB7U.js → chunk-D3SG4DHV.js} +3 -3
- package/dist/{chunk-LR2N7KMQ.js → chunk-DKQIGPXB.js} +1 -1
- package/dist/{chunk-VXUWHEDL.js → chunk-GIH6DDF7.js} +1 -1
- package/dist/{chunk-A6QAWMSQ.js → chunk-GNDMDOGM.js} +2 -2
- package/dist/{chunk-53JGT3P4.js → chunk-JEGVTLOH.js} +1 -1
- package/dist/{chunk-A53N6YJI.js → chunk-KK5DOHDD.js} +2 -2
- package/dist/{chunk-JKP2RIBC.js → chunk-KZ7I6E5P.js} +227 -106
- package/dist/chunk-KZ7I6E5P.js.map +7 -0
- package/dist/{chunk-JFQY2HV5.js → chunk-MMZ2MWHJ.js} +1 -1
- package/dist/{chunk-PZTJUV4A.js → chunk-NXLRKKFH.js} +1 -1
- package/dist/{chunk-TDEIIGZD.js → chunk-PDQTREWL.js} +2 -2
- package/dist/{chunk-JI7VDOMU.js → chunk-Q56IGZX5.js} +3 -3
- package/dist/{chunk-O7CYKDDE.js → chunk-TG2B47KG.js} +8 -76
- package/dist/chunk-TG2B47KG.js.map +7 -0
- package/dist/{chunk-RBT4E5DV.js → chunk-TYOT7UVX.js} +1 -1
- package/dist/{chunk-Y2CH5HCU.js → chunk-VKXOAPOS.js} +1 -1
- package/dist/{chunk-VPVZHCOG.js → chunk-WAQ72XDO.js} +3 -3
- package/dist/{chunk-JHCUUDEB.js → chunk-YH7ZOG3I.js} +4 -4
- package/dist/{chunk-6LUGSV66.js → chunk-ZXADEAK4.js} +4 -4
- package/dist/{chunk-I6JG3ZBH.js → chunk-ZXO6OMWV.js} +4 -4
- package/dist/{cli-2RUYT6CA.js → cli-B42Z5OSM.js} +89 -89
- package/dist/commands-MNUBXNIB.js +53 -0
- package/dist/{config-W6OYIJFP.js → config-ZC4PZWOC.js} +4 -4
- package/dist/{context-5VP2FZYF.js → context-MF3EKP4O.js} +6 -6
- package/dist/{conversationTracker-GOUWLXWN.js → conversationTracker-BM6KB27G.js} +3 -3
- package/dist/{customCommands-TDVISN2B.js → customCommands-63F72N5R.js} +4 -4
- package/dist/{env-DLGPG7EV.js → env-PGV75SHC.js} +2 -2
- package/dist/{file-TOOPTRF2.js → file-7NLJWX5W.js} +4 -4
- package/dist/index.js +3 -3
- package/dist/{llm-HPGYRNBC.js → llm-RCPJRG2F.js} +30 -30
- package/dist/{llmLazy-OKLOZGW7.js → llmLazy-C5G2MM53.js} +1 -1
- package/dist/{loader-BPVCWO3Q.js → loader-MPCV37S5.js} +4 -4
- package/dist/{lsp-Y5UU7OYG.js → lsp-7FPYFR6T.js} +6 -6
- package/dist/{lspAnchor-YNYJ7E7M.js → lspAnchor-C676SQ6E.js} +6 -6
- package/dist/{mcp-ZHOROUVO.js → mcp-VKKPULAR.js} +7 -7
- package/dist/{mentionProcessor-YA3PCQGC.js → mentionProcessor-LJHHC5H4.js} +5 -5
- package/dist/{messages-QE77NR42.js → messages-QSUEHIGU.js} +1 -1
- package/dist/{model-YUVFO4IF.js → model-AJTLB6V4.js} +7 -5
- package/dist/{openai-BYIA5SOE.js → openai-XIRY5EVT.js} +5 -5
- package/dist/{outputStyles-RUBJ56B2.js → outputStyles-OTRZEQSD.js} +4 -4
- package/dist/{pluginRuntime-TFQEES5T.js → pluginRuntime-NQ6GKMG6.js} +6 -6
- package/dist/{pluginValidation-H7X3X4KI.js → pluginValidation-AJUPAPU2.js} +6 -6
- package/dist/prompts-SWCPKXLQ.js +55 -0
- package/dist/{pybAgentSessionLoad-RGKKINBZ.js → pybAgentSessionLoad-MOZRT43D.js} +4 -4
- package/dist/{pybAgentSessionResume-KO5RTOM4.js → pybAgentSessionResume-S67UFBZF.js} +4 -4
- package/dist/{pybAgentStreamJsonSession-B2CP4XOB.js → pybAgentStreamJsonSession-UEEVKNIR.js} +1 -1
- package/dist/{pybHooks-CWI5I2PJ.js → pybHooks-UQQ6VWTB.js} +4 -4
- package/dist/query-ZKV22Q32.js +57 -0
- package/dist/{registry-W2TZF6IB.js → registry-VUAORMT6.js} +5 -5
- package/dist/{ripgrep-IBHLMEUX.js → ripgrep-H5HDDGEE.js} +3 -3
- package/dist/{skillMarketplace-XTB7FHYD.js → skillMarketplace-AD473TUO.js} +3 -3
- package/dist/{state-B5WH4G7E.js → state-6FI3TEMZ.js} +2 -2
- package/dist/{theme-DJXLBRJF.js → theme-4KO4JE7Q.js} +5 -5
- package/dist/{toolPermissionSettings-HRFFW2PV.js → toolPermissionSettings-5QUOY3OV.js} +6 -6
- package/dist/tools-DOBQ6YMO.js +54 -0
- package/dist/{userInput-7WNQPJKD.js → userInput-ZT3LIWGH.js} +31 -31
- package/package.json +1 -1
- package/dist/REPL-34JJO6P2.js +0 -49
- package/dist/chunk-AL6K5BMH.js.map +0 -7
- package/dist/chunk-JKP2RIBC.js.map +0 -7
- package/dist/chunk-O7CYKDDE.js.map +0 -7
- package/dist/commands-XCYMIIZG.js +0 -53
- package/dist/prompts-SMIDAJGI.js +0 -55
- package/dist/query-CXHDWKXY.js +0 -57
- package/dist/tools-ZTSUWCM4.js +0 -54
- /package/dist/{REPL-34JJO6P2.js.map → REPL-KURZV7EW.js.map} +0 -0
- /package/dist/{acp-RCUUG4TE.js.map → acp-IIKBAJCJ.js.map} +0 -0
- /package/dist/{agentsValidate-FOGGBCAM.js.map → agentsValidate-6CEARR6Z.js.map} +0 -0
- /package/dist/{ask-Y7GSDBHR.js.map → ask-7NE7NVRN.js.map} +0 -0
- /package/dist/{autoUpdater-I3LHHCHT.js.map → autoUpdater-LFOXQ3CV.js.map} +0 -0
- /package/dist/{chunk-DODMRDRY.js.map → chunk-2CLRREZ5.js.map} +0 -0
- /package/dist/{chunk-WSATR4WL.js.map → chunk-2IO7WUI7.js.map} +0 -0
- /package/dist/{chunk-EVDTKHQS.js.map → chunk-4MZJNA2D.js.map} +0 -0
- /package/dist/{chunk-QMUFX7IJ.js.map → chunk-6E6QBP52.js.map} +0 -0
- /package/dist/{chunk-HV4NI23F.js.map → chunk-6KPO3O64.js.map} +0 -0
- /package/dist/{chunk-TCW74O5N.js.map → chunk-7KDTFITN.js.map} +0 -0
- /package/dist/{chunk-EDTKZHPB.js.map → chunk-7QIWZIVM.js.map} +0 -0
- /package/dist/{chunk-ZETRMTIG.js.map → chunk-7SDAA35I.js.map} +0 -0
- /package/dist/{chunk-6AJ2CWOM.js.map → chunk-7SPP4L5F.js.map} +0 -0
- /package/dist/{chunk-6TMRUFNH.js.map → chunk-A2IPV5PR.js.map} +0 -0
- /package/dist/{chunk-RL64MB7U.js.map → chunk-D3SG4DHV.js.map} +0 -0
- /package/dist/{chunk-LR2N7KMQ.js.map → chunk-DKQIGPXB.js.map} +0 -0
- /package/dist/{chunk-VXUWHEDL.js.map → chunk-GIH6DDF7.js.map} +0 -0
- /package/dist/{chunk-A6QAWMSQ.js.map → chunk-GNDMDOGM.js.map} +0 -0
- /package/dist/{chunk-53JGT3P4.js.map → chunk-JEGVTLOH.js.map} +0 -0
- /package/dist/{chunk-A53N6YJI.js.map → chunk-KK5DOHDD.js.map} +0 -0
- /package/dist/{chunk-JFQY2HV5.js.map → chunk-MMZ2MWHJ.js.map} +0 -0
- /package/dist/{chunk-PZTJUV4A.js.map → chunk-NXLRKKFH.js.map} +0 -0
- /package/dist/{chunk-TDEIIGZD.js.map → chunk-PDQTREWL.js.map} +0 -0
- /package/dist/{chunk-JI7VDOMU.js.map → chunk-Q56IGZX5.js.map} +0 -0
- /package/dist/{chunk-RBT4E5DV.js.map → chunk-TYOT7UVX.js.map} +0 -0
- /package/dist/{chunk-Y2CH5HCU.js.map → chunk-VKXOAPOS.js.map} +0 -0
- /package/dist/{chunk-VPVZHCOG.js.map → chunk-WAQ72XDO.js.map} +0 -0
- /package/dist/{chunk-JHCUUDEB.js.map → chunk-YH7ZOG3I.js.map} +0 -0
- /package/dist/{chunk-6LUGSV66.js.map → chunk-ZXADEAK4.js.map} +0 -0
- /package/dist/{chunk-I6JG3ZBH.js.map → chunk-ZXO6OMWV.js.map} +0 -0
- /package/dist/{cli-2RUYT6CA.js.map → cli-B42Z5OSM.js.map} +0 -0
- /package/dist/{commands-XCYMIIZG.js.map → commands-MNUBXNIB.js.map} +0 -0
- /package/dist/{config-W6OYIJFP.js.map → config-ZC4PZWOC.js.map} +0 -0
- /package/dist/{context-5VP2FZYF.js.map → context-MF3EKP4O.js.map} +0 -0
- /package/dist/{conversationTracker-GOUWLXWN.js.map → conversationTracker-BM6KB27G.js.map} +0 -0
- /package/dist/{customCommands-TDVISN2B.js.map → customCommands-63F72N5R.js.map} +0 -0
- /package/dist/{env-DLGPG7EV.js.map → env-PGV75SHC.js.map} +0 -0
- /package/dist/{file-TOOPTRF2.js.map → file-7NLJWX5W.js.map} +0 -0
- /package/dist/{llm-HPGYRNBC.js.map → llm-RCPJRG2F.js.map} +0 -0
- /package/dist/{llmLazy-OKLOZGW7.js.map → llmLazy-C5G2MM53.js.map} +0 -0
- /package/dist/{loader-BPVCWO3Q.js.map → loader-MPCV37S5.js.map} +0 -0
- /package/dist/{lsp-Y5UU7OYG.js.map → lsp-7FPYFR6T.js.map} +0 -0
- /package/dist/{lspAnchor-YNYJ7E7M.js.map → lspAnchor-C676SQ6E.js.map} +0 -0
- /package/dist/{mcp-ZHOROUVO.js.map → mcp-VKKPULAR.js.map} +0 -0
- /package/dist/{mentionProcessor-YA3PCQGC.js.map → mentionProcessor-LJHHC5H4.js.map} +0 -0
- /package/dist/{messages-QE77NR42.js.map → messages-QSUEHIGU.js.map} +0 -0
- /package/dist/{model-YUVFO4IF.js.map → model-AJTLB6V4.js.map} +0 -0
- /package/dist/{openai-BYIA5SOE.js.map → openai-XIRY5EVT.js.map} +0 -0
- /package/dist/{outputStyles-RUBJ56B2.js.map → outputStyles-OTRZEQSD.js.map} +0 -0
- /package/dist/{pluginRuntime-TFQEES5T.js.map → pluginRuntime-NQ6GKMG6.js.map} +0 -0
- /package/dist/{pluginValidation-H7X3X4KI.js.map → pluginValidation-AJUPAPU2.js.map} +0 -0
- /package/dist/{prompts-SMIDAJGI.js.map → prompts-SWCPKXLQ.js.map} +0 -0
- /package/dist/{pybAgentSessionLoad-RGKKINBZ.js.map → pybAgentSessionLoad-MOZRT43D.js.map} +0 -0
- /package/dist/{pybAgentSessionResume-KO5RTOM4.js.map → pybAgentSessionResume-S67UFBZF.js.map} +0 -0
- /package/dist/{pybAgentStreamJsonSession-B2CP4XOB.js.map → pybAgentStreamJsonSession-UEEVKNIR.js.map} +0 -0
- /package/dist/{pybHooks-CWI5I2PJ.js.map → pybHooks-UQQ6VWTB.js.map} +0 -0
- /package/dist/{query-CXHDWKXY.js.map → query-ZKV22Q32.js.map} +0 -0
- /package/dist/{registry-W2TZF6IB.js.map → registry-VUAORMT6.js.map} +0 -0
- /package/dist/{ripgrep-IBHLMEUX.js.map → ripgrep-H5HDDGEE.js.map} +0 -0
- /package/dist/{skillMarketplace-XTB7FHYD.js.map → skillMarketplace-AD473TUO.js.map} +0 -0
- /package/dist/{state-B5WH4G7E.js.map → state-6FI3TEMZ.js.map} +0 -0
- /package/dist/{theme-DJXLBRJF.js.map → theme-4KO4JE7Q.js.map} +0 -0
- /package/dist/{toolPermissionSettings-HRFFW2PV.js.map → toolPermissionSettings-5QUOY3OV.js.map} +0 -0
- /package/dist/{tools-ZTSUWCM4.js.map → tools-DOBQ6YMO.js.map} +0 -0
- /package/dist/{userInput-7WNQPJKD.js.map → userInput-ZT3LIWGH.js.map} +0 -0
|
@@ -2,12 +2,12 @@ import { createRequire as __pybCreateRequire } from "node:module";
|
|
|
2
2
|
const require = __pybCreateRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
getTheme
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-6E6QBP52.js";
|
|
6
|
+
import "./chunk-WAQ72XDO.js";
|
|
7
7
|
import "./chunk-RQVLBMP7.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-DKQIGPXB.js";
|
|
9
|
+
import "./chunk-VKXOAPOS.js";
|
|
10
|
+
import "./chunk-3BPXWAOJ.js";
|
|
11
11
|
import "./chunk-I3J4JYES.js";
|
|
12
12
|
export {
|
|
13
13
|
getTheme
|
|
@@ -3,14 +3,14 @@ const require = __pybCreateRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
loadToolPermissionContextFromDisk,
|
|
5
5
|
persistToolPermissionUpdateToDisk
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7KDTFITN.js";
|
|
7
7
|
import "./chunk-UNNVICVU.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-7SDAA35I.js";
|
|
9
|
+
import "./chunk-WAQ72XDO.js";
|
|
10
10
|
import "./chunk-RQVLBMP7.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-DKQIGPXB.js";
|
|
12
|
+
import "./chunk-VKXOAPOS.js";
|
|
13
|
+
import "./chunk-3BPXWAOJ.js";
|
|
14
14
|
import "./chunk-I3J4JYES.js";
|
|
15
15
|
export {
|
|
16
16
|
loadToolPermissionContextFromDisk,
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createRequire as __pybCreateRequire } from "node:module";
|
|
2
|
+
const require = __pybCreateRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
getAllTools,
|
|
5
|
+
getReadOnlyTools,
|
|
6
|
+
getTools
|
|
7
|
+
} from "./chunk-BBHKGKLF.js";
|
|
8
|
+
import "./chunk-KZ7I6E5P.js";
|
|
9
|
+
import "./chunk-NXLRKKFH.js";
|
|
10
|
+
import "./chunk-2CLRREZ5.js";
|
|
11
|
+
import "./chunk-MMZ2MWHJ.js";
|
|
12
|
+
import "./chunk-F4AXICO7.js";
|
|
13
|
+
import "./chunk-GIH6DDF7.js";
|
|
14
|
+
import "./chunk-KK5DOHDD.js";
|
|
15
|
+
import "./chunk-5P7HBXTD.js";
|
|
16
|
+
import "./chunk-6KPO3O64.js";
|
|
17
|
+
import "./chunk-4MZJNA2D.js";
|
|
18
|
+
import "./chunk-7SPP4L5F.js";
|
|
19
|
+
import "./chunk-XKYHFZEC.js";
|
|
20
|
+
import "./chunk-ZXADEAK4.js";
|
|
21
|
+
import "./chunk-YH7ZOG3I.js";
|
|
22
|
+
import "./chunk-JEGVTLOH.js";
|
|
23
|
+
import "./chunk-7KDTFITN.js";
|
|
24
|
+
import "./chunk-UNNVICVU.js";
|
|
25
|
+
import "./chunk-TG2B47KG.js";
|
|
26
|
+
import "./chunk-PDQTREWL.js";
|
|
27
|
+
import "./chunk-A3BVXXA3.js";
|
|
28
|
+
import "./chunk-7QIWZIVM.js";
|
|
29
|
+
import "./chunk-3DFBSQIT.js";
|
|
30
|
+
import "./chunk-B6IMQJZM.js";
|
|
31
|
+
import "./chunk-OUXHGDLH.js";
|
|
32
|
+
import "./chunk-A2IPV5PR.js";
|
|
33
|
+
import "./chunk-QWIBSCDN.js";
|
|
34
|
+
import "./chunk-ZXO6OMWV.js";
|
|
35
|
+
import "./chunk-D3SG4DHV.js";
|
|
36
|
+
import "./chunk-7SDAA35I.js";
|
|
37
|
+
import "./chunk-UZ34JEUK.js";
|
|
38
|
+
import "./chunk-GNDMDOGM.js";
|
|
39
|
+
import "./chunk-BJSWTHRM.js";
|
|
40
|
+
import "./chunk-5TCQKGL7.js";
|
|
41
|
+
import "./chunk-2IO7WUI7.js";
|
|
42
|
+
import "./chunk-TYOT7UVX.js";
|
|
43
|
+
import "./chunk-6E6QBP52.js";
|
|
44
|
+
import "./chunk-WAQ72XDO.js";
|
|
45
|
+
import "./chunk-RQVLBMP7.js";
|
|
46
|
+
import "./chunk-DKQIGPXB.js";
|
|
47
|
+
import "./chunk-VKXOAPOS.js";
|
|
48
|
+
import "./chunk-3BPXWAOJ.js";
|
|
49
|
+
import "./chunk-I3J4JYES.js";
|
|
50
|
+
export {
|
|
51
|
+
getAllTools,
|
|
52
|
+
getReadOnlyTools,
|
|
53
|
+
getTools
|
|
54
|
+
};
|
|
@@ -9,58 +9,58 @@ import {
|
|
|
9
9
|
UserBashInputMessage,
|
|
10
10
|
getCommand,
|
|
11
11
|
hasCommand
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-KZ7I6E5P.js";
|
|
13
|
+
import "./chunk-NXLRKKFH.js";
|
|
14
|
+
import "./chunk-2CLRREZ5.js";
|
|
15
|
+
import "./chunk-MMZ2MWHJ.js";
|
|
16
16
|
import "./chunk-F4AXICO7.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-GIH6DDF7.js";
|
|
18
|
+
import "./chunk-KK5DOHDD.js";
|
|
19
19
|
import "./chunk-5P7HBXTD.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-6KPO3O64.js";
|
|
21
|
+
import "./chunk-4MZJNA2D.js";
|
|
22
|
+
import "./chunk-7SPP4L5F.js";
|
|
23
23
|
import "./chunk-XKYHFZEC.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-ZXADEAK4.js";
|
|
25
|
+
import "./chunk-YH7ZOG3I.js";
|
|
26
|
+
import "./chunk-JEGVTLOH.js";
|
|
27
|
+
import "./chunk-7KDTFITN.js";
|
|
28
28
|
import "./chunk-UNNVICVU.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-TG2B47KG.js";
|
|
30
|
+
import "./chunk-PDQTREWL.js";
|
|
31
31
|
import "./chunk-A3BVXXA3.js";
|
|
32
32
|
import {
|
|
33
33
|
NO_RESPONSE_REQUESTED,
|
|
34
34
|
createAssistantMessage,
|
|
35
35
|
createUserMessage,
|
|
36
36
|
createUserTurnMessage
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-7QIWZIVM.js";
|
|
38
38
|
import "./chunk-3DFBSQIT.js";
|
|
39
39
|
import "./chunk-B6IMQJZM.js";
|
|
40
40
|
import "./chunk-OUXHGDLH.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-A2IPV5PR.js";
|
|
42
42
|
import "./chunk-QWIBSCDN.js";
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-ZXO6OMWV.js";
|
|
44
|
+
import "./chunk-D3SG4DHV.js";
|
|
45
|
+
import "./chunk-7SDAA35I.js";
|
|
46
46
|
import "./chunk-UZ34JEUK.js";
|
|
47
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-GNDMDOGM.js";
|
|
48
48
|
import "./chunk-BJSWTHRM.js";
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-5TCQKGL7.js";
|
|
50
|
+
import "./chunk-2IO7WUI7.js";
|
|
51
|
+
import "./chunk-TYOT7UVX.js";
|
|
52
|
+
import "./chunk-6E6QBP52.js";
|
|
53
|
+
import "./chunk-WAQ72XDO.js";
|
|
54
54
|
import {
|
|
55
55
|
MalformedCommandError
|
|
56
56
|
} from "./chunk-RQVLBMP7.js";
|
|
57
|
-
import "./chunk-
|
|
57
|
+
import "./chunk-DKQIGPXB.js";
|
|
58
58
|
import {
|
|
59
59
|
getCwd,
|
|
60
60
|
logError,
|
|
61
61
|
setCwd
|
|
62
|
-
} from "./chunk-
|
|
63
|
-
import "./chunk-
|
|
62
|
+
} from "./chunk-VKXOAPOS.js";
|
|
63
|
+
import "./chunk-3BPXWAOJ.js";
|
|
64
64
|
import "./chunk-I3J4JYES.js";
|
|
65
65
|
|
|
66
66
|
// src/utils/messages/userInput.tsx
|
|
@@ -182,12 +182,12 @@ async function processUserInput(input, mode, setToolJSX, context, pastedImages)
|
|
|
182
182
|
${input}` : input;
|
|
183
183
|
if (processedInput.includes("!`") || processedInput.includes("@")) {
|
|
184
184
|
try {
|
|
185
|
-
const { executeBashCommands } = await import("./customCommands-
|
|
185
|
+
const { executeBashCommands } = await import("./customCommands-63F72N5R.js");
|
|
186
186
|
if (processedInput.includes("!`")) {
|
|
187
187
|
processedInput = await executeBashCommands(processedInput);
|
|
188
188
|
}
|
|
189
189
|
if (processedInput.includes("@")) {
|
|
190
|
-
const { processMentions } = await import("./mentionProcessor-
|
|
190
|
+
const { processMentions } = await import("./mentionProcessor-LJHHC5H4.js");
|
|
191
191
|
await processMentions(processedInput);
|
|
192
192
|
}
|
|
193
193
|
} catch (error) {
|
package/package.json
CHANGED
package/dist/REPL-34JJO6P2.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { createRequire as __pybCreateRequire } from "node:module";
|
|
2
|
-
const require = __pybCreateRequire(import.meta.url);
|
|
3
|
-
import {
|
|
4
|
-
REPL
|
|
5
|
-
} from "./chunk-JKP2RIBC.js";
|
|
6
|
-
import "./chunk-PZTJUV4A.js";
|
|
7
|
-
import "./chunk-DODMRDRY.js";
|
|
8
|
-
import "./chunk-JFQY2HV5.js";
|
|
9
|
-
import "./chunk-F4AXICO7.js";
|
|
10
|
-
import "./chunk-VXUWHEDL.js";
|
|
11
|
-
import "./chunk-A53N6YJI.js";
|
|
12
|
-
import "./chunk-5P7HBXTD.js";
|
|
13
|
-
import "./chunk-HV4NI23F.js";
|
|
14
|
-
import "./chunk-EVDTKHQS.js";
|
|
15
|
-
import "./chunk-6AJ2CWOM.js";
|
|
16
|
-
import "./chunk-XKYHFZEC.js";
|
|
17
|
-
import "./chunk-6LUGSV66.js";
|
|
18
|
-
import "./chunk-JHCUUDEB.js";
|
|
19
|
-
import "./chunk-53JGT3P4.js";
|
|
20
|
-
import "./chunk-TCW74O5N.js";
|
|
21
|
-
import "./chunk-UNNVICVU.js";
|
|
22
|
-
import "./chunk-O7CYKDDE.js";
|
|
23
|
-
import "./chunk-TDEIIGZD.js";
|
|
24
|
-
import "./chunk-A3BVXXA3.js";
|
|
25
|
-
import "./chunk-EDTKZHPB.js";
|
|
26
|
-
import "./chunk-3DFBSQIT.js";
|
|
27
|
-
import "./chunk-B6IMQJZM.js";
|
|
28
|
-
import "./chunk-OUXHGDLH.js";
|
|
29
|
-
import "./chunk-6TMRUFNH.js";
|
|
30
|
-
import "./chunk-QWIBSCDN.js";
|
|
31
|
-
import "./chunk-I6JG3ZBH.js";
|
|
32
|
-
import "./chunk-RL64MB7U.js";
|
|
33
|
-
import "./chunk-ZETRMTIG.js";
|
|
34
|
-
import "./chunk-UZ34JEUK.js";
|
|
35
|
-
import "./chunk-A6QAWMSQ.js";
|
|
36
|
-
import "./chunk-BJSWTHRM.js";
|
|
37
|
-
import "./chunk-AL6K5BMH.js";
|
|
38
|
-
import "./chunk-WSATR4WL.js";
|
|
39
|
-
import "./chunk-RBT4E5DV.js";
|
|
40
|
-
import "./chunk-QMUFX7IJ.js";
|
|
41
|
-
import "./chunk-VPVZHCOG.js";
|
|
42
|
-
import "./chunk-RQVLBMP7.js";
|
|
43
|
-
import "./chunk-LR2N7KMQ.js";
|
|
44
|
-
import "./chunk-Y2CH5HCU.js";
|
|
45
|
-
import "./chunk-YIXTSVYD.js";
|
|
46
|
-
import "./chunk-I3J4JYES.js";
|
|
47
|
-
export {
|
|
48
|
-
REPL
|
|
49
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/utils/model/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { memoize } from 'lodash-es'\n\nimport { logError } from '@utils/log'\nimport { debug as debugLogger } from '@utils/log/debugLogger'\nimport {\n getGlobalConfig,\n ModelProfile,\n ModelPointerType,\n saveGlobalConfig,\n} from '@utils/config'\n\nexport const USE_BEDROCK = !!(\n process.env.PYB_USE_BEDROCK ?? process.env.CLAUDE_CODE_USE_BEDROCK\n)\nexport const USE_VERTEX = !!(\n process.env.PYB_USE_VERTEX ?? process.env.CLAUDE_CODE_USE_VERTEX\n)\n\nexport interface ModelConfig {\n bedrock: string\n vertex: string\n firstParty: string\n}\n\nconst DEFAULT_MODEL_CONFIG: ModelConfig = {\n bedrock: 'us.anthropic.claude-3-7-sonnet-20250219-v1:0',\n vertex: 'claude-3-7-sonnet@20250219',\n firstParty: 'claude-sonnet-4-20250514',\n}\n\nasync function getModelConfig(): Promise<ModelConfig> {\n return DEFAULT_MODEL_CONFIG\n}\n\nexport const getSlowAndCapableModel = memoize(async (): Promise<string> => {\n const config = await getGlobalConfig()\n\n const modelManager = new ModelManager(config)\n const model = modelManager.getMainAgentModel()\n\n if (model) {\n return model\n }\n\n const modelConfig = await getModelConfig()\n if (USE_BEDROCK) return modelConfig.bedrock\n if (USE_VERTEX) return modelConfig.vertex\n return modelConfig.firstParty\n})\n\nexport async function isDefaultSlowAndCapableModel(): Promise<boolean> {\n return (\n !process.env.ANTHROPIC_MODEL ||\n process.env.ANTHROPIC_MODEL === (await getSlowAndCapableModel())\n )\n}\n\nexport function getVertexRegionForModel(\n model: string | undefined,\n): string | undefined {\n if (model?.startsWith('claude-3-5-haiku')) {\n return process.env.VERTEX_REGION_CLAUDE_3_5_HAIKU\n } else if (model?.startsWith('claude-3-5-sonnet')) {\n return process.env.VERTEX_REGION_CLAUDE_3_5_SONNET\n } else if (model?.startsWith('claude-3-7-sonnet')) {\n return process.env.VERTEX_REGION_CLAUDE_3_7_SONNET\n }\n}\n\nexport class ModelManager {\n private config: any\n private modelProfiles: ModelProfile[]\n\n constructor(config: any) {\n this.config = config\n this.modelProfiles = config.modelProfiles || []\n }\n\n getCurrentModel(): string | null {\n const mainModelName = this.config.modelPointers?.main\n if (mainModelName) {\n const profile = this.findModelProfile(mainModelName)\n if (profile && profile.isActive) {\n return profile.modelName\n }\n }\n\n return this.getMainAgentModel()\n }\n\n getMainAgentModel(): string | null {\n const mainModelName = this.config.modelPointers?.main\n if (mainModelName) {\n const profile = this.findModelProfile(mainModelName)\n if (profile && profile.isActive) {\n return profile.modelName\n }\n }\n\n const activeProfile = this.modelProfiles.find(p => p.isActive)\n if (activeProfile) {\n return activeProfile.modelName\n }\n\n return null\n }\n\n getTaskToolModel(): string | null {\n const taskModelName = this.config.modelPointers?.task\n if (taskModelName) {\n const profile = this.findModelProfile(taskModelName)\n if (profile && profile.isActive) {\n return profile.modelName\n }\n }\n\n return this.getMainAgentModel()\n }\n\n switchToNextModelWithContextCheck(currentContextTokens: number = 0): {\n success: boolean\n modelName: string | null\n previousModelName: string | null\n contextOverflow: boolean\n usagePercentage: number\n currentContextTokens: number\n skippedModels?: Array<{\n name: string\n provider: string\n contextLength: number\n budgetTokens: number | null\n usagePercentage: number\n }>\n } {\n const allProfiles = this.getAllConfiguredModels()\n if (allProfiles.length === 0) {\n return {\n success: false,\n modelName: null,\n previousModelName: null,\n contextOverflow: false,\n usagePercentage: 0,\n currentContextTokens,\n }\n }\n\n allProfiles.sort((a, b) => a.createdAt - b.createdAt)\n\n const currentMainModelName = this.config.modelPointers?.main\n const currentModel = currentMainModelName\n ? this.findModelProfile(currentMainModelName)\n : null\n const previousModelName = currentModel?.name || null\n\n const budgetForModel = (\n model: ModelProfile,\n ): {\n budgetTokens: number | null\n usagePercentage: number\n compatible: boolean\n } => {\n const contextLength = Number(model.contextLength)\n if (!Number.isFinite(contextLength) || contextLength <= 0) {\n return { budgetTokens: null, usagePercentage: 0, compatible: true }\n }\n const budgetTokens = Math.floor(contextLength * 0.9)\n const usagePercentage =\n budgetTokens > 0 ? (currentContextTokens / budgetTokens) * 100 : 0\n return {\n budgetTokens,\n usagePercentage,\n compatible:\n budgetTokens > 0 ? currentContextTokens <= budgetTokens : true,\n }\n }\n\n const currentIndex = currentMainModelName\n ? allProfiles.findIndex(p => p.modelName === currentMainModelName)\n : -1\n const startIndex = currentIndex >= 0 ? currentIndex : -1\n\n if (allProfiles.length === 1) {\n return {\n success: false,\n modelName: null,\n previousModelName,\n contextOverflow: false,\n usagePercentage: 0,\n currentContextTokens,\n }\n }\n\n const maxOffsets =\n startIndex === -1 ? allProfiles.length : allProfiles.length - 1\n const skippedModels: NonNullable<\n ReturnType<\n ModelManager['switchToNextModelWithContextCheck']\n >['skippedModels']\n > = []\n\n let selected: ModelProfile | null = null\n let selectedUsagePercentage = 0\n\n for (let offset = 1; offset <= maxOffsets; offset++) {\n const candidateIndex =\n (startIndex + offset + allProfiles.length) % allProfiles.length\n const candidate = allProfiles[candidateIndex]\n if (!candidate) continue\n\n const { budgetTokens, usagePercentage, compatible } =\n budgetForModel(candidate)\n if (compatible) {\n selected = candidate\n selectedUsagePercentage = usagePercentage\n break\n }\n skippedModels.push({\n name: candidate.name,\n provider: candidate.provider,\n contextLength: candidate.contextLength,\n budgetTokens,\n usagePercentage,\n })\n }\n\n if (!selected) {\n const firstSkipped = skippedModels[0]\n return {\n success: false,\n modelName: null,\n previousModelName,\n contextOverflow: true,\n usagePercentage: firstSkipped?.usagePercentage ?? 0,\n currentContextTokens,\n skippedModels,\n }\n }\n\n if (!selected.isActive) {\n selected.isActive = true\n }\n\n this.setPointer('main', selected.modelName)\n this.updateLastUsed(selected.modelName)\n\n return {\n success: true,\n modelName: selected.name,\n previousModelName,\n contextOverflow: false,\n usagePercentage: selectedUsagePercentage,\n currentContextTokens,\n skippedModels,\n }\n }\n\n switchToNextModel(currentContextTokens: number = 0): {\n success: boolean\n modelName: string | null\n blocked?: boolean\n message?: string\n } {\n const result = this.switchToNextModelWithContextCheck(currentContextTokens)\n\n const formatTokens = (tokens: number): string => {\n if (!Number.isFinite(tokens)) return 'unknown'\n if (tokens >= 1000) return `${Math.round(tokens / 1000)}k`\n return String(Math.round(tokens))\n }\n\n const allModels = this.getAllConfiguredModels()\n if (allModels.length === 0) {\n return {\n success: false,\n modelName: null,\n blocked: false,\n message: '\u274C No models configured. Use /model to add models.',\n }\n }\n if (allModels.length === 1) {\n return {\n success: false,\n modelName: null,\n blocked: false,\n message: `\u26A0\uFE0F Only one model configured (${allModels[0].modelName}). Use /model to add more models for switching.`,\n }\n }\n\n const currentModel = this.findModelProfile(this.config.modelPointers?.main)\n const modelsSorted = [...allModels].sort(\n (a, b) => a.createdAt - b.createdAt,\n )\n const currentIndex = modelsSorted.findIndex(\n m => m.modelName === currentModel?.modelName,\n )\n const totalModels = modelsSorted.length\n\n if (result.success && result.modelName) {\n const skippedCount = result.skippedModels?.length ?? 0\n const skippedSuffix =\n skippedCount > 0 ? ` \u00B7 skipped ${skippedCount} incompatible` : ''\n const contextSuffix =\n currentModel?.contextLength && result.currentContextTokens\n ? ` \u00B7 context ~${formatTokens(result.currentContextTokens)}/${formatTokens(currentModel.contextLength)}`\n : ''\n\n return {\n success: true,\n modelName: result.modelName,\n blocked: false,\n message: `\u2705 Switched to ${result.modelName} (${currentIndex + 1}/${totalModels})${currentModel?.provider ? ` [${currentModel.provider}]` : ''}${skippedSuffix}${contextSuffix}`,\n }\n }\n\n if (result.contextOverflow) {\n const attempted = result.skippedModels?.[0]\n const attemptedContext = attempted?.contextLength\n const attemptedBudget = attempted?.budgetTokens\n const currentLabel =\n currentModel?.name || currentModel?.modelName || 'current model'\n\n const attemptedText = attempted\n ? `Can't switch to ${attempted.name}: current ~${formatTokens(result.currentContextTokens)} tokens exceeds safe budget (~${formatTokens(attemptedBudget ?? 0)} tokens, 90% of ${formatTokens(attemptedContext ?? 0)}).`\n : `Can't switch models due to context size (~${formatTokens(result.currentContextTokens)} tokens).`\n\n return {\n success: false,\n modelName: null,\n blocked: true,\n message: `\u26A0\uFE0F ${attemptedText} Keeping ${currentLabel}.`,\n }\n }\n\n return {\n success: false,\n modelName: null,\n blocked: false,\n message: '\u274C Failed to switch models',\n }\n }\n\n revertToPreviousModel(previousModelName: string): boolean {\n const previousModel = this.modelProfiles.find(\n p => p.name === previousModelName && p.isActive,\n )\n if (!previousModel) {\n return false\n }\n\n this.setPointer('main', previousModel.modelName)\n this.updateLastUsed(previousModel.modelName)\n return true\n }\n\n analyzeContextCompatibility(\n model: ModelProfile,\n contextTokens: number,\n ): {\n compatible: boolean\n severity: 'safe' | 'warning' | 'critical'\n usagePercentage: number\n recommendation: string\n } {\n const usableContext = Math.floor(model.contextLength * 0.8)\n const usagePercentage = (contextTokens / usableContext) * 100\n\n if (usagePercentage <= 70) {\n return {\n compatible: true,\n severity: 'safe',\n usagePercentage,\n recommendation: 'Full context preserved',\n }\n } else if (usagePercentage <= 90) {\n return {\n compatible: true,\n severity: 'warning',\n usagePercentage,\n recommendation: 'Context usage high, consider compression',\n }\n } else {\n return {\n compatible: false,\n severity: 'critical',\n usagePercentage,\n recommendation: 'Auto-compression or message truncation required',\n }\n }\n }\n\n switchToNextModelWithAnalysis(currentContextTokens: number = 0): {\n modelName: string | null\n contextAnalysis: ReturnType<typeof this.analyzeContextCompatibility> | null\n requiresCompression: boolean\n estimatedTokensAfterSwitch: number\n } {\n const result = this.switchToNextModel(currentContextTokens)\n\n if (!result.success || !result.modelName) {\n return {\n modelName: null,\n contextAnalysis: null,\n requiresCompression: false,\n estimatedTokensAfterSwitch: 0,\n }\n }\n\n const newModel = this.getModel('main')\n if (!newModel) {\n return {\n modelName: result.modelName,\n contextAnalysis: null,\n requiresCompression: false,\n estimatedTokensAfterSwitch: currentContextTokens,\n }\n }\n\n const analysis = this.analyzeContextCompatibility(\n newModel,\n currentContextTokens,\n )\n\n return {\n modelName: result.modelName,\n contextAnalysis: analysis,\n requiresCompression: analysis.severity === 'critical',\n estimatedTokensAfterSwitch: currentContextTokens,\n }\n }\n\n canModelHandleContext(model: ModelProfile, contextTokens: number): boolean {\n const analysis = this.analyzeContextCompatibility(model, contextTokens)\n return analysis.compatible\n }\n\n findModelWithSufficientContext(\n models: ModelProfile[],\n contextTokens: number,\n ): ModelProfile | null {\n return (\n models.find(model => this.canModelHandleContext(model, contextTokens)) ||\n null\n )\n }\n\n getModelForContext(\n contextType: 'terminal' | 'main-agent' | 'task-tool',\n ): string | null {\n switch (contextType) {\n case 'terminal':\n return this.getCurrentModel()\n case 'main-agent':\n return this.getMainAgentModel()\n case 'task-tool':\n return this.getTaskToolModel()\n default:\n return this.getMainAgentModel()\n }\n }\n\n getActiveModelProfiles(): ModelProfile[] {\n return this.modelProfiles.filter(p => p.isActive)\n }\n\n hasConfiguredModels(): boolean {\n return this.getActiveModelProfiles().length > 0\n }\n\n\n getModel(pointer: ModelPointerType): ModelProfile | null {\n const pointerId = this.config.modelPointers?.[pointer]\n if (!pointerId) {\n return this.getDefaultModel()\n }\n\n const profile = this.findModelProfile(pointerId)\n return profile && profile.isActive ? profile : this.getDefaultModel()\n }\n\n getModelName(pointer: ModelPointerType): string | null {\n const profile = this.getModel(pointer)\n return profile ? profile.modelName : null\n }\n\n getCompactModel(): string | null {\n return this.getModelName('compact') || this.getModelName('main')\n }\n\n getQuickModel(): string | null {\n return (\n this.getModelName('quick') ||\n this.getModelName('task') ||\n this.getModelName('main')\n )\n }\n\n async addModel(\n config: Omit<ModelProfile, 'createdAt' | 'isActive'>,\n ): Promise<string> {\n const existingByModelName = this.modelProfiles.find(\n p => p.modelName === config.modelName,\n )\n if (existingByModelName) {\n throw new Error(\n `Model with modelName '${config.modelName}' already exists: ${existingByModelName.name}`,\n )\n }\n\n const existingByName = this.modelProfiles.find(p => p.name === config.name)\n if (existingByName) {\n throw new Error(`Model with name '${config.name}' already exists`)\n }\n\n const newModel: ModelProfile = {\n ...config,\n createdAt: Date.now(),\n isActive: true,\n }\n\n this.modelProfiles.push(newModel)\n\n if (this.modelProfiles.length === 1) {\n this.config.modelPointers = {\n main: config.modelName,\n task: config.modelName,\n compact: config.modelName,\n quick: config.modelName,\n }\n this.config.defaultModelName = config.modelName\n } else {\n if (!this.config.modelPointers) {\n this.config.modelPointers = {\n main: config.modelName,\n task: '',\n compact: '',\n quick: '',\n }\n } else {\n this.config.modelPointers.main = config.modelName\n }\n }\n\n this.saveConfig()\n return config.modelName\n }\n\n setPointer(pointer: ModelPointerType, modelName: string): void {\n if (!this.findModelProfile(modelName)) {\n throw new Error(`Model '${modelName}' not found`)\n }\n\n if (!this.config.modelPointers) {\n this.config.modelPointers = {\n main: '',\n task: '',\n compact: '',\n quick: '',\n }\n }\n\n this.config.modelPointers[pointer] = modelName\n this.saveConfig()\n }\n\n getAvailableModels(): ModelProfile[] {\n return this.modelProfiles.filter(p => p.isActive)\n }\n\n getAllConfiguredModels(): ModelProfile[] {\n return this.modelProfiles\n }\n\n getAllAvailableModelNames(): string[] {\n return this.getAvailableModels().map(p => p.modelName)\n }\n\n getAllConfiguredModelNames(): string[] {\n return this.getAllConfiguredModels().map(p => p.modelName)\n }\n\n getModelSwitchingDebugInfo(): {\n totalModels: number\n activeModels: number\n inactiveModels: number\n currentMainModel: string | null\n availableModels: Array<{\n name: string\n modelName: string\n provider: string\n isActive: boolean\n lastUsed?: number\n }>\n modelPointers: Record<string, string | undefined>\n } {\n const availableModels = this.getAvailableModels()\n const currentMainModelName = this.config.modelPointers?.main\n\n return {\n totalModels: this.modelProfiles.length,\n activeModels: availableModels.length,\n inactiveModels: this.modelProfiles.length - availableModels.length,\n currentMainModel: currentMainModelName || null,\n availableModels: this.modelProfiles.map(p => ({\n name: p.name,\n modelName: p.modelName,\n provider: p.provider,\n isActive: p.isActive,\n lastUsed: p.lastUsed,\n })),\n modelPointers: this.config.modelPointers || {},\n }\n }\n\n removeModel(modelName: string): void {\n this.modelProfiles = this.modelProfiles.filter(\n p => p.modelName !== modelName,\n )\n\n if (this.config.modelPointers) {\n Object.keys(this.config.modelPointers).forEach(pointer => {\n if (\n this.config.modelPointers[pointer as ModelPointerType] === modelName\n ) {\n this.config.modelPointers[pointer as ModelPointerType] =\n this.config.defaultModelName || ''\n }\n })\n }\n\n this.saveConfig()\n }\n\n private getDefaultModel(): ModelProfile | null {\n if (this.config.defaultModelId) {\n const profile = this.findModelProfile(this.config.defaultModelId)\n if (profile && profile.isActive) {\n return profile\n }\n }\n return this.modelProfiles.find(p => p.isActive) || null\n }\n\n private saveConfig(): void {\n const updatedConfig = {\n ...this.config,\n modelProfiles: this.modelProfiles,\n }\n saveGlobalConfig(updatedConfig)\n }\n\n async getFallbackModel(): Promise<string> {\n const modelConfig = await getModelConfig()\n if (USE_BEDROCK) return modelConfig.bedrock\n if (USE_VERTEX) return modelConfig.vertex\n return modelConfig.firstParty\n }\n\n resolveModel(modelParam: string | ModelPointerType): ModelProfile | null {\n if (['main', 'task', 'compact', 'quick'].includes(modelParam)) {\n const pointerId =\n this.config.modelPointers?.[modelParam as ModelPointerType]\n if (pointerId) {\n let profile = this.findModelProfile(pointerId)\n if (!profile) {\n profile = this.findModelProfileByModelName(pointerId)\n }\n if (profile && profile.isActive) {\n return profile\n }\n }\n return this.getDefaultModel()\n }\n\n let profile = this.findModelProfile(modelParam)\n if (profile && profile.isActive) {\n return profile\n }\n\n profile = this.findModelProfileByModelName(modelParam)\n if (profile && profile.isActive) {\n return profile\n }\n\n profile = this.findModelProfileByName(modelParam)\n if (profile && profile.isActive) {\n return profile\n }\n\n if (typeof modelParam === 'string') {\n const qualified = this.resolveProviderQualifiedModel(modelParam)\n if (qualified && qualified.isActive) {\n return qualified\n }\n }\n\n return this.getDefaultModel()\n }\n\n resolveModelWithInfo(modelParam: string | ModelPointerType): {\n success: boolean\n profile: ModelProfile | null\n error?: string\n } {\n const isPointer = ['main', 'task', 'compact', 'quick'].includes(modelParam)\n\n if (isPointer) {\n const pointerId =\n this.config.modelPointers?.[modelParam as ModelPointerType]\n if (!pointerId) {\n return {\n success: false,\n profile: null,\n error: `Model pointer '${modelParam}' is not configured. Use /model to set up models.`,\n }\n }\n\n let profile = this.findModelProfile(pointerId)\n if (!profile) {\n profile = this.findModelProfileByModelName(pointerId)\n }\n\n if (!profile) {\n return {\n success: false,\n profile: null,\n error: `Model pointer '${modelParam}' points to invalid model '${pointerId}'. Use /model to reconfigure.`,\n }\n }\n\n if (!profile.isActive) {\n return {\n success: false,\n profile: null,\n error: `Model '${profile.name}' (pointed by '${modelParam}') is inactive. Use /model to activate it.`,\n }\n }\n\n return {\n success: true,\n profile,\n }\n } else {\n let profile = this.findModelProfile(modelParam)\n if (!profile) {\n profile = this.findModelProfileByModelName(modelParam)\n }\n if (!profile) {\n profile = this.findModelProfileByName(modelParam)\n }\n\n if (!profile && typeof modelParam === 'string') {\n profile = this.resolveProviderQualifiedModel(modelParam)\n }\n\n if (!profile) {\n return {\n success: false,\n profile: null,\n error: `Model '${modelParam}' not found. Use /model to add models, or run 'pyb models list' to see configured profiles.`,\n }\n }\n\n if (!profile.isActive) {\n return {\n success: false,\n profile: null,\n error: `Model '${profile.name}' is inactive. Use /model to activate it.`,\n }\n }\n\n return {\n success: true,\n profile,\n }\n }\n }\n\n private resolveProviderQualifiedModel(input: string): ModelProfile | null {\n const trimmed = input.trim()\n const colonIndex = trimmed.indexOf(':')\n if (colonIndex <= 0 || colonIndex >= trimmed.length - 1) return null\n\n const provider = trimmed.slice(0, colonIndex).trim().toLowerCase()\n const modelOrName = trimmed.slice(colonIndex + 1).trim()\n if (!provider || !modelOrName) return null\n\n const providerProfiles = this.modelProfiles.filter(\n p => String(p.provider).trim().toLowerCase() === provider,\n )\n if (providerProfiles.length === 0) return null\n\n const byModelName = providerProfiles.find(p => p.modelName === modelOrName)\n if (byModelName) return byModelName\n\n const byName = providerProfiles.find(p => p.name === modelOrName)\n if (byName) return byName\n\n return null\n }\n\n private findModelProfile(modelName: string): ModelProfile | null {\n return this.modelProfiles.find(p => p.modelName === modelName) || null\n }\n\n private findModelProfileByModelName(modelName: string): ModelProfile | null {\n return this.modelProfiles.find(p => p.modelName === modelName) || null\n }\n\n private findModelProfileByName(name: string): ModelProfile | null {\n return this.modelProfiles.find(p => p.name === name) || null\n }\n\n private updateLastUsed(modelName: string): void {\n const profile = this.findModelProfile(modelName)\n if (profile) {\n profile.lastUsed = Date.now()\n }\n }\n}\n\nlet globalModelManager: ModelManager | null = null\n\nexport const getModelManager = (): ModelManager => {\n try {\n if (!globalModelManager) {\n const config = getGlobalConfig()\n if (!config) {\n debugLogger.warn('MODEL_MANAGER_GLOBAL_CONFIG_MISSING', {})\n globalModelManager = new ModelManager({\n modelProfiles: [],\n modelPointers: { main: '', task: '', compact: '', quick: '' },\n })\n } else {\n globalModelManager = new ModelManager(config)\n }\n }\n return globalModelManager\n } catch (error) {\n logError(error)\n debugLogger.error('MODEL_MANAGER_CREATE_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n return new ModelManager({\n modelProfiles: [],\n modelPointers: { main: '', task: '', compact: '', quick: '' },\n })\n }\n}\n\nexport const reloadModelManager = (): void => {\n globalModelManager = null\n getModelManager()\n}\n\nexport const getQuickModel = (): string => {\n const manager = getModelManager()\n const quickModel = manager.getModel('quick')\n return quickModel?.modelName || 'quick'\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["profile"]
|
|
7
|
-
}
|