pybao-cli 1.3.3 → 1.3.5
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/README.md +1 -440
- package/README.zh-CN.md +35 -35
- package/cli-acp.js +3 -3
- package/cli.js +4 -4
- package/dist/REPL-4YZC3LJO.js +42 -0
- package/dist/{acp-75HO2LBV.js → acp-SE4B3WSL.js} +43 -43
- package/dist/acp-SE4B3WSL.js.map +7 -0
- package/dist/{agentsValidate-6Z57ARKC.js → agentsValidate-LZISHE5F.js} +15 -15
- package/dist/agentsValidate-LZISHE5F.js.map +7 -0
- package/dist/{ask-NXXXCGY4.js → ask-5IDOHI4E.js} +26 -26
- package/dist/ask-5IDOHI4E.js.map +7 -0
- package/dist/{autoUpdater-PJMGNPUG.js → autoUpdater-ECGS62JN.js} +3 -3
- package/dist/{chunk-6RZIUY5K.js → chunk-3X2KNIS3.js} +5 -5
- package/dist/chunk-3X2KNIS3.js.map +7 -0
- package/dist/{chunk-VTVTEE5N.js → chunk-4U4MLA4R.js} +18 -18
- package/dist/chunk-4U4MLA4R.js.map +7 -0
- package/dist/{chunk-PCXUZ6AT.js → chunk-5AGDLQAW.js} +3 -3
- package/dist/chunk-5AGDLQAW.js.map +7 -0
- package/dist/{chunk-27GYWUY2.js → chunk-5JHD6MUL.js} +3 -3
- package/dist/chunk-5JHD6MUL.js.map +7 -0
- package/dist/{chunk-Z3HMXDXP.js → chunk-5JTKXNG4.js} +6 -6
- package/dist/chunk-5JTKXNG4.js.map +7 -0
- package/dist/{chunk-HIRIJ2LQ.js → chunk-5UJ7KHM7.js} +34 -33
- package/dist/chunk-5UJ7KHM7.js.map +7 -0
- package/dist/{chunk-JKGOGSFT.js → chunk-6BSVSUGW.js} +3 -3
- package/dist/{chunk-4XPNRLJG.js → chunk-AT7FEIUK.js} +7 -7
- package/dist/chunk-AT7FEIUK.js.map +7 -0
- package/dist/{chunk-T6GVXTNQ.js → chunk-B6IMQJZM.js} +7 -7
- package/dist/chunk-B6IMQJZM.js.map +7 -0
- package/dist/{chunk-ZJGXEWKF.js → chunk-BO63S4OP.js} +9 -9
- package/dist/chunk-BO63S4OP.js.map +7 -0
- package/dist/{chunk-6WELHKDA.js → chunk-C66U55GA.js} +11 -11
- package/dist/chunk-C66U55GA.js.map +7 -0
- package/dist/{chunk-3KNGJX7Q.js → chunk-CTKC574I.js} +11 -11
- package/dist/chunk-CTKC574I.js.map +7 -0
- package/dist/{chunk-QBHEERCF.js → chunk-E2R24MD6.js} +139 -129
- package/dist/chunk-E2R24MD6.js.map +7 -0
- package/dist/{chunk-3PDD7M4T.js → chunk-EGHIB45T.js} +5 -5
- package/dist/chunk-EGHIB45T.js.map +7 -0
- package/dist/{chunk-TXFCNQDE.js → chunk-G2W2B3A3.js} +25 -25
- package/dist/chunk-G2W2B3A3.js.map +7 -0
- package/dist/{chunk-XXFY63TM.js → chunk-HBWCMS4E.js} +7 -7
- package/dist/chunk-HBWCMS4E.js.map +7 -0
- package/dist/{chunk-3ZNSAB7B.js → chunk-KVP2VINI.js} +4 -4
- package/dist/chunk-KVP2VINI.js.map +7 -0
- package/dist/{chunk-JZDE77EH.js → chunk-MLU76W2R.js} +3 -3
- package/dist/{chunk-SWYJOV5E.js → chunk-MRHGVQ5T.js} +1 -1
- package/dist/{chunk-SWYJOV5E.js.map → chunk-MRHGVQ5T.js.map} +1 -1
- package/dist/{chunk-VRGR4ZTQ.js → chunk-MWPFU2KU.js} +2 -2
- package/dist/chunk-MWPFU2KU.js.map +7 -0
- package/dist/{chunk-7AAE6EO2.js → chunk-NAXCFXKW.js} +7 -7
- package/dist/chunk-NAXCFXKW.js.map +7 -0
- package/dist/{chunk-ICTEVBLN.js → chunk-NRKOXQT5.js} +11 -11
- package/dist/chunk-NRKOXQT5.js.map +7 -0
- package/dist/{chunk-BQA2EOUU.js → chunk-OTNHBUGC.js} +5 -5
- package/dist/chunk-OTNHBUGC.js.map +7 -0
- package/dist/{chunk-WPTPPOYN.js → chunk-PGLKCZAE.js} +2 -2
- package/dist/{chunk-UUNVJZWA.js → chunk-PMKSJ3AZ.js} +3 -3
- package/dist/chunk-PMKSJ3AZ.js.map +7 -0
- package/dist/{chunk-QIHB5PYM.js → chunk-R6WNNB47.js} +6 -6
- package/dist/{chunk-QIHB5PYM.js.map → chunk-R6WNNB47.js.map} +2 -2
- package/dist/{chunk-Q24ZGKIE.js → chunk-V3AKMLFM.js} +14 -14
- package/dist/chunk-V3AKMLFM.js.map +7 -0
- package/dist/{chunk-T7GPUZVK.js → chunk-VF3J4G4Z.js} +27 -27
- package/dist/chunk-VF3J4G4Z.js.map +7 -0
- package/dist/{chunk-4SNFQYCY.js → chunk-VKMVP2QQ.js} +12 -12
- package/dist/chunk-VKMVP2QQ.js.map +7 -0
- package/dist/chunk-XI4LTVYT.js.map +7 -0
- package/dist/{chunk-A6PUMROK.js → chunk-YDXW3IJK.js} +4 -4
- package/dist/{chunk-A6PUMROK.js.map → chunk-YDXW3IJK.js.map} +1 -1
- package/dist/{chunk-HB2P6645.js → chunk-ZZQ6WGYG.js} +4 -4
- package/dist/{cli-RFYBXM7F.js → cli-MBYLENJH.js} +119 -119
- package/dist/cli-MBYLENJH.js.map +7 -0
- package/dist/commands-ECIN5O3E.js +46 -0
- package/dist/{config-5OPX3H2K.js → config-45ETSXTS.js} +4 -4
- package/dist/{context-THRRBPFP.js → context-34YXWOMP.js} +5 -5
- package/dist/{customCommands-4XOZH44N.js → customCommands-J52KDUBX.js} +4 -4
- package/dist/{env-EL4KBHMB.js → env-ODQXSPMW.js} +8 -8
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/{llm-A3BCM4Q2.js → llm-BBYIGM3X.js} +34 -34
- package/dist/llm-BBYIGM3X.js.map +7 -0
- package/dist/{llmLazy-ZJSRLZVD.js → llmLazy-VHWTJ7FY.js} +1 -1
- package/dist/{loader-HZQBWO74.js → loader-TXZ3EJZO.js} +4 -4
- package/dist/{mcp-XKOJ55B2.js → mcp-SHR6KH2Y.js} +7 -7
- package/dist/{mentionProcessor-ANYU5MLF.js → mentionProcessor-CDELTWDV.js} +5 -5
- package/dist/{messages-75DL5XBP.js → messages-R4ICGYOI.js} +1 -1
- package/dist/{model-OPJGJZRC.js → model-AO4OE46E.js} +5 -5
- package/dist/{openai-DT54BAFP.js → openai-F7WL45GM.js} +5 -5
- package/dist/{outputStyles-TPFVI52O.js → outputStyles-BWAE3CTZ.js} +4 -4
- package/dist/{pluginRuntime-W74PYSZ4.js → pluginRuntime-AHKVCUSE.js} +8 -8
- package/dist/pluginRuntime-AHKVCUSE.js.map +7 -0
- package/dist/{pluginValidation-FALYRVI2.js → pluginValidation-YSUVH4GM.js} +6 -6
- package/dist/prompts-4AUAETB4.js +48 -0
- package/dist/pybAgentSessionId-3HDHCCI5.js +13 -0
- package/dist/pybAgentSessionLoad-5FMAFO4P.js +18 -0
- package/dist/pybAgentSessionResume-GCVJHXVV.js +16 -0
- package/dist/{kodeAgentStreamJson-3T26CHCP.js → pybAgentStreamJson-UG22YE4Z.js} +5 -5
- package/dist/{kodeAgentStreamJsonSession-BZS2VDCY.js → pybAgentStreamJsonSession-BRWXPZ5Z.js} +9 -9
- package/dist/pybAgentStreamJsonSession-BRWXPZ5Z.js.map +7 -0
- package/dist/{kodeAgentStructuredStdio-TNB6U6SP.js → pybAgentStructuredStdio-QDF6UGAJ.js} +3 -3
- package/dist/{kodeHooks-VUAWIY2D.js → pybHooks-WXEUSK2Y.js} +7 -7
- package/dist/query-JNWSOFYQ.js +50 -0
- package/dist/{ripgrep-XJGSUBG7.js → ripgrep-ON745BFW.js} +3 -3
- package/dist/{skillMarketplace-AUGKNCPW.js → skillMarketplace-ZLW4PQFC.js} +3 -3
- package/dist/{state-DQYRXKTG.js → state-E57SH5ZM.js} +2 -2
- package/dist/{theme-MS5HDUBJ.js → theme-XJG6O2YU.js} +5 -5
- package/dist/{toolPermissionSettings-4MPZVYDR.js → toolPermissionSettings-BXLCU7BK.js} +6 -6
- package/dist/tools-UJZBVLIU.js +47 -0
- package/dist/{userInput-F2PGBRFU.js → userInput-IVM4BDPE.js} +34 -34
- package/dist/userInput-IVM4BDPE.js.map +7 -0
- package/package.json +1 -1
- package/scripts/binary-utils.cjs +8 -8
- package/scripts/cli-acp-wrapper.cjs +3 -3
- package/scripts/cli-wrapper.cjs +4 -4
- package/scripts/postinstall.js +7 -7
- package/dist/REPL-WPV32MTF.js +0 -42
- package/dist/acp-75HO2LBV.js.map +0 -7
- package/dist/agentsValidate-6Z57ARKC.js.map +0 -7
- package/dist/ask-NXXXCGY4.js.map +0 -7
- package/dist/chunk-27GYWUY2.js.map +0 -7
- package/dist/chunk-3KNGJX7Q.js.map +0 -7
- package/dist/chunk-3PDD7M4T.js.map +0 -7
- package/dist/chunk-3ZNSAB7B.js.map +0 -7
- package/dist/chunk-4SNFQYCY.js.map +0 -7
- package/dist/chunk-4XPNRLJG.js.map +0 -7
- package/dist/chunk-6RZIUY5K.js.map +0 -7
- package/dist/chunk-6WELHKDA.js.map +0 -7
- package/dist/chunk-7AAE6EO2.js.map +0 -7
- package/dist/chunk-BQA2EOUU.js.map +0 -7
- package/dist/chunk-HIRIJ2LQ.js.map +0 -7
- package/dist/chunk-ICTEVBLN.js.map +0 -7
- package/dist/chunk-M624LT6O.js.map +0 -7
- package/dist/chunk-PCXUZ6AT.js.map +0 -7
- package/dist/chunk-Q24ZGKIE.js.map +0 -7
- package/dist/chunk-QBHEERCF.js.map +0 -7
- package/dist/chunk-T6GVXTNQ.js.map +0 -7
- package/dist/chunk-T7GPUZVK.js.map +0 -7
- package/dist/chunk-TXFCNQDE.js.map +0 -7
- package/dist/chunk-UUNVJZWA.js.map +0 -7
- package/dist/chunk-VRGR4ZTQ.js.map +0 -7
- package/dist/chunk-VTVTEE5N.js.map +0 -7
- package/dist/chunk-XXFY63TM.js.map +0 -7
- package/dist/chunk-Z3HMXDXP.js.map +0 -7
- package/dist/chunk-ZJGXEWKF.js.map +0 -7
- package/dist/cli-RFYBXM7F.js.map +0 -7
- package/dist/commands-YOXMODDO.js +0 -46
- package/dist/kodeAgentSessionId-PROTVRBR.js +0 -13
- package/dist/kodeAgentSessionLoad-UMPV7MC3.js +0 -18
- package/dist/kodeAgentSessionResume-YJS4FVQM.js +0 -16
- package/dist/kodeAgentStreamJsonSession-BZS2VDCY.js.map +0 -7
- package/dist/llm-A3BCM4Q2.js.map +0 -7
- package/dist/pluginRuntime-W74PYSZ4.js.map +0 -7
- package/dist/prompts-J4TPRMJ3.js +0 -48
- package/dist/query-K3QKBVDN.js +0 -50
- package/dist/tools-QW6SIJLJ.js +0 -47
- package/dist/userInput-F2PGBRFU.js.map +0 -7
- /package/dist/{REPL-WPV32MTF.js.map → REPL-4YZC3LJO.js.map} +0 -0
- /package/dist/{autoUpdater-PJMGNPUG.js.map → autoUpdater-ECGS62JN.js.map} +0 -0
- /package/dist/{chunk-JKGOGSFT.js.map → chunk-6BSVSUGW.js.map} +0 -0
- /package/dist/{chunk-JZDE77EH.js.map → chunk-MLU76W2R.js.map} +0 -0
- /package/dist/{chunk-WPTPPOYN.js.map → chunk-PGLKCZAE.js.map} +0 -0
- /package/dist/{chunk-M624LT6O.js → chunk-XI4LTVYT.js} +0 -0
- /package/dist/{chunk-HB2P6645.js.map → chunk-ZZQ6WGYG.js.map} +0 -0
- /package/dist/{commands-YOXMODDO.js.map → commands-ECIN5O3E.js.map} +0 -0
- /package/dist/{config-5OPX3H2K.js.map → config-45ETSXTS.js.map} +0 -0
- /package/dist/{context-THRRBPFP.js.map → context-34YXWOMP.js.map} +0 -0
- /package/dist/{customCommands-4XOZH44N.js.map → customCommands-J52KDUBX.js.map} +0 -0
- /package/dist/{env-EL4KBHMB.js.map → env-ODQXSPMW.js.map} +0 -0
- /package/dist/{kodeAgentSessionId-PROTVRBR.js.map → llmLazy-VHWTJ7FY.js.map} +0 -0
- /package/dist/{kodeAgentSessionLoad-UMPV7MC3.js.map → loader-TXZ3EJZO.js.map} +0 -0
- /package/dist/{kodeAgentSessionResume-YJS4FVQM.js.map → mcp-SHR6KH2Y.js.map} +0 -0
- /package/dist/{mentionProcessor-ANYU5MLF.js.map → mentionProcessor-CDELTWDV.js.map} +0 -0
- /package/dist/{kodeAgentStreamJson-3T26CHCP.js.map → messages-R4ICGYOI.js.map} +0 -0
- /package/dist/{kodeAgentStructuredStdio-TNB6U6SP.js.map → model-AO4OE46E.js.map} +0 -0
- /package/dist/{kodeHooks-VUAWIY2D.js.map → openai-F7WL45GM.js.map} +0 -0
- /package/dist/{llmLazy-ZJSRLZVD.js.map → outputStyles-BWAE3CTZ.js.map} +0 -0
- /package/dist/{loader-HZQBWO74.js.map → pluginValidation-YSUVH4GM.js.map} +0 -0
- /package/dist/{mcp-XKOJ55B2.js.map → prompts-4AUAETB4.js.map} +0 -0
- /package/dist/{messages-75DL5XBP.js.map → pybAgentSessionId-3HDHCCI5.js.map} +0 -0
- /package/dist/{model-OPJGJZRC.js.map → pybAgentSessionLoad-5FMAFO4P.js.map} +0 -0
- /package/dist/{openai-DT54BAFP.js.map → pybAgentSessionResume-GCVJHXVV.js.map} +0 -0
- /package/dist/{outputStyles-TPFVI52O.js.map → pybAgentStreamJson-UG22YE4Z.js.map} +0 -0
- /package/dist/{pluginValidation-FALYRVI2.js.map → pybAgentStructuredStdio-QDF6UGAJ.js.map} +0 -0
- /package/dist/{prompts-J4TPRMJ3.js.map → pybHooks-WXEUSK2Y.js.map} +0 -0
- /package/dist/{query-K3QKBVDN.js.map → query-JNWSOFYQ.js.map} +0 -0
- /package/dist/{ripgrep-XJGSUBG7.js.map → ripgrep-ON745BFW.js.map} +0 -0
- /package/dist/{skillMarketplace-AUGKNCPW.js.map → skillMarketplace-ZLW4PQFC.js.map} +0 -0
- /package/dist/{state-DQYRXKTG.js.map → state-E57SH5ZM.js.map} +0 -0
- /package/dist/{theme-MS5HDUBJ.js.map → theme-XJG6O2YU.js.map} +0 -0
- /package/dist/{toolPermissionSettings-4MPZVYDR.js.map → toolPermissionSettings-BXLCU7BK.js.map} +0 -0
- /package/dist/{tools-QW6SIJLJ.js.map → tools-UJZBVLIU.js.map} +0 -0
|
@@ -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-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-E2R24MD6.js";
|
|
7
|
+
import "./chunk-HBWCMS4E.js";
|
|
8
|
+
import "./chunk-AT7FEIUK.js";
|
|
9
|
+
import "./chunk-R6WNNB47.js";
|
|
10
|
+
import "./chunk-V3AKMLFM.js";
|
|
11
|
+
import "./chunk-BO63S4OP.js";
|
|
12
|
+
import "./chunk-C66U55GA.js";
|
|
13
13
|
import "./chunk-5P7HBXTD.js";
|
|
14
14
|
import "./chunk-3DFBSQIT.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-5UJ7KHM7.js";
|
|
16
|
+
import "./chunk-B6IMQJZM.js";
|
|
17
|
+
import "./chunk-VKMVP2QQ.js";
|
|
18
|
+
import "./chunk-PGLKCZAE.js";
|
|
19
|
+
import "./chunk-ZZQ6WGYG.js";
|
|
20
|
+
import "./chunk-EGHIB45T.js";
|
|
21
|
+
import "./chunk-VF3J4G4Z.js";
|
|
22
|
+
import "./chunk-3X2KNIS3.js";
|
|
23
|
+
import "./chunk-NAXCFXKW.js";
|
|
24
24
|
import "./chunk-UNNVICVU.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-PMKSJ3AZ.js";
|
|
26
26
|
import "./chunk-ERMQRV55.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-NRKOXQT5.js";
|
|
28
28
|
import "./chunk-A3BVXXA3.js";
|
|
29
29
|
import "./chunk-BJSWTHRM.js";
|
|
30
30
|
import {
|
|
31
31
|
createUserMessage
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-MRHGVQ5T.js";
|
|
33
33
|
import {
|
|
34
34
|
getModelManager
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-5JTKXNG4.js";
|
|
36
36
|
import {
|
|
37
37
|
getContext
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
38
|
+
} from "./chunk-KVP2VINI.js";
|
|
39
|
+
import "./chunk-OTNHBUGC.js";
|
|
40
|
+
import "./chunk-MLU76W2R.js";
|
|
41
41
|
import "./chunk-RQVLBMP7.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-CTKC574I.js";
|
|
43
43
|
import {
|
|
44
44
|
getMessagesPath,
|
|
45
45
|
overwriteLog,
|
|
46
46
|
setCwd
|
|
47
|
-
} from "./chunk-
|
|
48
|
-
import "./chunk-
|
|
47
|
+
} from "./chunk-G2W2B3A3.js";
|
|
48
|
+
import "./chunk-YDXW3IJK.js";
|
|
49
49
|
import {
|
|
50
50
|
getTotalCost
|
|
51
51
|
} from "./chunk-OUXHGDLH.js";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/app/ask.ts"],
|
|
4
|
+
"sourcesContent": ["import { last } from 'lodash-es'\nimport { Command } from '@commands'\nimport { getSystemPrompt } from '@constants/prompts'\nimport { getContext } from '@context'\nimport { getTotalCost } from '@costTracker'\nimport { Message, query } from '@query'\nimport type { CanUseToolFn } from '@pyb-types/canUseTool'\nimport { Tool } from '@tool'\nimport { getModelManager } from '@utils/model'\nimport { setCwd } from '@utils/state'\nimport { getMessagesPath, overwriteLog } from '@utils/log'\nimport { createUserMessage } from '@utils/messages'\n\ntype Props = {\n commands: Command[]\n safeMode?: boolean\n hasPermissionsToUseTool: CanUseToolFn\n messageLogName: string\n prompt: string\n cwd: string\n tools: Tool[]\n verbose?: boolean\n initialMessages?: Message[]\n persistSession?: boolean\n}\n\nexport async function ask({\n commands,\n safeMode,\n hasPermissionsToUseTool,\n messageLogName,\n prompt,\n cwd,\n tools,\n verbose = false,\n initialMessages,\n persistSession = true,\n}: Props): Promise<{\n resultText: string\n totalCost: number\n messageHistoryFile: string\n}> {\n await setCwd(cwd)\n const message = createUserMessage(prompt)\n const messages: Message[] = [...(initialMessages ?? []), message]\n\n const [systemPrompt, context, model] = await Promise.all([\n getSystemPrompt(),\n getContext(),\n getModelManager().getModelName('main'),\n ])\n\n for await (const m of query(\n messages,\n systemPrompt,\n context,\n hasPermissionsToUseTool,\n {\n options: {\n commands,\n tools,\n verbose,\n safeMode,\n forkNumber: 0,\n messageLogName: 'unused',\n maxThinkingTokens: 0,\n persistSession,\n },\n abortController: new AbortController(),\n messageId: undefined,\n readFileTimestamps: {},\n setToolJSX: () => {},\n },\n )) {\n messages.push(m)\n }\n\n const result = last(messages)\n if (!result || result.type !== 'assistant') {\n throw new Error('Expected content to be an assistant message')\n }\n\n const textContent = result.message.content.find(c => c.type === 'text')\n if (!textContent) {\n throw new Error(\n `Expected at least one text content item, but got ${JSON.stringify(\n result.message.content,\n null,\n 2,\n )}`,\n )\n }\n\n const messageHistoryFile = getMessagesPath(messageLogName, 0, 0)\n overwriteLog(messageHistoryFile, messages)\n\n return {\n resultText: textContent.text,\n totalCost: getTotalCost(),\n messageHistoryFile,\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY;AA0BrB,eAAsB,IAAI;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,iBAAiB;AACnB,GAIG;AACD,QAAM,OAAO,GAAG;AAChB,QAAM,UAAU,kBAAkB,MAAM;AACxC,QAAM,WAAsB,CAAC,GAAI,mBAAmB,CAAC,GAAI,OAAO;AAEhE,QAAM,CAAC,cAAc,SAAS,KAAK,IAAI,MAAM,QAAQ,IAAI;AAAA,IACvD,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,gBAAgB,EAAE,aAAa,MAAM;AAAA,EACvC,CAAC;AAED,mBAAiB,KAAK;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,mBAAmB;AAAA,QACnB;AAAA,MACF;AAAA,MACA,iBAAiB,IAAI,gBAAgB;AAAA,MACrC,WAAW;AAAA,MACX,oBAAoB,CAAC;AAAA,MACrB,YAAY,MAAM;AAAA,MAAC;AAAA,IACrB;AAAA,EACF,GAAG;AACD,aAAS,KAAK,CAAC;AAAA,EACjB;AAEA,QAAM,SAAS,KAAK,QAAQ;AAC5B,MAAI,CAAC,UAAU,OAAO,SAAS,aAAa;AAC1C,UAAM,IAAI,MAAM,6CAA6C;AAAA,EAC/D;AAEA,QAAM,cAAc,OAAO,QAAQ,QAAQ,KAAK,OAAK,EAAE,SAAS,MAAM;AACtE,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI;AAAA,MACR,oDAAoD,KAAK;AAAA,QACvD,OAAO,QAAQ;AAAA,QACf;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,qBAAqB,gBAAgB,gBAAgB,GAAG,CAAC;AAC/D,eAAa,oBAAoB,QAAQ;AAEzC,SAAO;AAAA,IACL,YAAY,YAAY;AAAA,IACxB,WAAW,aAAa;AAAA,IACxB;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -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-6BSVSUGW.js";
|
|
9
|
+
import "./chunk-G2W2B3A3.js";
|
|
10
|
+
import "./chunk-YDXW3IJK.js";
|
|
11
11
|
import "./chunk-BH3Y62E3.js";
|
|
12
12
|
export {
|
|
13
13
|
assertMinVersion,
|
|
@@ -4,18 +4,18 @@ import {
|
|
|
4
4
|
getSettingsFileCandidates,
|
|
5
5
|
loadSettingsWithLegacyFallback,
|
|
6
6
|
saveSettingsToPrimaryAndSyncLegacy
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-NAXCFXKW.js";
|
|
8
8
|
import {
|
|
9
9
|
createDefaultToolPermissionContext,
|
|
10
10
|
isPersistableToolPermissionDestination
|
|
11
11
|
} from "./chunk-UNNVICVU.js";
|
|
12
12
|
import {
|
|
13
13
|
getCurrentProjectConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-MLU76W2R.js";
|
|
15
15
|
import {
|
|
16
16
|
getCwd,
|
|
17
17
|
logError
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-G2W2B3A3.js";
|
|
19
19
|
|
|
20
20
|
// src/utils/permissions/toolPermissionSettings.ts
|
|
21
21
|
function uniqueStrings(value) {
|
|
@@ -41,7 +41,7 @@ function getPrimarySettingsFilePathForDestination(options) {
|
|
|
41
41
|
function loadToolPermissionContextFromDisk(options) {
|
|
42
42
|
const projectDir = options?.projectDir ?? getCwd();
|
|
43
43
|
const homeDir = options?.homeDir;
|
|
44
|
-
const
|
|
44
|
+
const includePybProjectConfig = options?.includePybProjectConfig ?? true;
|
|
45
45
|
const base = createDefaultToolPermissionContext({
|
|
46
46
|
isBypassPermissionsModeAvailable: options?.isBypassPermissionsModeAvailable ?? false
|
|
47
47
|
});
|
|
@@ -72,7 +72,7 @@ function loadToolPermissionContextFromDisk(options) {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
if (
|
|
75
|
+
if (includePybProjectConfig) {
|
|
76
76
|
try {
|
|
77
77
|
const cfg = getCurrentProjectConfig();
|
|
78
78
|
const allow = Array.isArray(cfg.allowedTools) ? cfg.allowedTools : [];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/utils/permissions/toolPermissionSettings.ts"],
|
|
4
|
+
"sourcesContent": ["import type {\n ToolPermissionContext,\n ToolPermissionContextUpdate,\n ToolPermissionRuleBehavior,\n ToolPermissionUpdateDestination,\n} from '@pyb-types/toolPermissionContext'\nimport {\n createDefaultToolPermissionContext,\n isPersistableToolPermissionDestination,\n} from '@pyb-types/toolPermissionContext'\nimport { getCurrentProjectConfig } from '@utils/config'\nimport { getCwd } from '@utils/state'\nimport { logError } from '@utils/log'\nimport {\n getSettingsFileCandidates,\n loadSettingsWithLegacyFallback,\n saveSettingsToPrimaryAndSyncLegacy,\n type SettingsFile,\n} from '@utils/config/settingsFiles'\n\ntype SettingsPermissions = {\n allow?: unknown\n deny?: unknown\n ask?: unknown\n additionalDirectories?: unknown\n}\n\ntype SettingsFileWithPermissions = {\n permissions?: SettingsPermissions\n [key: string]: unknown\n}\n\nfunction uniqueStrings(value: unknown): string[] {\n if (!Array.isArray(value)) return []\n const out: string[] = []\n const seen = new Set<string>()\n for (const item of value) {\n if (typeof item !== 'string') continue\n if (seen.has(item)) continue\n seen.add(item)\n out.push(item)\n }\n return out\n}\n\nfunction getPrimarySettingsFilePathForDestination(options: {\n destination: ToolPermissionUpdateDestination\n projectDir?: string\n homeDir?: string\n}): string | null {\n const candidates = getSettingsFileCandidates({\n destination: options.destination as any,\n projectDir: options.projectDir,\n homeDir: options.homeDir,\n })\n return candidates?.primary ?? null\n}\n\nexport function loadToolPermissionContextFromDisk(options?: {\n projectDir?: string\n homeDir?: string\n includePybProjectConfig?: boolean\n isBypassPermissionsModeAvailable?: boolean\n}): ToolPermissionContext {\n const projectDir = options?.projectDir ?? getCwd()\n const homeDir = options?.homeDir\n const includePybProjectConfig = options?.includePybProjectConfig ?? true\n\n const base = createDefaultToolPermissionContext({\n isBypassPermissionsModeAvailable:\n options?.isBypassPermissionsModeAvailable ?? false,\n })\n\n const destinations: ToolPermissionUpdateDestination[] = [\n 'userSettings',\n 'projectSettings',\n 'localSettings',\n ]\n\n for (const destination of destinations) {\n const settings = loadSettingsWithLegacyFallback({\n destination: destination as any,\n projectDir,\n homeDir,\n migrateToPrimary: true,\n }).settings as SettingsFileWithPermissions | null\n const perms = settings?.permissions\n const allow = uniqueStrings(perms?.allow)\n const deny = uniqueStrings(perms?.deny)\n const ask = uniqueStrings(perms?.ask)\n const additionalDirectories = uniqueStrings(perms?.additionalDirectories)\n\n if (allow.length > 0) base.alwaysAllowRules[destination] = allow\n if (deny.length > 0) base.alwaysDenyRules[destination] = deny\n if (ask.length > 0) base.alwaysAskRules[destination] = ask\n\n for (const dir of additionalDirectories) {\n base.additionalWorkingDirectories.set(dir, {\n path: dir,\n source: destination,\n })\n }\n }\n\n if (includePybProjectConfig) {\n try {\n const cfg = getCurrentProjectConfig()\n const allow = Array.isArray(cfg.allowedTools) ? cfg.allowedTools : []\n const deny = Array.isArray((cfg as any).deniedTools)\n ? (cfg as any).deniedTools\n : []\n const ask = Array.isArray((cfg as any).askedTools)\n ? (cfg as any).askedTools\n : []\n\n if (allow.length > 0) {\n const prev = base.alwaysAllowRules.localSettings ?? []\n base.alwaysAllowRules.localSettings = [...new Set([...prev, ...allow])]\n }\n if (deny.length > 0) {\n const prev = base.alwaysDenyRules.localSettings ?? []\n base.alwaysDenyRules.localSettings = [...new Set([...prev, ...deny])]\n }\n if (ask.length > 0) {\n const prev = base.alwaysAskRules.localSettings ?? []\n base.alwaysAskRules.localSettings = [...new Set([...prev, ...ask])]\n }\n } catch (error) {\n logError(error)\n }\n }\n\n return base\n}\n\nfunction getOrCreatePermissions(\n settings: SettingsFileWithPermissions,\n): Required<SettingsFileWithPermissions>['permissions'] {\n const existing = settings.permissions\n if (existing && typeof existing === 'object') {\n return existing as SettingsPermissions\n }\n settings.permissions = {}\n return settings.permissions as SettingsPermissions\n}\n\nfunction behaviorKey(\n behavior: ToolPermissionRuleBehavior,\n): keyof SettingsPermissions {\n switch (behavior) {\n case 'allow':\n return 'allow'\n case 'deny':\n return 'deny'\n case 'ask':\n return 'ask'\n }\n}\n\nexport function persistToolPermissionUpdateToDisk(options: {\n update: ToolPermissionContextUpdate\n projectDir?: string\n homeDir?: string\n}): { persisted: boolean } {\n const update = options.update\n if (!isPersistableToolPermissionDestination(update.destination)) {\n return { persisted: false }\n }\n if (update.type === 'setMode') {\n return { persisted: false }\n }\n\n const filePath = getPrimarySettingsFilePathForDestination({\n destination: update.destination,\n projectDir: options.projectDir,\n homeDir: options.homeDir,\n })\n if (!filePath) return { persisted: false }\n\n const existing =\n (loadSettingsWithLegacyFallback({\n destination: update.destination as any,\n projectDir: options.projectDir,\n homeDir: options.homeDir,\n migrateToPrimary: true,\n }).settings as SettingsFileWithPermissions | null) ?? {}\n const permissions = getOrCreatePermissions(existing)\n\n try {\n switch (update.type) {\n case 'addRules':\n case 'replaceRules':\n case 'removeRules': {\n const key = behaviorKey(update.behavior)\n const current = uniqueStrings(permissions[key])\n\n if (update.type === 'addRules') {\n const merged = [...new Set([...current, ...update.rules])]\n permissions[key] = merged\n } else if (update.type === 'replaceRules') {\n permissions[key] = uniqueStrings(update.rules)\n } else {\n const toRemove = new Set(update.rules)\n permissions[key] = current.filter(rule => !toRemove.has(rule))\n }\n break\n }\n case 'addDirectories':\n case 'removeDirectories': {\n const current = uniqueStrings(permissions.additionalDirectories)\n if (update.type === 'addDirectories') {\n permissions.additionalDirectories = [\n ...new Set([...current, ...update.directories]),\n ]\n } else {\n const toRemove = new Set(update.directories)\n permissions.additionalDirectories = current.filter(\n dir => !toRemove.has(dir),\n )\n }\n break\n }\n default:\n return { persisted: false }\n }\n\n saveSettingsToPrimaryAndSyncLegacy({\n destination: update.destination as any,\n projectDir: options.projectDir,\n homeDir: options.homeDir,\n settings: existing as SettingsFile,\n syncLegacyIfExists: true,\n })\n return { persisted: true }\n } catch (error) {\n logError(error)\n return { persisted: false }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -26,42 +26,42 @@ import {
|
|
|
26
26
|
hasPermissionsToUseTool,
|
|
27
27
|
hasReadPermission,
|
|
28
28
|
query
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-E2R24MD6.js";
|
|
30
30
|
import {
|
|
31
31
|
FallbackToolUseRejectedMessage,
|
|
32
32
|
MCPTool,
|
|
33
33
|
getClients,
|
|
34
34
|
getMCPTools
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-AT7FEIUK.js";
|
|
36
36
|
import {
|
|
37
37
|
queryLLM
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-ZZQ6WGYG.js";
|
|
39
39
|
import {
|
|
40
40
|
generateAgentId
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-PMKSJ3AZ.js";
|
|
42
42
|
import {
|
|
43
43
|
getActiveAgents,
|
|
44
44
|
getAgentByType,
|
|
45
45
|
getAvailableAgentTypes
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-NRKOXQT5.js";
|
|
47
47
|
import {
|
|
48
48
|
INTERRUPT_MESSAGE,
|
|
49
49
|
createAssistantMessage,
|
|
50
50
|
createUserMessage,
|
|
51
51
|
getLastAssistantMessageId
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-MRHGVQ5T.js";
|
|
53
53
|
import {
|
|
54
54
|
getModelManager
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-5JTKXNG4.js";
|
|
56
56
|
import {
|
|
57
57
|
getContext
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-KVP2VINI.js";
|
|
59
59
|
import {
|
|
60
60
|
getTheme
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-OTNHBUGC.js";
|
|
62
62
|
import {
|
|
63
63
|
debug
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-CTKC574I.js";
|
|
65
65
|
import {
|
|
66
66
|
BunShell,
|
|
67
67
|
getCwd,
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
logError,
|
|
71
71
|
overwriteLog,
|
|
72
72
|
readTaskOutput
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-G2W2B3A3.js";
|
|
74
74
|
import {
|
|
75
75
|
formatDuration,
|
|
76
76
|
formatNumber
|
|
@@ -90,7 +90,7 @@ import { join } from "path";
|
|
|
90
90
|
import { homedir } from "os";
|
|
91
91
|
import { randomUUID } from "crypto";
|
|
92
92
|
function getExpertChatDirectory() {
|
|
93
|
-
const configDir = process.env.
|
|
93
|
+
const configDir = process.env.PYB_CONFIG_DIR ?? process.env.ANYKODE_CONFIG_DIR ?? join(homedir(), ".pyb");
|
|
94
94
|
const expertChatDir = join(configDir, "expert-chats");
|
|
95
95
|
if (!existsSync(expertChatDir)) {
|
|
96
96
|
mkdirSync(expertChatDir, { recursive: true });
|
|
@@ -588,7 +588,7 @@ function isTruthyEnv(value) {
|
|
|
588
588
|
return ["1", "true", "yes", "on"].includes(value.trim().toLowerCase());
|
|
589
589
|
}
|
|
590
590
|
function isPackagedRuntime() {
|
|
591
|
-
if (isTruthyEnv(process.env.
|
|
591
|
+
if (isTruthyEnv(process.env.PYB_PACKAGED)) return true;
|
|
592
592
|
try {
|
|
593
593
|
const exec = (process.execPath || "").split(/[\\/]/).pop()?.toLowerCase();
|
|
594
594
|
if (!exec) return false;
|
|
@@ -643,8 +643,8 @@ function truncateTextForDisplay(text, options) {
|
|
|
643
643
|
};
|
|
644
644
|
}
|
|
645
645
|
function maybeTruncateVerboseToolOutput(text, options) {
|
|
646
|
-
const maxLinesEnv = Number(process.env.
|
|
647
|
-
const maxCharsEnv = Number(process.env.
|
|
646
|
+
const maxLinesEnv = Number(process.env.PYB_TOOL_OUTPUT_MAX_LINES ?? "");
|
|
647
|
+
const maxCharsEnv = Number(process.env.PYB_TOOL_OUTPUT_MAX_CHARS ?? "");
|
|
648
648
|
const envOverrides = {
|
|
649
649
|
maxLines: Number.isFinite(maxLinesEnv) && maxLinesEnv > 0 ? maxLinesEnv : void 0,
|
|
650
650
|
maxChars: Number.isFinite(maxCharsEnv) && maxCharsEnv > 0 ? maxCharsEnv : void 0
|
|
@@ -653,7 +653,7 @@ function maybeTruncateVerboseToolOutput(text, options) {
|
|
|
653
653
|
maxLines: envOverrides.maxLines ?? options?.maxLines,
|
|
654
654
|
maxChars: envOverrides.maxChars ?? options?.maxChars
|
|
655
655
|
};
|
|
656
|
-
const fullAllowed = isTruthyEnv(process.env.
|
|
656
|
+
const fullAllowed = isTruthyEnv(process.env.PYB_TOOL_OUTPUT_FULL);
|
|
657
657
|
if (!isPackagedRuntime() || fullAllowed) {
|
|
658
658
|
return { text: String(text ?? ""), truncated: false };
|
|
659
659
|
}
|
|
@@ -1236,7 +1236,7 @@ function tryLoadTypeScriptModule(projectCwd) {
|
|
|
1236
1236
|
if (cachedTypeScript?.cwd === projectCwd) return cachedTypeScript.module;
|
|
1237
1237
|
try {
|
|
1238
1238
|
const requireFromCwd = createRequire(
|
|
1239
|
-
pathToFileURL(join2(projectCwd, "
|
|
1239
|
+
pathToFileURL(join2(projectCwd, "__pyb_lsp__.js"))
|
|
1240
1240
|
);
|
|
1241
1241
|
const mod = requireFromCwd("typescript");
|
|
1242
1242
|
cachedTypeScript = { cwd: projectCwd, module: mod };
|
|
@@ -2275,7 +2275,7 @@ var TaskTool = {
|
|
|
2275
2275
|
const effectivePrompt = input.prompt;
|
|
2276
2276
|
const normalizedAgentModel = normalizeAgentModelName(agentConfig.model);
|
|
2277
2277
|
const defaultSubagentModel = "task";
|
|
2278
|
-
const envSubagentModel = process.env.
|
|
2278
|
+
const envSubagentModel = process.env.PYB_SUBAGENT_MODEL ?? process.env.CLAUDE_CODE_SUBAGENT_MODEL;
|
|
2279
2279
|
const modelToUse = (typeof envSubagentModel === "string" && envSubagentModel.trim() ? envSubagentModel.trim() : void 0) || modelEnumToPointer(input.model) || (normalizedAgentModel === "inherit" ? parentModel || defaultSubagentModel : normalizedAgentModel) || defaultSubagentModel;
|
|
2280
2280
|
const toolFilter = agentConfig.tools;
|
|
2281
2281
|
let tools = await getTaskTools(safeMode);
|