pybao-cli 1.5.42 → 1.5.44
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-RDCLK6RR.js +53 -0
- package/dist/{acp-TVN3WHDY.js → acp-5JW2Z5BK.js} +32 -30
- package/dist/{acp-TVN3WHDY.js.map → acp-5JW2Z5BK.js.map} +1 -1
- package/dist/{agentsValidate-GHHBQ2V3.js → agentsValidate-YEK5UGHS.js} +7 -7
- package/dist/{ask-Q2KBAHNA.js → ask-SWVOM377.js} +32 -30
- package/dist/{ask-Q2KBAHNA.js.map → ask-SWVOM377.js.map} +1 -1
- package/dist/{autoUpdater-65UHQALF.js → autoUpdater-PL7DMA64.js} +3 -3
- package/dist/chunk-2RXKUCFS.js +56 -0
- package/dist/chunk-2RXKUCFS.js.map +7 -0
- package/dist/{chunk-3NASYKEW.js → chunk-2YBIQGI2.js} +1 -1
- package/dist/{chunk-3NASYKEW.js.map → chunk-2YBIQGI2.js.map} +1 -1
- package/dist/{chunk-N4EHD2WQ.js → chunk-33VCHOW6.js} +1 -1
- package/dist/{chunk-HMZHP623.js → chunk-3SI4IQ7A.js} +5 -5
- package/dist/{chunk-HMZHP623.js.map → chunk-3SI4IQ7A.js.map} +1 -1
- package/dist/{chunk-TNCM6TNK.js → chunk-4M455XYG.js} +3 -3
- package/dist/{chunk-W57S56SZ.js → chunk-7B4Y7L5M.js} +2 -2
- package/dist/{chunk-2VA64CKU.js → chunk-ATNQYVGD.js} +3 -3
- package/dist/{chunk-2ONDOJ32.js → chunk-BJ4E3H6T.js} +2 -2
- package/dist/{chunk-EQBLVRTX.js → chunk-BJTIYM4B.js} +2 -2
- package/dist/{chunk-S2TCT35Y.js → chunk-BOMJT46M.js} +2 -2
- package/dist/{chunk-SY5A3V3Q.js → chunk-BVVAZ4DR.js} +1 -1
- package/dist/{chunk-I5XULU7R.js → chunk-EEJ5JI2U.js} +3 -3
- package/dist/{chunk-Y2Z256D7.js → chunk-F6HXSL5C.js} +188 -62
- package/dist/{chunk-Y2Z256D7.js.map → chunk-F6HXSL5C.js.map} +3 -3
- package/dist/{chunk-5G4RB7MC.js → chunk-FAQR7BHA.js} +1 -1
- package/dist/{chunk-VWI4TG6L.js → chunk-FLDJME26.js} +3 -3
- package/dist/{chunk-FPJL5RXB.js → chunk-GSNBOX7K.js} +4 -4
- package/dist/{chunk-XGYRZA24.js → chunk-HSZ7IBIM.js} +3 -3
- package/dist/{chunk-6JEIJLDL.js → chunk-HY5AAVJ7.js} +8 -5
- package/dist/{chunk-6JEIJLDL.js.map → chunk-HY5AAVJ7.js.map} +2 -2
- package/dist/{chunk-DEZYDCUH.js → chunk-JZXFCQUD.js} +5 -14
- package/dist/chunk-JZXFCQUD.js.map +7 -0
- package/dist/{chunk-LMXJDGUG.js → chunk-KDXRWYUT.js} +1 -1
- package/dist/{chunk-3I5AJWST.js → chunk-KVS6BLCL.js} +1 -1
- package/dist/{chunk-LW26RTGS.js → chunk-L6WSTLLB.js} +1 -1
- package/dist/{chunk-W2ZTYIRJ.js → chunk-LR2HWOLF.js} +1 -1
- package/dist/{chunk-YIQDKWRI.js → chunk-LSQI3ED4.js} +2 -2
- package/dist/{chunk-FINT4Z7B.js → chunk-NBZOYYDD.js} +2 -2
- package/dist/{chunk-ZKDULVN5.js → chunk-O43ZKVDQ.js} +1 -1
- package/dist/{chunk-S3O3RCWN.js → chunk-SNA5ZOOW.js} +1 -1
- package/dist/{chunk-UJHTJTTS.js → chunk-SUX6ZULG.js} +3 -3
- package/dist/{chunk-7ALGFH5X.js → chunk-T7SKNYSX.js} +1 -1
- package/dist/chunk-TFHFYID3.js +18 -0
- package/dist/chunk-TFHFYID3.js.map +7 -0
- package/dist/{chunk-NVENXGF7.js → chunk-THVJEPLB.js} +3 -3
- package/dist/{chunk-VG2Z446J.js → chunk-WZLENCCJ.js} +4 -4
- package/dist/{chunk-SWH2U4BW.js → chunk-Z7L243Q6.js} +3 -3
- package/dist/{cli-R6FWX47L.js → cli-6JBMEDV3.js} +92 -90
- package/dist/{cli-R6FWX47L.js.map → cli-6JBMEDV3.js.map} +1 -1
- package/dist/commands-J63YXCO2.js +57 -0
- package/dist/{config-UOF22R5A.js → config-EULVMRO5.js} +4 -4
- package/dist/{context-2XY2LAUJ.js → context-JSG3K72W.js} +6 -6
- package/dist/{conversationPersistence-PWSEH5D2.js → conversationPersistence-YOMGSVQB.js} +3 -3
- package/dist/{conversationTracker-R3PKN554.js → conversationTracker-KGQRKNMN.js} +4 -4
- package/dist/{customCommands-KRYZL5FH.js → customCommands-M3Z7HX7X.js} +4 -4
- package/dist/{env-NFA6MDCD.js → env-PYJR5TNI.js} +2 -2
- package/dist/{file-B7O6H4QE.js → file-L62NMYKT.js} +4 -4
- package/dist/index.js +3 -3
- package/dist/{llm-SPIGEJ2Z.js → llm-PKYVR5KJ.js} +35 -32
- package/dist/{llm-SPIGEJ2Z.js.map → llm-PKYVR5KJ.js.map} +1 -1
- package/dist/{llmLazy-GPAEOXPV.js → llmLazy-DYXOEDSN.js} +1 -1
- package/dist/{loader-32QKHUOK.js → loader-D7IUXCSB.js} +4 -4
- package/dist/{lsp-VMFAYCLW.js → lsp-6L3OHSHQ.js} +6 -6
- package/dist/{lspAnchor-MLXUGBLJ.js → lspAnchor-RV7FWXWE.js} +20 -6
- package/dist/lspAnchor-RV7FWXWE.js.map +7 -0
- package/dist/{mcp-PLCRLS5A.js → mcp-FCSBXZMQ.js} +7 -7
- package/dist/{mentionProcessor-DFTGT52F.js → mentionProcessor-3CT5DI5R.js} +5 -5
- package/dist/{messages-TKAHXVGJ.js → messages-DX4Z6HYO.js} +2 -1
- package/dist/{model-EWO655R3.js → model-QNCC4JW3.js} +5 -5
- package/dist/{openai-DM5CXIXZ.js → openai-F5LQS5LW.js} +5 -5
- package/dist/{outputStyles-XJXX5ZXG.js → outputStyles-7L26LLBX.js} +4 -4
- package/dist/{pluginRuntime-WVEONLK3.js → pluginRuntime-I2K7DQ44.js} +6 -6
- package/dist/{pluginValidation-AQWVJ7FK.js → pluginValidation-MQLJ3B53.js} +6 -6
- package/dist/prompts-2JWFXAYC.js +59 -0
- package/dist/{pybAgentSessionLoad-4PHU7OTN.js → pybAgentSessionLoad-HAC4ENCY.js} +4 -4
- package/dist/{pybAgentSessionResume-CS3E6FIE.js → pybAgentSessionResume-XKKHWTBH.js} +4 -4
- package/dist/{pybAgentStreamJsonSession-PYZMFK7D.js → pybAgentStreamJsonSession-ERY4PPMZ.js} +2 -1
- package/dist/{pybAgentStreamJsonSession-PYZMFK7D.js.map → pybAgentStreamJsonSession-ERY4PPMZ.js.map} +1 -1
- package/dist/{pybHooks-JPX6L4HI.js → pybHooks-7ITFGBSK.js} +4 -4
- package/dist/query-JJ4E363R.js +57 -0
- package/dist/{registry-MBEH554P.js → registry-PEO43FQR.js} +5 -5
- package/dist/{ripgrep-XKTM64PS.js → ripgrep-W6K3ERM3.js} +3 -3
- package/dist/{skillMarketplace-APD57VBX.js → skillMarketplace-EUOXEYIC.js} +3 -3
- package/dist/{state-2QEHOVTA.js → state-ZPO2VKXG.js} +2 -2
- package/dist/{theme-NGDPNTUX.js → theme-22IBHJQQ.js} +5 -5
- package/dist/{toolPermissionSettings-RLNPVOBI.js → toolPermissionSettings-2DHBXAR6.js} +6 -6
- package/dist/tools-VEZA5UVZ.js +57 -0
- package/dist/{userInput-6ASB72OS.js → userInput-GBQSAXB7.js} +34 -32
- package/dist/{userInput-6ASB72OS.js.map → userInput-GBQSAXB7.js.map} +1 -1
- package/package.json +1 -1
- package/dist/REPL-B5KZD7G5.js +0 -51
- package/dist/chunk-DEZYDCUH.js.map +0 -7
- package/dist/commands-5BUFNWGW.js +0 -55
- package/dist/lspAnchor-MLXUGBLJ.js.map +0 -7
- package/dist/prompts-MYXXJHIA.js +0 -57
- package/dist/query-TFHNPQ35.js +0 -55
- package/dist/tools-U345EBHA.js +0 -55
- /package/dist/{REPL-B5KZD7G5.js.map → REPL-RDCLK6RR.js.map} +0 -0
- /package/dist/{agentsValidate-GHHBQ2V3.js.map → agentsValidate-YEK5UGHS.js.map} +0 -0
- /package/dist/{autoUpdater-65UHQALF.js.map → autoUpdater-PL7DMA64.js.map} +0 -0
- /package/dist/{chunk-N4EHD2WQ.js.map → chunk-33VCHOW6.js.map} +0 -0
- /package/dist/{chunk-TNCM6TNK.js.map → chunk-4M455XYG.js.map} +0 -0
- /package/dist/{chunk-W57S56SZ.js.map → chunk-7B4Y7L5M.js.map} +0 -0
- /package/dist/{chunk-2VA64CKU.js.map → chunk-ATNQYVGD.js.map} +0 -0
- /package/dist/{chunk-2ONDOJ32.js.map → chunk-BJ4E3H6T.js.map} +0 -0
- /package/dist/{chunk-EQBLVRTX.js.map → chunk-BJTIYM4B.js.map} +0 -0
- /package/dist/{chunk-S2TCT35Y.js.map → chunk-BOMJT46M.js.map} +0 -0
- /package/dist/{chunk-SY5A3V3Q.js.map → chunk-BVVAZ4DR.js.map} +0 -0
- /package/dist/{chunk-I5XULU7R.js.map → chunk-EEJ5JI2U.js.map} +0 -0
- /package/dist/{chunk-5G4RB7MC.js.map → chunk-FAQR7BHA.js.map} +0 -0
- /package/dist/{chunk-VWI4TG6L.js.map → chunk-FLDJME26.js.map} +0 -0
- /package/dist/{chunk-FPJL5RXB.js.map → chunk-GSNBOX7K.js.map} +0 -0
- /package/dist/{chunk-XGYRZA24.js.map → chunk-HSZ7IBIM.js.map} +0 -0
- /package/dist/{chunk-LMXJDGUG.js.map → chunk-KDXRWYUT.js.map} +0 -0
- /package/dist/{chunk-3I5AJWST.js.map → chunk-KVS6BLCL.js.map} +0 -0
- /package/dist/{chunk-LW26RTGS.js.map → chunk-L6WSTLLB.js.map} +0 -0
- /package/dist/{chunk-W2ZTYIRJ.js.map → chunk-LR2HWOLF.js.map} +0 -0
- /package/dist/{chunk-YIQDKWRI.js.map → chunk-LSQI3ED4.js.map} +0 -0
- /package/dist/{chunk-FINT4Z7B.js.map → chunk-NBZOYYDD.js.map} +0 -0
- /package/dist/{chunk-ZKDULVN5.js.map → chunk-O43ZKVDQ.js.map} +0 -0
- /package/dist/{chunk-S3O3RCWN.js.map → chunk-SNA5ZOOW.js.map} +0 -0
- /package/dist/{chunk-UJHTJTTS.js.map → chunk-SUX6ZULG.js.map} +0 -0
- /package/dist/{chunk-7ALGFH5X.js.map → chunk-T7SKNYSX.js.map} +0 -0
- /package/dist/{chunk-NVENXGF7.js.map → chunk-THVJEPLB.js.map} +0 -0
- /package/dist/{chunk-VG2Z446J.js.map → chunk-WZLENCCJ.js.map} +0 -0
- /package/dist/{chunk-SWH2U4BW.js.map → chunk-Z7L243Q6.js.map} +0 -0
- /package/dist/{commands-5BUFNWGW.js.map → commands-J63YXCO2.js.map} +0 -0
- /package/dist/{config-UOF22R5A.js.map → config-EULVMRO5.js.map} +0 -0
- /package/dist/{context-2XY2LAUJ.js.map → context-JSG3K72W.js.map} +0 -0
- /package/dist/{conversationPersistence-PWSEH5D2.js.map → conversationPersistence-YOMGSVQB.js.map} +0 -0
- /package/dist/{conversationTracker-R3PKN554.js.map → conversationTracker-KGQRKNMN.js.map} +0 -0
- /package/dist/{customCommands-KRYZL5FH.js.map → customCommands-M3Z7HX7X.js.map} +0 -0
- /package/dist/{env-NFA6MDCD.js.map → env-PYJR5TNI.js.map} +0 -0
- /package/dist/{file-B7O6H4QE.js.map → file-L62NMYKT.js.map} +0 -0
- /package/dist/{llmLazy-GPAEOXPV.js.map → llmLazy-DYXOEDSN.js.map} +0 -0
- /package/dist/{loader-32QKHUOK.js.map → loader-D7IUXCSB.js.map} +0 -0
- /package/dist/{lsp-VMFAYCLW.js.map → lsp-6L3OHSHQ.js.map} +0 -0
- /package/dist/{mcp-PLCRLS5A.js.map → mcp-FCSBXZMQ.js.map} +0 -0
- /package/dist/{mentionProcessor-DFTGT52F.js.map → mentionProcessor-3CT5DI5R.js.map} +0 -0
- /package/dist/{messages-TKAHXVGJ.js.map → messages-DX4Z6HYO.js.map} +0 -0
- /package/dist/{model-EWO655R3.js.map → model-QNCC4JW3.js.map} +0 -0
- /package/dist/{openai-DM5CXIXZ.js.map → openai-F5LQS5LW.js.map} +0 -0
- /package/dist/{outputStyles-XJXX5ZXG.js.map → outputStyles-7L26LLBX.js.map} +0 -0
- /package/dist/{pluginRuntime-WVEONLK3.js.map → pluginRuntime-I2K7DQ44.js.map} +0 -0
- /package/dist/{pluginValidation-AQWVJ7FK.js.map → pluginValidation-MQLJ3B53.js.map} +0 -0
- /package/dist/{prompts-MYXXJHIA.js.map → prompts-2JWFXAYC.js.map} +0 -0
- /package/dist/{pybAgentSessionLoad-4PHU7OTN.js.map → pybAgentSessionLoad-HAC4ENCY.js.map} +0 -0
- /package/dist/{pybAgentSessionResume-CS3E6FIE.js.map → pybAgentSessionResume-XKKHWTBH.js.map} +0 -0
- /package/dist/{pybHooks-JPX6L4HI.js.map → pybHooks-7ITFGBSK.js.map} +0 -0
- /package/dist/{query-TFHNPQ35.js.map → query-JJ4E363R.js.map} +0 -0
- /package/dist/{registry-MBEH554P.js.map → registry-PEO43FQR.js.map} +0 -0
- /package/dist/{ripgrep-XKTM64PS.js.map → ripgrep-W6K3ERM3.js.map} +0 -0
- /package/dist/{skillMarketplace-APD57VBX.js.map → skillMarketplace-EUOXEYIC.js.map} +0 -0
- /package/dist/{state-2QEHOVTA.js.map → state-ZPO2VKXG.js.map} +0 -0
- /package/dist/{theme-NGDPNTUX.js.map → theme-22IBHJQQ.js.map} +0 -0
- /package/dist/{toolPermissionSettings-RLNPVOBI.js.map → toolPermissionSettings-2DHBXAR6.js.map} +0 -0
- /package/dist/{tools-U345EBHA.js.map → tools-VEZA5UVZ.js.map} +0 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/entrypoints/cli/runCli.tsx", "../src/entrypoints/cli/printMode.ts", "../src/entrypoints/cli/stdio/canUseTool.ts", "../src/entrypoints/cli/stdio/controlRequestHandler.ts", "../src/entrypoints/cli/stdio/streamJsonSession.ts", "../src/entrypoints/cli/stdio/structuredStdio.ts", "../src/utils/session/cleanup.ts", "../src/entrypoints/cli/setup.ts", "../src/entrypoints/cli/setupScreens.tsx", "../src/ui/components/TrustDialog.tsx", "../src/ui/screens/MCPServerApproval.tsx", "../src/ui/components/MCPServerMultiselectDialog.tsx", "../src/ui/components/MCPServerDialogCopy.tsx", "../src/ui/components/MCPServerApprovalDialog.tsx", "../src/utils/model/modelConfigYaml.ts", "../src/ui/screens/LogList.tsx", "../src/ui/components/LogSelector.tsx", "../src/entrypoints/mcp.ts", "../src/utils/session/conversationRecovery.ts", "../src/commands/approved-tools.ts", "../src/ui/components/InvalidConfigDialog.tsx", "../src/utils/session/sessionStoreBootstrap.ts", "../src/entrypoints/cli.tsx"],
|
|
4
4
|
"sourcesContent": ["import { existsSync, readFileSync, writeFileSync } from 'node:fs'\nimport { PRODUCT_COMMAND, PRODUCT_NAME } from '@constants/product'\nimport { runPrintMode } from './printMode'\nimport { setup } from './setup'\nimport { showSetupScreens } from './setupScreens'\n\nimport React from 'react'\nimport { ReadStream } from 'tty'\nimport { openSync } from 'fs'\nimport type { RenderOptions } from 'ink'\nimport { getContext, setContext, removeContext } from '@context'\nimport { Command } from '@commander-js/extra-typings'\nimport {\n getGlobalConfig,\n getCurrentProjectConfig,\n getProjectMcpServerDefinitions,\n saveGlobalConfig,\n saveCurrentProjectConfig,\n getCustomApiKeyStatus,\n normalizeApiKeyForConfig,\n setConfigForCLI,\n deleteConfigForCLI,\n getConfigForCLI,\n listConfigForCLI,\n enableConfigs,\n validateAndRepairAllGPT5Profiles,\n} from '@utils/config'\nimport { cwd } from 'process'\nimport { dateToFilename, logError, parseLogFilename } from '@utils/log'\nimport { initDebugLogger } from '@utils/log/debugLogger'\nimport { Doctor } from '@screens/Doctor'\nimport { McpServerConfig } from '@utils/config'\nimport { isDefaultSlowAndCapableModel } from '@utils/model'\nimport {\n applyModelConfigYamlImport,\n formatModelConfigYamlForSharing,\n} from '@utils/model/modelConfigYaml'\nimport { LogList } from '@screens/LogList'\nimport { ResumeConversation } from '@screens/ResumeConversation'\nimport { startMCPServer } from '../mcp'\nimport { env } from '@utils/config/env'\nimport { getCwd } from '@utils/state'\nimport {\n getTaskActiveUnlockGateStatus,\n getTask,\n getTaskListPaths,\n listTasks,\n rebuildTaskBlocks,\n type TaskRecord,\n} from '@utils/session/taskStore'\nimport { calculateReadyBlocked } from '@utils/session/taskGraph'\nimport { toTaskDetail, toTaskListItem } from '@utils/session/taskToolUtils'\nimport { getNextAvailableLogForkNumber, loadLogList } from '@utils/log'\nimport { loadMessagesFromLog } from '@utils/session/conversationRecovery'\nimport { clearAgentCache, setFlagAgentsFromCliJson } from '@utils/agent/loader'\nimport { setEnabledSettingSourcesFromCli } from '@utils/config/settingSources'\nimport {\n handleListApprovedTools,\n handleRemoveApprovedTool,\n} from '@commands/approved-tools'\nimport {\n addMcpServer,\n getMcpServer,\n listMCPServers,\n parseEnvVars,\n removeMcpServer,\n getClients,\n getClientsForCliMcpConfig,\n getMcprcServerStatus,\n ensureConfigScope,\n} from '@services/mcpClient'\nimport {\n looksLikeMcpUrl,\n normalizeMcpScopeForCli,\n normalizeMcpTransport,\n parseMcpHeaders,\n} from '@services/mcpCliUtils'\n\nimport { cursorShow } from 'ansi-escapes'\nimport { assertMinVersion } from '@utils/session/autoUpdater'\nimport { CACHE_PATHS } from '@utils/log'\nimport { BunShell } from '@utils/bun/shell'\nimport { showInvalidConfigDialog } from '@components/InvalidConfigDialog'\nimport { ConfigParseError } from '@utils/text/errors'\nimport { MACRO } from '@constants/macros'\nimport { clearOutputStyleCache } from '@services/outputStyles'\nimport { ensureSessionStoreBootstrap } from '@utils/session/sessionStoreBootstrap'\n\nfunction logStartup(): void {\n const config = getGlobalConfig()\n saveGlobalConfig({\n ...config,\n numStartups: (config.numStartups ?? 0) + 1,\n })\n}\n\nfunction omitKeys<T extends Record<string, any>>(\n input: T,\n ...keys: (keyof T | string)[]\n): Partial<T> {\n const result = { ...input } as Partial<T>\n for (const key of keys) {\n delete (result as any)[key as any]\n }\n return result\n}\n\nfunction getCommandOptions(options: any): any {\n return options && typeof options === 'object' && typeof options.opts === 'function'\n ? options.opts()\n : options\n}\n\nfunction getCwdFromArgv(argv: string[]): string | undefined {\n for (let i = argv.length - 1; i >= 0; i -= 1) {\n const arg = argv[i]\n if (arg === '--cwd') {\n const next = argv[i + 1]\n return typeof next === 'string' && next.length > 0 ? next : undefined\n }\n if (arg.startsWith('--cwd=')) {\n const value = arg.slice('--cwd='.length)\n return value.length > 0 ? value : undefined\n }\n }\n return undefined\n}\n\nfunction resolveWorkingDir(options: any, program: Command): string {\n const commandOptions = getCommandOptions(options)\n const programCwd = (program.opts() as { cwd?: string }).cwd\n const argvCwd = getCwdFromArgv((program as any).rawArgs ?? process.argv)\n if (typeof argvCwd === 'string') return argvCwd\n if (typeof commandOptions?.cwd === 'string') return commandOptions.cwd\n if (typeof programCwd === 'string') return programCwd\n return cwd()\n}\n\nfunction normalizeStatusFilter(status?: unknown): string[] | undefined {\n if (Array.isArray(status)) {\n return status.filter(value => typeof value === 'string')\n }\n if (typeof status === 'string') {\n return [status]\n }\n return undefined\n}\n\nfunction filterTasksByStatus(tasks: TaskRecord[], statuses?: string[]) {\n if (!statuses || statuses.length === 0) {\n return tasks.filter(item => item.status !== 'deleted')\n }\n const allowed = new Set(statuses)\n return tasks.filter(item => allowed.has(item.status))\n}\n\nexport async function runCli() {\n initDebugLogger()\n ensureSessionStoreBootstrap()\n\n try {\n enableConfigs()\n\n queueMicrotask(() => {\n try {\n validateAndRepairAllGPT5Profiles()\n } catch (repairError) {\n logError(`GPT-5 configuration validation failed: ${repairError}`)\n }\n })\n } catch (error: unknown) {\n if (error instanceof ConfigParseError) {\n await showInvalidConfigDialog({ error })\n return\n }\n }\n\n\n let inputPrompt = ''\n let renderContext: RenderOptions | undefined = {\n exitOnCtrlC: false,\n\n onFlicker() {},\n } as any\n\n const wantsStreamJsonStdin =\n process.argv.some(\n (arg, idx, all) =>\n arg === '--input-format' && all[idx + 1] === 'stream-json',\n ) || process.argv.some(arg => arg.startsWith('--input-format=stream-json'))\n\n if (\n !process.stdin.isTTY &&\n !process.env.CI &&\n !process.argv.includes('mcp') &&\n !wantsStreamJsonStdin\n ) {\n inputPrompt = await stdin()\n if (process.platform !== 'win32') {\n try {\n const ttyFd = openSync('/dev/tty', 'r')\n renderContext = { ...renderContext, stdin: new ReadStream(ttyFd) }\n } catch (err) {\n logError(`Could not open /dev/tty: ${err}`)\n }\n }\n }\n await parseArgs(inputPrompt, renderContext)\n}\n\nexport async function parseArgs(\n stdinContent: string,\n renderContext: RenderOptions | undefined,\n): Promise<Command> {\n const program = new Command()\n\n const renderContextWithExitOnCtrlC = {\n ...renderContext,\n exitOnCtrlC: true,\n }\n\n program\n .name(PRODUCT_COMMAND)\n .description(\n `${PRODUCT_NAME} - starts an interactive session by default, use -p/--print for non-interactive output`,\n )\n .argument('[prompt]', 'Your prompt', String)\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option(\n '-d, --debug [filter]',\n 'Enable debug mode with optional category filtering (e.g., \"api,hooks\" or \"!statsig,!file\")',\n )\n .option(\n '--debug-verbose',\n 'Enable verbose debug terminal output',\n () => true,\n )\n .option(\n '--verbose',\n 'Override verbose mode setting from config',\n () => true,\n )\n .option('-e, --enable-architect', 'Enable the Architect tool', () => true)\n .option(\n '-p, --print',\n 'Print response and exit (useful for pipes)',\n () => true,\n )\n .option(\n '--output-format <format>',\n 'Output format (only works with --print): \"text\" (default), \"json\", or \"stream-json\"',\n String,\n 'text',\n )\n .option(\n '--json-schema <schema>',\n 'JSON Schema for structured output validation. Example: {\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"}},\"required\":[\"name\"]}',\n String,\n )\n .option(\n '--input-format <format>',\n 'Input format (only works with --print): \"text\" (default) or \"stream-json\"',\n String,\n 'text',\n )\n .option(\n '--mcp-debug',\n '[DEPRECATED. Use --debug instead] Enable MCP debug mode (shows MCP server errors)',\n () => true,\n )\n .option(\n '--dangerously-skip-permissions',\n 'Bypass all permission checks. Recommended only for sandboxes with no internet access.',\n () => true,\n )\n .option(\n '--allow-dangerously-skip-permissions',\n 'Enable bypassing all permission checks as an option, without it being enabled by default. Recommended only for sandboxes with no internet access.',\n () => true,\n )\n .option(\n '--max-budget-usd <amount>',\n 'Maximum dollar amount to spend on API calls (only works with --print)',\n String,\n )\n .option(\n '--include-partial-messages',\n 'Include partial message chunks as they arrive (only works with --print and --output-format=stream-json)',\n () => true,\n )\n .option(\n '--replay-user-messages',\n 'Re-emit user messages from stdin back on stdout for acknowledgment (only works with --input-format=stream-json and --output-format=stream-json)',\n () => true,\n )\n .option(\n '--allowedTools, --allowed-tools <tools...>',\n 'Comma or space-separated list of tool names to allow (e.g. \"Bash(git:*) Edit\")',\n )\n .option(\n '--tools <tools...>',\n 'Specify the list of available tools from the built-in set. Use \"\" to disable all tools, \"default\" to use all tools, or specify tool names (e.g. \"Bash,Edit,Read\"). Only works with --print mode.',\n )\n .option(\n '--disallowedTools, --disallowed-tools <tools...>',\n 'Comma or space-separated list of tool names to deny (e.g. \"Bash(git:*) Edit\")',\n )\n .option(\n '--mcp-config <configs...>',\n 'Load MCP servers from JSON files or strings (space-separated)',\n )\n .option('--system-prompt <prompt>', 'System prompt to use for the session')\n .option(\n '--append-system-prompt <prompt>',\n 'Append a system prompt to the default system prompt',\n )\n .option(\n '--permission-mode <mode>',\n 'Permission mode to use for the session (choices: \"acceptEdits\", \"bypassPermissions\", \"default\", \"delegate\", \"dontAsk\", \"plan\")',\n String,\n )\n .option(\n '--permission-prompt-tool <tool>',\n 'Permission prompt tool (only works with --print, --output-format=stream-json, and --input-format=stream-json): \"stdio\"',\n String,\n )\n .option(\n '--safe',\n 'Enable strict permission checking mode (default is permissive)',\n () => true,\n )\n .option(\n '--disable-slash-commands',\n 'Disable slash commands (treat /... as plain text)',\n () => true,\n )\n .option(\n '--plugin-dir <paths...>',\n 'Load plugins from directories for this session only (repeatable)',\n (value, previous: string[] | undefined) => {\n const prev = Array.isArray(previous) ? previous : []\n const next = Array.isArray(value) ? value : [value]\n return [...prev, ...next].filter(Boolean)\n },\n [],\n )\n .option(\n '--model <model>',\n \"Model for the current session. Provide an alias for the latest model (e.g. 'sonnet' or 'opus') or a model's full name.\",\n String,\n )\n .option(\n '--agent <agent>',\n \"Agent for the current session. Overrides the 'agent' setting.\",\n String,\n )\n .option(\n '--betas <betas...>',\n 'Beta headers to include in API requests (API key users only)',\n )\n .option(\n '--fallback-model <model>',\n 'Enable automatic fallback to specified model when default model is overloaded (only works with --print)',\n String,\n )\n .option(\n '--settings <file-or-json>',\n 'Path to a settings JSON file or a JSON string to load additional settings from',\n String,\n )\n .option(\n '--add-dir <directories...>',\n 'Additional directories to allow tool access to',\n )\n .option(\n '--ide',\n 'Automatically connect to IDE on startup if exactly one valid IDE is available',\n () => true,\n )\n .option(\n '--strict-mcp-config',\n 'Only use MCP servers from --mcp-config, ignoring all other MCP configurations',\n () => true,\n )\n .option(\n '--agents <json>',\n `JSON object defining custom agents (e.g. '{\"reviewer\": {\"description\": \"Reviews code\", \"prompt\": \"You are a code reviewer\"}}')`,\n String,\n )\n .option(\n '--setting-sources <sources>',\n 'Comma-separated list of setting sources to load (user, project, local).',\n String,\n )\n .option(\n '-r, --resume [value]',\n 'Resume a conversation by session ID or session name (omit value to open selector)',\n )\n .option(\n '-c, --continue',\n 'Continue the most recent conversation',\n () => true,\n )\n .option(\n '--fork-session',\n 'When resuming/continuing, create a new session ID instead of reusing the original (use with --resume or --continue)',\n () => true,\n )\n .option(\n '--no-session-persistence',\n 'Disable session persistence - sessions will not be saved to disk and cannot be resumed (only works with --print)',\n )\n .option(\n '--session-id <uuid>',\n 'Use a specific session ID for the conversation (must be a valid UUID)',\n String,\n )\n .option(\n '--auto-exit',\n 'Automatically exit when the task is completed (requires initial prompt)',\n () => true,\n )\n .action(\n async (\n prompt,\n {\n cwd,\n debug,\n verbose,\n enableArchitect,\n print,\n outputFormat,\n jsonSchema,\n inputFormat,\n mcpDebug,\n dangerouslySkipPermissions,\n allowDangerouslySkipPermissions,\n maxBudgetUsd,\n includePartialMessages,\n replayUserMessages,\n allowedTools,\n tools: cliTools,\n disallowedTools,\n mcpConfig,\n systemPrompt: systemPromptOverride,\n appendSystemPrompt,\n permissionMode,\n permissionPromptTool,\n safe,\n disableSlashCommands,\n pluginDir,\n model,\n addDir,\n strictMcpConfig,\n agents,\n settingSources,\n resume,\n continue: continueConversation,\n forkSession,\n sessionId,\n sessionPersistence,\n autoExit,\n },\n ) => {\n try {\n setEnabledSettingSourcesFromCli(settingSources)\n } catch (err) {\n process.stderr.write(\n `Error processing --setting-sources: ${err instanceof Error ? err.message : String(err)}\\n`,\n )\n process.exit(1)\n }\n\n setFlagAgentsFromCliJson(agents)\n clearAgentCache()\n clearOutputStyleCache()\n\n await setup(cwd, safe)\n await showSetupScreens(safe, print)\n\n assertMinVersion()\n\n {\n const requested =\n Array.isArray(pluginDir) && pluginDir.length > 0 ? pluginDir : []\n const { listEnabledInstalledPluginPackRoots } =\n await import('@services/skillMarketplace')\n const installed = listEnabledInstalledPluginPackRoots()\n\n const all = [...installed, ...requested].filter(Boolean)\n const deduped = Array.from(new Set(all))\n\n if (deduped.length > 0) {\n const { configureSessionPlugins } =\n await import('@services/pluginRuntime')\n const { errors } = await configureSessionPlugins({\n pluginDirs: deduped,\n })\n for (const err of errors) {\n console.warn(err)\n }\n }\n }\n\n const [{ ask }, { getTools }, { getCommands }] = await Promise.all([\n import('@app/ask'),\n import('@tools'),\n import('@commands'),\n ])\n const commands = await getCommands()\n\n const mcpClientsPromise =\n (Array.isArray(mcpConfig) && mcpConfig.length > 0) ||\n strictMcpConfig === true\n ? getClientsForCliMcpConfig({\n mcpConfig: Array.isArray(mcpConfig) ? mcpConfig : [],\n strictMcpConfig: strictMcpConfig === true,\n projectDir: cwd,\n })\n : getClients()\n\n const [allTools, mcpClients] = await Promise.all([\n getTools(\n enableArchitect ?? getCurrentProjectConfig().enableArchitectTool,\n ),\n mcpClientsPromise,\n ])\n const tools =\n disableSlashCommands === true\n ? allTools.filter(t => t.name !== 'SlashCommand')\n : allTools\n const inputPrompt = [prompt, stdinContent].filter(Boolean).join('\\n')\n\n const {\n loadPybAgentSessionMessages,\n findMostRecentPybAgentSessionId,\n } = await import('@utils/protocol/pybAgentSessionLoad')\n const { listPybAgentSessions, resolvePybResumeSessionIdentifier } =\n await import('@utils/protocol/pybAgentSessionResume')\n const { isUuid } = await import('@utils/text/uuid')\n const { setPybAgentSessionId, getPybAgentSessionId } =\n await import('@utils/protocol/pybAgentSessionId')\n const { randomUUID } = await import('crypto')\n\n const wantsContinue = Boolean(continueConversation)\n const wantsResume = resume !== undefined\n const wantsFork = Boolean(forkSession)\n\n if (sessionId && !isUuid(String(sessionId))) {\n console.error(`Error: --session-id must be a valid UUID`)\n process.exit(1)\n }\n\n if (sessionId && (wantsContinue || wantsResume) && !wantsFork) {\n console.error(\n `Error: --session-id can only be used with --continue or --resume if --fork-session is also specified.`,\n )\n process.exit(1)\n }\n\n let initialMessages: any[] | undefined\n let resumedFromSessionId: string | null = null\n let needsResumeSelector = false\n\n if (wantsContinue) {\n const latest = findMostRecentPybAgentSessionId(cwd)\n if (!latest) {\n console.error('No conversation found to continue')\n process.exit(1)\n }\n initialMessages = loadPybAgentSessionMessages({\n cwd,\n sessionId: latest,\n })\n resumedFromSessionId = latest\n } else if (wantsResume) {\n if (resume === true) {\n needsResumeSelector = true\n } else {\n const identifier = String(resume)\n const resolved = resolvePybResumeSessionIdentifier({ cwd, identifier })\n if (resolved.kind === 'ok') {\n initialMessages = loadPybAgentSessionMessages({\n cwd,\n sessionId: resolved.sessionId,\n })\n resumedFromSessionId = resolved.sessionId\n } else if (resolved.kind === 'different_directory') {\n console.error(\n resolved.otherCwd\n ? `Error: That session belongs to a different directory: ${resolved.otherCwd}`\n : `Error: That session belongs to a different directory.`,\n )\n process.exit(1)\n } else if (resolved.kind === 'ambiguous') {\n console.error(\n `Error: Multiple sessions match \"${identifier}\": ${resolved.matchingSessionIds.join(\n ', ',\n )}`,\n )\n process.exit(1)\n } else {\n console.error(\n `No conversation found with session ID or name: ${identifier}`,\n )\n process.exit(1)\n }\n }\n }\n\n if (needsResumeSelector && print) {\n console.error(\n 'Error: --resume without a value requires interactive mode (no --print).',\n )\n process.exit(1)\n }\n\n if (!needsResumeSelector) {\n const effectiveSessionId = (() => {\n if (resumedFromSessionId) {\n if (wantsFork) return sessionId ? String(sessionId) : randomUUID()\n return resumedFromSessionId\n }\n if (sessionId) return String(sessionId)\n return getPybAgentSessionId()\n })()\n\n setPybAgentSessionId(effectiveSessionId)\n }\n\n if (print) {\n await runPrintMode({\n prompt,\n stdinContent,\n inputPrompt,\n cwd,\n safe,\n verbose,\n outputFormat,\n inputFormat,\n jsonSchema,\n permissionPromptTool,\n replayUserMessages,\n cliTools,\n tools,\n commands,\n ask,\n initialMessages,\n sessionPersistence,\n systemPromptOverride,\n appendSystemPrompt,\n disableSlashCommands,\n allowedTools,\n disallowedTools,\n addDir,\n permissionMode,\n dangerouslySkipPermissions,\n allowDangerouslySkipPermissions,\n model,\n mcpClients,\n })\n return\n } else {\n if (sessionPersistence === false) {\n console.error(\n 'Error: --no-session-persistence only works with --print',\n )\n process.exit(1)\n }\n\n const updateInfo = await (async () => {\n try {\n const [\n { getLatestVersion, getUpdateCommandSuggestions },\n semverMod,\n ] = await Promise.all([\n import('@utils/session/autoUpdater'),\n import('semver'),\n ])\n const semver: any = (semverMod as any)?.default ?? semverMod\n const gt = semver?.gt\n if (typeof gt !== 'function')\n return {\n version: null as string | null,\n commands: null as string[] | null,\n }\n\n const latest = await getLatestVersion()\n if (latest && gt(latest, MACRO.VERSION)) {\n const cmds = await getUpdateCommandSuggestions()\n return { version: latest as string, commands: cmds as string[] }\n }\n } catch {}\n return {\n version: null as string | null,\n commands: null as string[] | null,\n }\n })()\n\n if (needsResumeSelector) {\n const sessions = listPybAgentSessions({ cwd })\n if (sessions.length === 0) {\n console.error('No conversation found to resume')\n process.exit(1)\n }\n\n const context: { unmount?: () => void } = {}\n ;(async () => {\n const { render } = await import('ink')\n const { unmount } = render(\n <ResumeConversation\n cwd={cwd}\n context={context}\n commands={commands}\n sessions={sessions}\n tools={tools}\n verbose={verbose}\n safeMode={safe}\n debug={Boolean(debug)}\n disableSlashCommands={disableSlashCommands === true}\n mcpClients={mcpClients}\n initialPrompt={inputPrompt}\n forkSession={wantsFork}\n forkSessionId={sessionId ? String(sessionId) : null}\n initialUpdateVersion={updateInfo.version}\n initialUpdateCommands={updateInfo.commands}\n />,\n renderContextWithExitOnCtrlC,\n )\n context.unmount = unmount\n })()\n return\n }\n\n const isDefaultModel = await isDefaultSlowAndCapableModel()\n\n {\n const { render } = await import('ink')\n const { REPL } = await import('@screens/REPL')\n render(\n <REPL\n commands={commands}\n debug={Boolean(debug)}\n disableSlashCommands={disableSlashCommands === true}\n initialPrompt={inputPrompt}\n messageLogName={dateToFilename(new Date())}\n shouldShowPromptInput={true}\n verbose={verbose}\n tools={tools}\n safeMode={safe}\n mcpClients={mcpClients}\n isDefaultModel={isDefaultModel}\n initialUpdateVersion={updateInfo.version}\n initialUpdateCommands={updateInfo.commands}\n initialMessages={initialMessages}\n autoExit={Boolean(autoExit)}\n />,\n renderContext,\n )\n }\n }\n },\n )\n .version(MACRO.VERSION, '-v, --version')\n\n\n const config = program\n .command('config')\n .description(\n `Manage configuration (eg. ${PRODUCT_COMMAND} config set -g theme dark)`,\n )\n\n config\n .command('get <key>')\n .description('Get a config value')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-g, --global', 'Use global config')\n .action(async (key, { cwd, global }) => {\n await setup(cwd, false)\n console.log(getConfigForCLI(key, global ?? false))\n process.exit(0)\n })\n\n config\n .command('set <key> <value>')\n .description('Set a config value')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-g, --global', 'Use global config')\n .action(async (key, value, { cwd, global }) => {\n await setup(cwd, false)\n setConfigForCLI(key, value, global ?? false)\n console.log(`Set ${key} to ${value}`)\n process.exit(0)\n })\n\n config\n .command('remove <key>')\n .description('Remove a config value')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-g, --global', 'Use global config')\n .action(async (key, { cwd, global }) => {\n await setup(cwd, false)\n deleteConfigForCLI(key, global ?? false)\n console.log(`Removed ${key}`)\n process.exit(0)\n })\n\n config\n .command('list')\n .description('List all config values')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-g, --global', 'Use global config', false)\n .action(async ({ cwd, global }) => {\n await setup(cwd, false)\n console.log(\n JSON.stringify(\n global ? listConfigForCLI(true) : listConfigForCLI(false),\n null,\n 2,\n ),\n )\n process.exit(0)\n })\n\n\n const task = program.command('task').description('Task maintenance utilities')\n\n task\n .command('active-unlock-status')\n .description('Show active unlock gate status, thresholds, and rollback instructions')\n .action(async () => {\n try {\n const status = getTaskActiveUnlockGateStatus()\n console.log(JSON.stringify(status, null, 2))\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n task\n .command('rebuild-blocks')\n .description('Rebuild persisted blocks from blockedBy')\n .option('--list-id <listId>', 'Task list id')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (options: any) => {\n try {\n const commandOptions = getCommandOptions(options)\n const workingDir = resolveWorkingDir(commandOptions, program)\n await setup(workingDir, false)\n const listId =\n typeof commandOptions?.listId === 'string' && commandOptions.listId.length > 0\n ? commandOptions.listId\n : undefined\n const paths = getTaskListPaths(listId)\n const result = rebuildTaskBlocks({ listId })\n console.log(JSON.stringify({ listId: paths.listId, ...result }, null, 2))\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n task\n .command('list')\n .description('List tasks in a task list')\n .option('--list-id <listId>', 'Task list id')\n .option('--status <status...>', 'Filter by status (repeatable)')\n .option('--no-include-blocked', 'Exclude blocked tasks from items')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (options: any) => {\n try {\n const commandOptions = getCommandOptions(options)\n const workingDir = resolveWorkingDir(commandOptions, program)\n await setup(workingDir, false)\n const listId =\n typeof commandOptions?.listId === 'string' && commandOptions.listId.length > 0\n ? commandOptions.listId\n : undefined\n const paths = getTaskListPaths(listId)\n const tasks = listTasks({ listId })\n const statuses = normalizeStatusFilter(commandOptions?.status)\n const filtered = filterTasksByStatus(tasks, statuses)\n const readyBlocked = calculateReadyBlocked(filtered)\n const ready = readyBlocked.ready.map(toTaskListItem)\n const blocked = readyBlocked.blocked.map(toTaskListItem)\n const includeBlocked = commandOptions?.includeBlocked !== false\n const items = includeBlocked\n ? filtered.map(toTaskListItem)\n : filtered\n .filter(item => ready.some(entry => entry.id === item.id))\n .map(toTaskListItem)\n console.log(\n JSON.stringify(\n {\n listId: paths.listId,\n items,\n ready,\n blocked: includeBlocked ? blocked : [],\n },\n null,\n 2,\n ),\n )\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n task\n .command('get')\n .description('Get a task by id')\n .option('--list-id <listId>', 'Task list id')\n .option('--task-id <taskId>', 'Task id')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (options: any) => {\n try {\n const commandOptions = getCommandOptions(options)\n const workingDir = resolveWorkingDir(commandOptions, program)\n await setup(workingDir, false)\n const listId =\n typeof commandOptions?.listId === 'string' && commandOptions.listId.length > 0\n ? commandOptions.listId\n : undefined\n const taskId =\n typeof commandOptions?.taskId === 'string' && commandOptions.taskId.length > 0\n ? commandOptions.taskId\n : undefined\n if (!taskId) {\n throw new Error('Task id is required')\n }\n const paths = getTaskListPaths(listId)\n const task = getTask(taskId, { listId })\n if (!task) {\n throw new Error(`Task ${taskId} not found`)\n }\n console.log(\n JSON.stringify(\n {\n listId: paths.listId,\n item: toTaskDetail(task),\n },\n null,\n 2,\n ),\n )\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n\n const modelsCmd = program\n .command('models')\n .description('Import/export model profiles and pointers (YAML)')\n\n modelsCmd\n .command('export')\n .description(\n 'Export shareable model config as YAML (does not include plaintext API keys)',\n )\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-o, --output <path>', 'Write YAML to file instead of stdout')\n .action(async ({ cwd, output }) => {\n try {\n await setup(cwd, false)\n const yamlText = formatModelConfigYamlForSharing(getGlobalConfig())\n if (output) {\n writeFileSync(output, yamlText, 'utf-8')\n console.log(`Wrote model config YAML to ${output}`)\n } else {\n console.log(yamlText)\n }\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n modelsCmd\n .command('import <file>')\n .description('Import model config YAML (merges by default)')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('--replace', 'Replace existing model profiles instead of merging')\n .action(async (file: string, { cwd, replace }) => {\n try {\n await setup(cwd, false)\n\n const yamlText = readFileSync(file, 'utf-8')\n const { nextConfig, warnings } = applyModelConfigYamlImport(\n getGlobalConfig(),\n yamlText,\n { replace: !!replace },\n )\n saveGlobalConfig(nextConfig)\n\n await import('@utils/model').then(({ reloadModelManager }) => {\n reloadModelManager()\n })\n\n if (warnings.length > 0) {\n console.error(warnings.join('\\n'))\n }\n console.log(`Imported model config YAML from ${file}`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n modelsCmd\n .command('list')\n .description('List configured model profiles and pointers')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('--json', 'Output as JSON')\n .action(async (options: any) => {\n try {\n const programCwd = (program.opts() as { cwd?: string }).cwd\n const workingDir =\n typeof options?.cwd === 'string'\n ? options.cwd\n : typeof programCwd === 'string'\n ? programCwd\n : cwd()\n const asJson = options?.json === true\n await setup(workingDir, false)\n const { reloadModelManager, getModelManager } = await import('@utils/model')\n reloadModelManager()\n const manager = getModelManager()\n const config = getGlobalConfig()\n\n const pointers = (['main', 'task', 'compact', 'quick'] as const).map(\n pointer => {\n const pointerId = config.modelPointers?.[pointer] ?? null\n const resolved = manager.resolveModelWithInfo(pointer)\n const profile = resolved.success ? resolved.profile : null\n return {\n pointer,\n pointerId,\n resolved: profile\n ? {\n name: profile.name,\n provider: profile.provider,\n modelName: profile.modelName,\n isActive: profile.isActive,\n }\n : null,\n error: resolved.success ? null : resolved.error ?? null,\n }\n },\n )\n\n const profiles = (config.modelProfiles ?? []).map(p => ({\n name: p.name,\n provider: p.provider,\n modelName: p.modelName,\n baseURL: p.baseURL ?? null,\n maxTokens: p.maxTokens,\n contextLength: p.contextLength,\n reasoningEffort: p.reasoningEffort ?? null,\n isActive: p.isActive,\n createdAt: p.createdAt,\n lastUsed: typeof p.lastUsed === 'number' ? p.lastUsed : null,\n isGPT5: p.isGPT5 ?? null,\n validationStatus: p.validationStatus ?? null,\n lastValidation: typeof p.lastValidation === 'number' ? p.lastValidation : null,\n hasApiKey: Boolean(p.apiKey),\n }))\n\n if (asJson) {\n console.log(JSON.stringify({ pointers, profiles }, null, 2))\n process.exitCode = 0\n return\n }\n\n console.log('Model pointers:\\n')\n for (const ptr of pointers) {\n const resolvedLabel = ptr.resolved\n ? `${ptr.resolved.name} (${ptr.resolved.provider}:${ptr.resolved.modelName})`\n : '(unresolved)'\n const configured = ptr.pointerId ? ` -> ${ptr.pointerId}` : ''\n const err = ptr.error ? ` [${ptr.error}]` : ''\n console.log(` - ${ptr.pointer}${configured}: ${resolvedLabel}${err}`)\n }\n\n const active = profiles.filter(p => p.isActive)\n console.log(`\\nModel profiles (${active.length}/${profiles.length} active):\\n`)\n for (const p of profiles.sort((a, b) => a.name.localeCompare(b.name))) {\n const status = p.isActive ? 'active' : 'inactive'\n console.log(` - ${p.name} (${status})`)\n console.log(` provider=${p.provider} modelName=${p.modelName}`)\n if (p.baseURL) console.log(` baseURL=${p.baseURL}`)\n }\n\n process.exitCode = 0\n return\n } catch (error) {\n console.error((error as Error).message)\n process.exitCode = 1\n return\n }\n })\n\n const agentsCmd = program\n .command('agents')\n .description('Agent utilities (validate templates, etc.)')\n\n agentsCmd\n .command('validate [paths...]')\n .description('Validate agent markdown files (defaults to user+project agent dirs)')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('--json', 'Output as JSON')\n .option('--no-tools-check', 'Skip validating tool names against the tool registry')\n .action(\n async (paths: string[] | undefined, options: any) => {\n try {\n const workingDir = typeof options?.cwd === 'string' ? options.cwd : cwd()\n await setup(workingDir, false)\n const { validateAgentTemplates } = await import('./agentsValidate')\n const report = await validateAgentTemplates({\n cwd: workingDir,\n paths: Array.isArray(paths) ? paths : [],\n checkTools: options.toolsCheck !== false,\n })\n\n if (options.json) {\n console.log(JSON.stringify(report, null, 2))\n process.exitCode = report.ok ? 0 : 1\n return\n }\n\n console.log(\n `Validated ${report.results.length} agent file(s): ${report.errorCount} error(s), ${report.warningCount} warning(s)\\n`,\n )\n\n for (const r of report.results) {\n const rel = r.filePath\n const title = r.agentType ? `${r.agentType}` : '(unknown agent)'\n console.log(`${title} \u2014 ${rel}`)\n if (r.model) {\n const normalized = r.normalizedModel ? ` (normalized: ${r.normalizedModel})` : ''\n console.log(` model: ${r.model}${normalized}`)\n }\n if (r.issues.length === 0) {\n console.log(` OK`)\n } else {\n for (const issue of r.issues) {\n console.log(` - ${issue.level}: ${issue.message}`)\n }\n }\n console.log('')\n }\n\n process.exitCode = report.ok ? 0 : 1\n return\n } catch (error) {\n console.error((error as Error).message)\n process.exitCode = 1\n return\n }\n },\n )\n\n\n const registerMarketplaceCommands = (marketplaceCmd: Command) => {\n marketplaceCmd\n .command('add <source>')\n .description('Add a marketplace from a URL, path, or GitHub repo')\n .action(async (source: string) => {\n try {\n const { addMarketplace } = await import('@services/skillMarketplace')\n console.log('Adding marketplace...')\n const { name } = await addMarketplace(source)\n console.log(`Successfully added marketplace: ${name}`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n marketplaceCmd\n .command('list')\n .description('List all configured marketplaces')\n .option('--json', 'Output as JSON')\n .action(async (options: { json?: boolean }) => {\n try {\n const { listMarketplaces } =\n await import('@services/skillMarketplace')\n const marketplaces = listMarketplaces()\n\n if (options.json) {\n console.log(JSON.stringify(marketplaces, null, 2))\n process.exit(0)\n }\n\n const names = Object.keys(marketplaces).sort()\n if (names.length === 0) {\n console.log('No marketplaces configured')\n process.exit(0)\n }\n\n console.log('Configured marketplaces:\\n')\n for (const name of names) {\n const entry = marketplaces[name] as any\n console.log(` - ${name}`)\n const src = entry?.source\n if (src?.source === 'github') {\n console.log(` Source: GitHub (${src.repo})`)\n } else if (src?.source === 'git') {\n console.log(` Source: Git (${src.url})`)\n } else if (src?.source === 'url') {\n console.log(` Source: URL (${src.url})`)\n } else if (src?.source === 'directory') {\n console.log(` Source: Directory (${src.path})`)\n } else if (src?.source === 'file') {\n console.log(` Source: File (${src.path})`)\n } else if (src?.source === 'npm') {\n console.log(` Source: NPM (${src.package})`)\n }\n console.log('')\n }\n\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n marketplaceCmd\n .command('remove <name>')\n .alias('rm')\n .description('Remove a configured marketplace')\n .action(async (name: string) => {\n try {\n const { removeMarketplace } =\n await import('@services/skillMarketplace')\n removeMarketplace(name)\n console.log(`Successfully removed marketplace: ${name}`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n marketplaceCmd\n .command('update [name]')\n .description(\n 'Update marketplace(s) from their source - updates all if no name specified',\n )\n .action(async (name: string | undefined, _options: any) => {\n try {\n const {\n listMarketplaces,\n refreshAllMarketplacesAsync,\n refreshMarketplaceAsync,\n } = await import('@services/skillMarketplace')\n\n const trimmed = typeof name === 'string' ? name.trim() : ''\n if (trimmed) {\n console.log(`Updating marketplace: ${trimmed}...`)\n await refreshMarketplaceAsync(trimmed)\n console.log(`Successfully updated marketplace: ${trimmed}`)\n process.exit(0)\n }\n\n const marketplaces = listMarketplaces()\n const names = Object.keys(marketplaces)\n if (names.length === 0) {\n console.log('No marketplaces configured')\n process.exit(0)\n }\n\n console.log(`Updating ${names.length} marketplace(s)...`)\n await refreshAllMarketplacesAsync(message => {\n console.log(message)\n })\n console.log(`Successfully updated ${names.length} marketplace(s)`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n }\n\n const pluginCmd = program\n .command('plugin')\n .description('Manage plugins and marketplaces')\n\n const pluginMarketplaceCmd = pluginCmd\n .command('marketplace')\n .description(\n 'Manage marketplaces (.pyb-plugin/marketplace.json; legacy .claude-plugin supported)',\n )\n\n registerMarketplaceCommands(pluginMarketplaceCmd)\n\n const PLUGIN_SCOPES = ['user', 'project', 'local'] as const\n type PluginScope = (typeof PLUGIN_SCOPES)[number]\n\n const parsePluginScope = (value: unknown): PluginScope | null => {\n const normalized = String(value || 'user') as PluginScope\n return PLUGIN_SCOPES.includes(normalized) ? normalized : null\n }\n\n pluginCmd\n .command('install <plugin>')\n .alias('i')\n .description(\n 'Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)',\n )\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option(\n '-s, --scope <scope>',\n 'Installation scope: user, project, or local',\n 'user',\n )\n .option('--force', 'Overwrite existing installed files', () => true)\n .action(async (plugin: string, options: any) => {\n try {\n const scope = parsePluginScope(options.scope)\n if (!scope) {\n console.error(\n `Invalid scope: ${String(options.scope)}. Must be one of: ${PLUGIN_SCOPES.join(', ')}`,\n )\n process.exit(1)\n }\n\n const { setCwd } = await import('@utils/state')\n await setCwd(options.cwd ?? cwd())\n\n const { installSkillPlugin } =\n await import('@services/skillMarketplace')\n const result = installSkillPlugin(plugin, {\n scope,\n force: options.force === true,\n })\n\n const skillList =\n result.installedSkills.length > 0\n ? `Skills: ${result.installedSkills.join(', ')}`\n : 'Skills: (none)'\n console.log(`Installed ${result.pluginSpec}\\n${skillList}`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n pluginCmd\n .command('uninstall <plugin>')\n .alias('remove')\n .alias('rm')\n .description('Uninstall an installed plugin')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option(\n '-s, --scope <scope>',\n `Uninstall from scope: ${PLUGIN_SCOPES.join(', ')} (default: user)`,\n 'user',\n )\n .action(async (plugin: string, options: any) => {\n try {\n const scope = parsePluginScope(options.scope)\n if (!scope) {\n console.error(\n `Invalid scope: ${String(options.scope)}. Must be one of: ${PLUGIN_SCOPES.join(', ')}`,\n )\n process.exit(1)\n }\n\n const { setCwd } = await import('@utils/state')\n await setCwd(options.cwd ?? cwd())\n\n const { uninstallSkillPlugin } =\n await import('@services/skillMarketplace')\n const result = uninstallSkillPlugin(plugin, { scope })\n const skillList =\n result.removedSkills.length > 0\n ? `Skills: ${result.removedSkills.join(', ')}`\n : 'Skills: (none)'\n console.log(`Uninstalled ${result.pluginSpec}\\n${skillList}`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n pluginCmd\n .command('list')\n .description('List installed plugins')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option(\n '-s, --scope <scope>',\n `Filter by scope: ${PLUGIN_SCOPES.join(', ')} (default: user)`,\n 'user',\n )\n .option('--json', 'Output as JSON')\n .action(async (options: any) => {\n try {\n const scope = parsePluginScope(options.scope)\n if (!scope) {\n console.error(\n `Invalid scope: ${String(options.scope)}. Must be one of: ${PLUGIN_SCOPES.join(', ')}`,\n )\n process.exit(1)\n }\n\n const { setCwd, getCwd } = await import('@utils/state')\n await setCwd(options.cwd ?? cwd())\n\n const { listInstalledSkillPlugins } =\n await import('@services/skillMarketplace')\n const all = listInstalledSkillPlugins()\n const filtered = Object.fromEntries(\n Object.entries(all).filter(([, record]) => {\n if ((record as any)?.scope !== scope) return false\n if (scope === 'user') return true\n return (record as any)?.projectPath === getCwd()\n }),\n )\n\n if (options.json) {\n console.log(JSON.stringify(filtered, null, 2))\n process.exit(0)\n }\n\n const names = Object.keys(filtered).sort()\n if (names.length === 0) {\n console.log('No plugins installed')\n process.exit(0)\n }\n console.log(`Installed plugins (scope=${scope}):\\n`)\n for (const spec of names) {\n const record = filtered[spec] as any\n const enabled = record?.isEnabled === false ? 'disabled' : 'enabled'\n console.log(` - ${spec} (${enabled})`)\n }\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n pluginCmd\n .command('enable <plugin>')\n .description('Enable a disabled plugin')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option(\n '-s, --scope <scope>',\n `Installation scope: ${PLUGIN_SCOPES.join(', ')} (default: user)`,\n 'user',\n )\n .action(async (plugin: string, options: any) => {\n try {\n const scope = parsePluginScope(options.scope)\n if (!scope) {\n console.error(\n `Invalid scope: ${String(options.scope)}. Must be one of: ${PLUGIN_SCOPES.join(', ')}`,\n )\n process.exit(1)\n }\n\n const { setCwd } = await import('@utils/state')\n await setCwd(options.cwd ?? cwd())\n\n const { enableSkillPlugin } = await import('@services/skillMarketplace')\n const result = enableSkillPlugin(plugin, { scope })\n console.log(`Enabled ${result.pluginSpec}`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n pluginCmd\n .command('disable <plugin>')\n .description('Disable an enabled plugin')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option(\n '-s, --scope <scope>',\n `Installation scope: ${PLUGIN_SCOPES.join(', ')} (default: user)`,\n 'user',\n )\n .action(async (plugin: string, options: any) => {\n try {\n const scope = parsePluginScope(options.scope)\n if (!scope) {\n console.error(\n `Invalid scope: ${String(options.scope)}. Must be one of: ${PLUGIN_SCOPES.join(', ')}`,\n )\n process.exit(1)\n }\n\n const { setCwd } = await import('@utils/state')\n await setCwd(options.cwd ?? cwd())\n\n const { disableSkillPlugin } =\n await import('@services/skillMarketplace')\n const result = disableSkillPlugin(plugin, { scope })\n console.log(`Disabled ${result.pluginSpec}`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n pluginCmd\n .command('validate <path>')\n .description('Validate a plugin or marketplace manifest')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (path: string, options: any) => {\n try {\n const { setCwd } = await import('@utils/state')\n await setCwd(options.cwd ?? cwd())\n\n const { formatValidationResult, validatePluginOrMarketplacePath } =\n await import('@services/pluginValidation')\n\n const result = validatePluginOrMarketplacePath(path)\n console.log(\n `Validating ${result.fileType} manifest: ${result.filePath}\\n`,\n )\n console.log(formatValidationResult(result))\n process.exit(result.success ? 0 : 1)\n } catch (error) {\n console.error(\n `Unexpected error during validation: ${\n error instanceof Error ? error.message : String(error)\n }`,\n )\n process.exit(2)\n }\n })\n\n\n const skillsCmd = program\n .command('skills')\n .description('Manage skills and skill marketplaces')\n\n const marketplaceCmd = skillsCmd\n .command('marketplace')\n .description(\n 'Manage skill marketplaces (.pyb-plugin/marketplace.json; legacy .claude-plugin supported)',\n )\n\n registerMarketplaceCommands(marketplaceCmd)\n\n skillsCmd\n .command('install <plugin>')\n .description('Install a skill plugin pack (<plugin>@<marketplace>)')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('--project', 'Install into this project (.pyb/...)', () => true)\n .option('--force', 'Overwrite existing installed files', () => true)\n .action(async (plugin: string, options: any) => {\n try {\n const { setCwd } = await import('@utils/state')\n await setCwd(options.cwd ?? cwd())\n\n const { installSkillPlugin } =\n await import('@services/skillMarketplace')\n const result = installSkillPlugin(plugin, {\n project: options.project === true,\n force: options.force === true,\n })\n const skillList =\n result.installedSkills.length > 0\n ? `Skills: ${result.installedSkills.join(', ')}`\n : 'Skills: (none)'\n console.log(`Installed ${plugin}\\n${skillList}`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n skillsCmd\n .command('uninstall <plugin>')\n .description('Uninstall a skill plugin pack (<plugin>@<marketplace>)')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('--project', 'Uninstall from this project (.pyb/...)', () => true)\n .action(async (plugin: string, options: any) => {\n try {\n const { setCwd } = await import('@utils/state')\n await setCwd(options.cwd ?? cwd())\n\n const { uninstallSkillPlugin } =\n await import('@services/skillMarketplace')\n const result = uninstallSkillPlugin(plugin, {\n project: options.project === true,\n })\n const skillList =\n result.removedSkills.length > 0\n ? `Skills: ${result.removedSkills.join(', ')}`\n : 'Skills: (none)'\n console.log(`Uninstalled ${plugin}\\n${skillList}`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n skillsCmd\n .command('list-installed')\n .description('List installed skill plugins')\n .action(async () => {\n try {\n const { listInstalledSkillPlugins } =\n await import('@services/skillMarketplace')\n console.log(JSON.stringify(listInstalledSkillPlugins(), null, 2))\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n\n const allowedTools = program\n .command('approved-tools')\n .description('Manage approved tools')\n\n allowedTools\n .command('list')\n .description('List all approved tools')\n .action(async () => {\n const result = handleListApprovedTools(getCwd())\n console.log(result)\n process.exit(0)\n })\n\n allowedTools\n .command('remove <tool>')\n .description('Remove a tool from the list of approved tools')\n .action(async (tool: string) => {\n const result = handleRemoveApprovedTool(tool)\n console.log(result.message)\n process.exit(result.success ? 0 : 1)\n })\n\n\n const mcp = program\n .command('mcp')\n .description('Configure and manage MCP servers')\n\n mcp\n .command('serve')\n .description(`Start the ${PRODUCT_NAME} MCP server`)\n .action(async () => {\n const providedCwd = (program.opts() as { cwd?: string }).cwd ?? cwd()\n\n if (!existsSync(providedCwd)) {\n console.error(`Error: Directory ${providedCwd} does not exist`)\n process.exit(1)\n }\n\n try {\n await setup(providedCwd, false)\n await startMCPServer(providedCwd)\n } catch (error) {\n console.error('Error: Failed to start MCP server:', error)\n process.exit(1)\n }\n })\n\n mcp\n .command('add-sse <name> <url>')\n .description('Add an SSE server')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (local, user, or project)',\n 'local',\n )\n .option(\n '-H, --header <header...>',\n 'Set headers (e.g. -H \"X-Api-Key: abc123\" -H \"X-Custom: value\")',\n )\n .action(async (name, url, options) => {\n try {\n const scopeInfo = normalizeMcpScopeForCli(options.scope)\n const headers = parseMcpHeaders(options.header)\n\n addMcpServer(\n name,\n { type: 'sse', url, ...(headers ? { headers } : {}) },\n scopeInfo.scope,\n )\n console.log(\n `Added SSE MCP server ${name} with URL: ${url} to ${scopeInfo.display} config`,\n )\n if (headers) {\n console.log(`Headers: ${JSON.stringify(headers, null, 2)}`)\n }\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('add-http <name> <url>')\n .description('Add a Streamable HTTP MCP server')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (local, user, or project)',\n 'local',\n )\n .option(\n '-H, --header <header...>',\n 'Set headers (e.g. -H \"X-Api-Key: abc123\" -H \"X-Custom: value\")',\n )\n .action(async (name, url, options) => {\n try {\n const scopeInfo = normalizeMcpScopeForCli(options.scope)\n const headers = parseMcpHeaders(options.header)\n addMcpServer(\n name,\n { type: 'http', url, ...(headers ? { headers } : {}) },\n scopeInfo.scope,\n )\n console.log(\n `Added HTTP MCP server ${name} with URL: ${url} to ${scopeInfo.display} config`,\n )\n if (headers) {\n console.log(`Headers: ${JSON.stringify(headers, null, 2)}`)\n }\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('add-ws <name> <url>')\n .description('Add a WebSocket MCP server')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (local, user, or project)',\n 'local',\n )\n .action(async (name, url, options) => {\n try {\n const scopeInfo = normalizeMcpScopeForCli(options.scope)\n addMcpServer(name, { type: 'ws', url }, scopeInfo.scope)\n console.log(\n `Added WebSocket MCP server ${name} with URL ${url} to ${scopeInfo.display} config`,\n )\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('add [name] [commandOrUrl] [args...]')\n .description('Add a server (run without arguments for interactive wizard)')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (local, user, or project)',\n 'local',\n )\n .option(\n '-t, --transport <transport>',\n 'MCP transport (stdio, sse, or http)',\n )\n .option(\n '-H, --header <header...>',\n 'Set headers (e.g. -H \"X-Api-Key: abc123\" -H \"X-Custom: value\")',\n )\n .option(\n '-e, --env <env...>',\n 'Set environment variables (e.g. -e KEY=value)',\n )\n .action(async (name, commandOrUrl, args, options) => {\n try {\n if (!name) {\n console.log('Interactive wizard mode: Enter the server details')\n const { createInterface } = await import('readline')\n const rl = createInterface({\n input: process.stdin,\n output: process.stdout,\n })\n\n const question = (query: string) =>\n new Promise<string>(resolve => rl.question(query, resolve))\n\n const serverName = await question('Server name: ')\n if (!serverName) {\n console.error('Error: Server name is required')\n rl.close()\n process.exit(1)\n }\n\n const serverType = await question(\n 'Server type (stdio, http, sse, ws) [stdio]: ',\n )\n const type =\n serverType && ['stdio', 'http', 'sse', 'ws'].includes(serverType)\n ? serverType\n : 'stdio'\n\n const prompt = type === 'stdio' ? 'Command: ' : 'URL: '\n const commandOrUrlValue = await question(prompt)\n if (!commandOrUrlValue) {\n console.error(\n `Error: ${type === 'stdio' ? 'Command' : 'URL'} is required`,\n )\n rl.close()\n process.exit(1)\n }\n\n let serverArgs: string[] = []\n let serverEnv: Record<string, string> = {}\n\n if (type === 'stdio') {\n const argsStr = await question(\n 'Command arguments (space-separated): ',\n )\n serverArgs = argsStr ? argsStr.split(' ').filter(Boolean) : []\n\n const envStr = await question(\n 'Environment variables (format: KEY1=value1,KEY2=value2): ',\n )\n if (envStr) {\n const envPairs = envStr.split(',').map(pair => pair.trim())\n serverEnv = parseEnvVars(envPairs.map(pair => pair))\n }\n }\n\n const scopeStr = await question(\n 'Configuration scope (local, user, or project) [local]: ',\n )\n const scopeInfo = normalizeMcpScopeForCli(scopeStr)\n const serverScope = scopeInfo.scope\n\n rl.close()\n\n if (type === 'http') {\n addMcpServer(\n serverName,\n { type: 'http', url: commandOrUrlValue },\n serverScope,\n )\n console.log(\n `Added HTTP MCP server ${serverName} with URL ${commandOrUrlValue} to ${scopeInfo.display} config`,\n )\n } else if (type === 'sse') {\n addMcpServer(\n serverName,\n { type: 'sse', url: commandOrUrlValue },\n serverScope,\n )\n console.log(\n `Added SSE MCP server ${serverName} with URL ${commandOrUrlValue} to ${scopeInfo.display} config`,\n )\n } else if (type === 'ws') {\n addMcpServer(\n serverName,\n { type: 'ws', url: commandOrUrlValue },\n serverScope,\n )\n console.log(\n `Added WebSocket MCP server ${serverName} with URL ${commandOrUrlValue} to ${scopeInfo.display} config`,\n )\n } else {\n addMcpServer(\n serverName,\n {\n type: 'stdio',\n command: commandOrUrlValue,\n args: serverArgs,\n env: serverEnv,\n },\n serverScope,\n )\n\n console.log(\n `Added stdio MCP server ${serverName} with command: ${commandOrUrlValue} ${serverArgs.join(' ')} to ${scopeInfo.display} config`,\n )\n }\n } else if (name && commandOrUrl) {\n const scopeInfo = normalizeMcpScopeForCli(options.scope)\n const transportInfo = normalizeMcpTransport(options.transport)\n\n if (transportInfo.transport === 'stdio') {\n if (options.header?.length) {\n throw new Error(\n '--header can only be used with --transport http or --transport sse',\n )\n }\n\n const env = parseEnvVars(options.env)\n if (!transportInfo.explicit && looksLikeMcpUrl(commandOrUrl)) {\n console.warn(\n `Warning: \"${commandOrUrl}\" looks like a URL. Default transport is stdio, so it will be treated as a command.`,\n )\n console.warn(\n `If you meant to add an HTTP MCP server, run: ${PRODUCT_COMMAND} mcp add ${name} ${commandOrUrl} --transport http`,\n )\n console.warn(\n `If you meant to add a legacy SSE MCP server, run: ${PRODUCT_COMMAND} mcp add ${name} ${commandOrUrl} --transport sse`,\n )\n }\n\n addMcpServer(\n name,\n { type: 'stdio', command: commandOrUrl, args: args || [], env },\n scopeInfo.scope,\n )\n\n console.log(\n `Added stdio MCP server ${name} with command: ${commandOrUrl} ${(args || []).join(' ')} to ${scopeInfo.display} config`,\n )\n } else {\n if (options.env?.length) {\n throw new Error('--env is only supported for stdio MCP servers')\n }\n if (args?.length) {\n throw new Error(\n 'Unexpected arguments. URL-based MCP servers do not accept command args.',\n )\n }\n\n const headers = parseMcpHeaders(options.header)\n addMcpServer(\n name,\n {\n type: transportInfo.transport,\n url: commandOrUrl,\n ...(headers ? { headers } : {}),\n },\n scopeInfo.scope,\n )\n\n const kind = transportInfo.transport.toUpperCase()\n console.log(\n `Added ${kind} MCP server ${name} with URL: ${commandOrUrl} to ${scopeInfo.display} config`,\n )\n if (headers) {\n console.log(`Headers: ${JSON.stringify(headers, null, 2)}`)\n }\n }\n } else {\n console.error(\n 'Error: Missing required arguments. Either provide no arguments for interactive mode or specify name and command/URL.',\n )\n process.exit(1)\n }\n\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n mcp\n .command('remove <name>')\n .description('Remove an MCP server')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (local, user, or project)',\n )\n .action(async (name: string, options: { scope?: string }) => {\n try {\n if (options.scope) {\n const scopeInfo = normalizeMcpScopeForCli(options.scope)\n removeMcpServer(name, scopeInfo.scope)\n console.log(\n `Removed MCP server ${name} from ${scopeInfo.display} config`,\n )\n process.exit(0)\n }\n\n const matches: Array<{\n scope: ReturnType<typeof ensureConfigScope>\n display: string\n }> = []\n\n const projectConfig = getCurrentProjectConfig()\n if (projectConfig.mcpServers?.[name]) {\n matches.push({\n scope: ensureConfigScope('project'),\n display: 'local',\n })\n }\n\n const globalConfig = getGlobalConfig()\n if (globalConfig.mcpServers?.[name]) {\n matches.push({ scope: ensureConfigScope('global'), display: 'user' })\n }\n\n const projectFileDefinitions = getProjectMcpServerDefinitions()\n if (projectFileDefinitions.servers[name]) {\n const source = projectFileDefinitions.sources[name]\n if (source === '.mcp.json') {\n matches.push({\n scope: ensureConfigScope('mcpjson'),\n display: 'project',\n })\n } else {\n matches.push({\n scope: ensureConfigScope('mcprc'),\n display: 'mcprc',\n })\n }\n }\n\n if (matches.length === 0) {\n throw new Error(`No MCP server found with name: ${name}`)\n }\n\n if (matches.length > 1) {\n console.error(\n `MCP server \"${name}\" exists in multiple scopes: ${matches\n .map(m => m.display)\n .join(', ')}`,\n )\n console.error('Please specify which scope to remove from:')\n for (const match of matches) {\n console.error(\n ` ${PRODUCT_COMMAND} mcp remove ${name} --scope ${match.display}`,\n )\n }\n process.exit(1)\n }\n\n const match = matches[0]!\n removeMcpServer(name, match.scope)\n console.log(`Removed MCP server ${name} from ${match.display} config`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('list')\n .description('List configured MCP servers')\n .action(async () => {\n try {\n const servers = listMCPServers()\n if (Object.keys(servers).length === 0) {\n console.log(\n `No MCP servers configured. Use \\`${PRODUCT_COMMAND} mcp add\\` to add a server.`,\n )\n process.exit(0)\n }\n\n const projectFileServers = getProjectMcpServerDefinitions()\n const clients = await getClients()\n const clientByName = new Map<string, (typeof clients)[number]>()\n for (const client of clients) {\n clientByName.set(client.name, client)\n }\n\n const names = Object.keys(servers).sort((a, b) => a.localeCompare(b))\n for (const name of names) {\n const server = servers[name]!\n\n const client = clientByName.get(name)\n const status =\n client?.type === 'connected'\n ? 'connected'\n : client?.type === 'failed'\n ? 'failed'\n : projectFileServers.servers[name]\n ? (() => {\n const approval = getMcprcServerStatus(name)\n if (approval === 'pending') return 'pending'\n if (approval === 'rejected') return 'rejected'\n return 'disconnected'\n })()\n : 'disconnected'\n\n const summary = (() => {\n switch (server.type) {\n case 'http':\n return `${server.url} (http)`\n case 'sse':\n return `${server.url} (sse)`\n case 'sse-ide':\n return `${server.url} (sse-ide)`\n case 'ws':\n return `${server.url} (ws)`\n case 'ws-ide':\n return `${server.url} (ws-ide)`\n case 'stdio':\n default:\n return `${server.command} ${(server.args || []).join(' ')} (stdio)`\n }\n })()\n\n console.log(`${name}: ${summary} [${status}]`)\n }\n\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('add-json <name> <json>')\n .description('Add an MCP server with a JSON string')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (project, global, or mcprc)',\n 'project',\n )\n .action(async (name, jsonStr, options) => {\n try {\n const scope = ensureConfigScope(options.scope)\n\n let serverConfig\n try {\n serverConfig = JSON.parse(jsonStr)\n } catch (e) {\n console.error('Error: Invalid JSON string')\n process.exit(1)\n }\n\n if (\n !serverConfig.type ||\n !['stdio', 'sse', 'http', 'ws', 'sse-ide', 'ws-ide'].includes(\n serverConfig.type,\n )\n ) {\n console.error(\n 'Error: Server type must be one of: \"stdio\", \"http\", \"sse\", \"ws\", \"sse-ide\", \"ws-ide\"',\n )\n process.exit(1)\n }\n\n if (\n ['sse', 'http', 'ws', 'sse-ide', 'ws-ide'].includes(\n serverConfig.type,\n ) &&\n !serverConfig.url\n ) {\n console.error('Error: URL-based MCP servers must have a URL')\n process.exit(1)\n }\n\n if (serverConfig.type === 'stdio' && !serverConfig.command) {\n console.error('Error: stdio server must have a command')\n process.exit(1)\n }\n\n if (\n ['sse-ide', 'ws-ide'].includes(serverConfig.type) &&\n !serverConfig.ideName\n ) {\n console.error('Error: IDE MCP servers must include ideName')\n process.exit(1)\n }\n\n\n addMcpServer(name, serverConfig, scope)\n\n switch (serverConfig.type) {\n case 'http':\n console.log(\n `Added HTTP MCP server ${name} with URL ${serverConfig.url} to ${scope} config`,\n )\n break\n case 'sse':\n console.log(\n `Added SSE MCP server ${name} with URL ${serverConfig.url} to ${scope} config`,\n )\n break\n case 'sse-ide':\n console.log(\n `Added SSE-IDE MCP server ${name} with URL ${serverConfig.url} to ${scope} config`,\n )\n break\n case 'ws':\n console.log(\n `Added WS MCP server ${name} with URL ${serverConfig.url} to ${scope} config`,\n )\n break\n case 'ws-ide':\n console.log(\n `Added WS-IDE MCP server ${name} with URL ${serverConfig.url} to ${scope} config`,\n )\n break\n case 'stdio':\n default:\n console.log(\n `Added stdio MCP server ${name} with command: ${serverConfig.command} ${(\n serverConfig.args || []\n ).join(' ')} to ${scope} config`,\n )\n break\n }\n\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('get <name>')\n .description('Get details about an MCP server')\n .action(async (name: string) => {\n try {\n const server = getMcpServer(name)\n if (!server) {\n console.error(`No MCP server found with name: ${name}`)\n process.exit(1)\n }\n\n const projectFileServers = getProjectMcpServerDefinitions()\n const clients = await getClients()\n const client = clients.find(c => c.name === name)\n\n const status =\n client?.type === 'connected'\n ? 'connected'\n : client?.type === 'failed'\n ? 'failed'\n : projectFileServers.servers[name]\n ? (() => {\n const approval = getMcprcServerStatus(name)\n if (approval === 'pending') return 'pending'\n if (approval === 'rejected') return 'rejected'\n return 'disconnected'\n })()\n : 'disconnected'\n\n const scopeDisplay = (() => {\n switch (server.scope) {\n case 'project':\n return 'local'\n case 'global':\n return 'user'\n case 'mcpjson':\n return 'project'\n case 'mcprc':\n return 'mcprc'\n default:\n return server.scope\n }\n })()\n\n console.log(`${name}:`)\n console.log(` Status: ${status}`)\n console.log(` Scope: ${scopeDisplay}`)\n\n const printHeaders = (headers: Record<string, string> | undefined) => {\n if (!headers || Object.keys(headers).length === 0) return\n console.log(' Headers:')\n for (const [key, value] of Object.entries(headers)) {\n console.log(` ${key}: ${value}`)\n }\n }\n\n switch (server.type) {\n case 'http':\n console.log(` Type: http`)\n console.log(` URL: ${server.url}`)\n printHeaders(server.headers)\n break\n case 'sse':\n console.log(` Type: sse`)\n console.log(` URL: ${server.url}`)\n printHeaders(server.headers)\n break\n case 'sse-ide':\n console.log(` Type: sse-ide`)\n console.log(` URL: ${server.url}`)\n console.log(` IDE: ${server.ideName}`)\n printHeaders(server.headers)\n break\n case 'ws':\n console.log(` Type: ws`)\n console.log(` URL: ${server.url}`)\n break\n case 'ws-ide':\n console.log(` Type: ws-ide`)\n console.log(` URL: ${server.url}`)\n console.log(` IDE: ${server.ideName}`)\n break\n case 'stdio':\n default:\n console.log(` Type: stdio`)\n console.log(` Command: ${server.command}`)\n console.log(` Args: ${(server.args || []).join(' ')}`)\n if (server.env) {\n console.log(' Environment:')\n for (const [key, value] of Object.entries(server.env)) {\n console.log(` ${key}=${value}`)\n }\n }\n break\n }\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('add-from-claude-desktop')\n .description(\n 'Import MCP servers from a desktop MCP host config (macOS, Windows and WSL)',\n )\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (project, global, or mcprc)',\n 'project',\n )\n .action(async options => {\n try {\n const scope = ensureConfigScope(options.scope)\n const platform = process.platform\n\n const { existsSync, readFileSync } = await import('fs')\n const { join } = await import('path')\n const { exec } = await import('child_process')\n\n const isWSL =\n platform === 'linux' &&\n existsSync('/proc/version') &&\n readFileSync('/proc/version', 'utf-8')\n .toLowerCase()\n .includes('microsoft')\n\n if (platform !== 'darwin' && platform !== 'win32' && !isWSL) {\n console.error(\n 'Error: This command is only supported on macOS, Windows, and WSL',\n )\n process.exit(1)\n }\n\n let configPath\n if (platform === 'darwin') {\n configPath = join(\n process.env.HOME || '~',\n 'Library/Application Support/Claude/claude_desktop_config.json',\n )\n } else if (platform === 'win32') {\n configPath = join(\n process.env.APPDATA || '',\n 'Claude/claude_desktop_config.json',\n )\n } else if (isWSL) {\n const whoamiCommand = await new Promise<string>((resolve, reject) => {\n exec(\n 'powershell.exe -Command \"whoami\"',\n (err: Error, stdout: string) => {\n if (err) reject(err)\n else resolve(stdout.trim().split('\\\\').pop() || '')\n },\n )\n })\n\n configPath = `/mnt/c/Users/${whoamiCommand}/AppData/Roaming/Claude/claude_desktop_config.json`\n }\n\n if (!existsSync(configPath)) {\n console.error(`Error: Config file not found at ${configPath}`)\n process.exit(1)\n }\n\n let config\n try {\n const configContent = readFileSync(configPath, 'utf-8')\n config = JSON.parse(configContent)\n } catch (err) {\n console.error(`Error reading config file: ${err}`)\n process.exit(1)\n }\n\n const mcpServers = config.mcpServers || {}\n const serverNames = Object.keys(mcpServers)\n const numServers = serverNames.length\n\n if (numServers === 0) {\n console.log('No MCP servers found in the desktop config')\n process.exit(0)\n }\n\n const serversInfo = serverNames.map(name => {\n const server = mcpServers[name]\n let description = ''\n\n switch (server.type) {\n case 'http':\n description = `HTTP: ${server.url}`\n break\n case 'sse':\n description = `SSE: ${server.url}`\n break\n case 'sse-ide':\n description = `SSE-IDE (${server.ideName}): ${server.url}`\n break\n case 'ws':\n description = `WS: ${server.url}`\n break\n case 'ws-ide':\n description = `WS-IDE (${server.ideName}): ${server.url}`\n break\n case 'stdio':\n default:\n description = `stdio: ${server.command} ${(server.args || []).join(' ')}`\n break\n }\n\n return { name, description, server }\n })\n\n const ink = await import('ink')\n const reactModule = await import('react')\n const inkjsui = await import('@inkjs/ui')\n const utilsTheme = await import('@utils/theme')\n\n const { render } = ink\n const React = reactModule\n const { MultiSelect } = inkjsui\n const { Box, Text } = ink\n const { getTheme } = utilsTheme\n\n await new Promise<void>(resolve => {\n function ClaudeDesktopImport() {\n const { useState } = reactModule\n const [isFinished, setIsFinished] = useState(false)\n const [importResults, setImportResults] = useState(\n [] as { name: string; success: boolean }[],\n )\n const [isImporting, setIsImporting] = useState(false)\n const theme = getTheme()\n\n const importServers = async (selectedServers: string[]) => {\n setIsImporting(true)\n const results = []\n\n for (const name of selectedServers) {\n try {\n const server = mcpServers[name]\n\n const existingServer = getMcpServer(name)\n if (existingServer) {\n continue\n }\n\n addMcpServer(name, server as McpServerConfig, scope)\n results.push({ name, success: true })\n } catch (err) {\n results.push({ name, success: false })\n }\n }\n\n setImportResults(results)\n setIsImporting(false)\n setIsFinished(true)\n\n setTimeout(() => {\n resolve()\n }, 1000)\n }\n\n const handleConfirm = async (selectedServers: string[]) => {\n const existingServers = selectedServers.filter(name =>\n getMcpServer(name),\n )\n\n if (existingServers.length > 0) {\n const results = []\n\n const newServers = selectedServers.filter(\n name => !getMcpServer(name),\n )\n for (const name of newServers) {\n try {\n const server = mcpServers[name]\n addMcpServer(name, server as McpServerConfig, scope)\n results.push({ name, success: true })\n } catch (err) {\n results.push({ name, success: false })\n }\n }\n\n for (const name of existingServers) {\n try {\n const server = mcpServers[name]\n addMcpServer(name, server as McpServerConfig, scope)\n results.push({ name, success: true })\n } catch (err) {\n results.push({ name, success: false })\n }\n }\n\n setImportResults(results)\n setIsImporting(false)\n setIsFinished(true)\n\n setTimeout(() => {\n resolve()\n }, 1000)\n } else {\n await importServers(selectedServers)\n }\n }\n\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box\n flexDirection=\"column\"\n borderStyle=\"round\"\n borderColor={theme.pyb}\n padding={1}\n width={'100%'}\n >\n <Text bold color={theme.pyb}>\n Import MCP Servers from Desktop Config\n </Text>\n\n <Box marginY={1}>\n <Text>\n Found {numServers} MCP servers in the desktop config.\n </Text>\n </Box>\n\n <Text>Please select the servers you want to import:</Text>\n\n <Box marginTop={1}>\n <MultiSelect\n options={serverNames.map(name => ({\n label: name,\n value: name,\n }))}\n defaultValue={serverNames}\n onSubmit={handleConfirm}\n />\n </Box>\n </Box>\n\n <Box marginTop={0} marginLeft={3}>\n <Text dimColor>\n Space to select \u00B7 Enter to confirm \u00B7 Esc to cancel\n </Text>\n </Box>\n\n {isFinished && (\n <Box marginTop={1}>\n <Text color={theme.success}>\n Successfully imported{' '}\n {importResults.filter(r => r.success).length} MCP server\n to local config.\n </Text>\n </Box>\n )}\n </Box>\n )\n }\n\n const { unmount } = render(<ClaudeDesktopImport />)\n\n setTimeout(() => {\n unmount()\n resolve()\n }, 30000)\n })\n\n process.exit(0)\n } catch (error) {\n console.error(`Error: ${(error as Error).message}`)\n process.exit(1)\n }\n })\n\n const resetMcpChoices = () => {\n const config = getCurrentProjectConfig()\n saveCurrentProjectConfig({\n ...config,\n approvedMcprcServers: [],\n rejectedMcprcServers: [],\n })\n console.log(\n 'All project-file MCP server approvals/rejections (.mcp.json/.mcprc) have been reset.',\n )\n console.log(\n `You will be prompted for approval next time you start ${PRODUCT_NAME}.`,\n )\n process.exit(0)\n }\n\n mcp\n .command('reset-project-choices')\n .description(\n 'Reset approvals for project-file MCP servers (.mcp.json/.mcprc) in this project',\n )\n .action(() => {\n resetMcpChoices()\n })\n\n mcp\n .command('reset-mcprc-choices')\n .description(\n 'Reset approvals for project-file MCP servers (.mcp.json/.mcprc) in this project',\n )\n .action(() => {\n resetMcpChoices()\n })\n\n const lsp = program.command('lsp').description('LSP debug utilities')\n\n lsp\n .command('diagnostics <file>')\n .description('Show diagnostics for a file')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('--max-items <count>', 'Max diagnostics to show', Number)\n .option('--wait', 'Wait for fresh diagnostics', () => true)\n .option('--timeout <ms>', 'Timeout in milliseconds for waiting', Number)\n .action(async (file: string, options: any) => {\n try {\n const commandOptions = getCommandOptions(options)\n const workingDir = resolveWorkingDir(commandOptions, program)\n await setup(workingDir, false)\n const { getAbsolutePath } = await import('@utils/fs/file')\n const { LspFacade } = await import('../../lsp/index')\n const { existsSync } = await import('fs')\n\n const absPath = getAbsolutePath(file) ?? file\n if (!existsSync(absPath)) {\n console.error(`File does not exist: ${file}`)\n process.exit(1)\n }\n\n if (commandOptions?.wait) {\n await LspFacade.run({\n operation: 'diagnostics',\n filePath: absPath,\n waitForDiagnostics: true,\n timeoutMs: commandOptions?.timeout,\n rootPath: workingDir,\n })\n }\n\n const output = await LspFacade.diagnosticsPretty(absPath, {\n maxItems:\n typeof commandOptions?.maxItems === 'number'\n ? commandOptions.maxItems\n : undefined,\n rootPath: workingDir,\n })\n console.log(output)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n lsp\n .command('symbols <query>')\n .description('Search workspace symbols by query')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (query: string, options: any) => {\n try {\n const workingDir = resolveWorkingDir(options, program)\n await setup(workingDir, false)\n const { LspFacade } = await import('../../lsp/index')\n const result = await LspFacade.run({\n operation: 'workspaceSymbol',\n filePath: query,\n rootPath: workingDir,\n })\n console.log(result.formatted)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n lsp\n .command('document-symbols <file>')\n .description('Show document symbols for a file')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (file: string, options: any) => {\n try {\n const workingDir = resolveWorkingDir(options, program)\n await setup(workingDir, false)\n const { getAbsolutePath } = await import('@utils/fs/file')\n const { LspFacade } = await import('../../lsp/index')\n const { existsSync } = await import('fs')\n\n const absPath = getAbsolutePath(file) ?? file\n if (!existsSync(absPath)) {\n console.error(`File does not exist: ${file}`)\n process.exit(1)\n }\n\n const result = await LspFacade.run({\n operation: 'documentSymbol',\n filePath: absPath,\n rootPath: workingDir,\n })\n console.log(result.formatted)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n lsp\n .command('status')\n .description('Show aggregated LSP client status')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (options: any) => {\n try {\n const workingDir = resolveWorkingDir(options, program)\n await setup(workingDir, false)\n const { LspFacade } = await import('../../lsp/index')\n const status = LspFacade.status()\n console.log(JSON.stringify(status, null, 2))\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n lsp\n .command('status-server')\n .description('Serve LSP status over HTTP')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('--host <host>', 'Host to bind', String, '127.0.0.1')\n .option('--port <port>', 'Port to bind', Number, 7337)\n .action(async (options: any) => {\n try {\n const commandOptions = getCommandOptions(options)\n const workingDir = resolveWorkingDir(commandOptions, program)\n await setup(workingDir, false)\n const { LspFacade } = await import('../../lsp/index')\n const host =\n typeof commandOptions?.host === 'string' && commandOptions.host.length > 0\n ? commandOptions.host\n : '127.0.0.1'\n const port =\n typeof commandOptions?.port === 'number' && !Number.isNaN(commandOptions.port)\n ? commandOptions.port\n : 7337\n const server = LspFacade.serveStatus({ host, port })\n const url = `http://${host}:${server.port}/lsp/status`\n console.log(`LSP status server running at ${url}`)\n await new Promise(() => {})\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n program\n .command('doctor')\n .description(`Check the health of your ${PRODUCT_NAME} installation`)\n .action(async () => {\n await new Promise<void>(resolve => {\n ;(async () => {\n const { render } = await import('ink')\n render(<Doctor onDone={() => resolve()} doctorMode={true} />)\n })()\n })\n process.exit(0)\n })\n\n\n program\n .command('update')\n .description('Show manual upgrade commands (no auto-install)')\n .action(async () => {\n console.log(`Current version: ${MACRO.VERSION}`)\n console.log('Checking for updates...')\n\n const { getLatestVersion, getUpdateCommandSuggestions } =\n await import('@utils/session/autoUpdater')\n const latestVersion = await getLatestVersion()\n\n if (!latestVersion) {\n console.error('Failed to check for updates')\n process.exit(1)\n }\n\n if (latestVersion === MACRO.VERSION) {\n console.log(`${PRODUCT_NAME} is up to date`)\n process.exit(0)\n }\n\n console.log(`New version available: ${latestVersion}`)\n const cmds = await getUpdateCommandSuggestions()\n console.log('\\nRun one of the following commands to update:')\n for (const c of cmds) console.log(` ${c}`)\n if (process.platform !== 'win32') {\n console.log(\n '\\nNote: you may need to prefix with \"sudo\" on macOS/Linux.',\n )\n }\n process.exit(0)\n })\n\n program\n .command('log')\n .description('Manage conversation logs.')\n .argument(\n '[number]',\n 'A number (0, 1, 2, etc.) to display a specific log',\n parseInt,\n )\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (number, { cwd }) => {\n await setup(cwd, false)\n\n const context: { unmount?: () => void } = {}\n ;(async () => {\n const { render } = await import('ink')\n const { unmount } = render(\n <LogList context={context} type=\"messages\" logNumber={number} />,\n renderContextWithExitOnCtrlC,\n )\n context.unmount = unmount\n })()\n })\n\n program\n .command('resume')\n .description(\n 'Resume a previous conversation. Optionally provide a session ID or session name (legacy: log index or file path).',\n )\n .argument(\n '[identifier]',\n 'A session ID or session name (legacy: log index or file path)',\n )\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-e, --enable-architect', 'Enable the Architect tool', () => true)\n .option('-v, --verbose', 'Do not truncate message output', () => true)\n .option(\n '--safe',\n 'Enable strict permission checking mode (default is permissive)',\n () => true,\n )\n .option(\n '--disable-slash-commands',\n 'Disable slash commands (treat /... as plain text)',\n () => true,\n )\n .action(\n async (\n identifier,\n { cwd, enableArchitect, safe, verbose, disableSlashCommands },\n ) => {\n await setup(cwd, safe)\n assertMinVersion()\n\n const [{ getTools }, { getCommands }] = await Promise.all([\n import('@tools'),\n import('@commands'),\n ])\n const [allTools, commands, mcpClients] = await Promise.all([\n getTools(\n enableArchitect ?? getCurrentProjectConfig().enableArchitectTool,\n ),\n getCommands(),\n getClients(),\n ])\n const tools =\n disableSlashCommands === true\n ? allTools.filter(t => t.name !== 'SlashCommand')\n : allTools\n\n if (identifier !== undefined) {\n const { loadPybAgentSessionMessages } =\n await import('@utils/protocol/pybAgentSessionLoad')\n const { listPybAgentSessions, resolvePybResumeSessionIdentifier } =\n await import('@utils/protocol/pybAgentSessionResume')\n const { setPybAgentSessionId } =\n await import('@utils/protocol/pybAgentSessionId')\n\n const rawIdentifier = String(identifier).trim()\n const isLegacyNumber = /^-?\\\\d+$/.test(rawIdentifier)\n const isLegacyPath = !isLegacyNumber && existsSync(rawIdentifier)\n\n let messages: any[] | undefined\n let messageLogName: string = dateToFilename(new Date())\n let initialForkNumber: number | undefined = undefined\n\n try {\n if (isLegacyNumber || isLegacyPath) {\n const logs = await loadLogList(CACHE_PATHS.messages())\n if (isLegacyNumber) {\n const number = Math.abs(parseInt(rawIdentifier, 10))\n const log = logs[number]\n if (!log) {\n console.error('No conversation found at index', number)\n process.exit(1)\n }\n messages = await loadMessagesFromLog(log.fullPath, tools)\n messageLogName = log.date\n initialForkNumber = getNextAvailableLogForkNumber(\n log.date,\n log.forkNumber ?? 1,\n 0,\n )\n } else {\n messages = await loadMessagesFromLog(rawIdentifier, tools)\n const pathSegments = rawIdentifier.split('/')\n const filename =\n pathSegments[pathSegments.length - 1] ?? 'unknown'\n const { date, forkNumber } = parseLogFilename(filename)\n messageLogName = date\n initialForkNumber = getNextAvailableLogForkNumber(\n date,\n forkNumber ?? 1,\n 0,\n )\n }\n } else {\n const resolved = resolvePybResumeSessionIdentifier({\n cwd,\n identifier: rawIdentifier,\n })\n if (resolved.kind === 'ok') {\n setPybAgentSessionId(resolved.sessionId)\n messages = loadPybAgentSessionMessages({\n cwd,\n sessionId: resolved.sessionId,\n })\n } else if (resolved.kind === 'different_directory') {\n console.error(\n resolved.otherCwd\n ? `Error: That session belongs to a different directory: ${resolved.otherCwd}`\n : `Error: That session belongs to a different directory.`,\n )\n process.exit(1)\n } else if (resolved.kind === 'ambiguous') {\n console.error(\n `Error: Multiple sessions match \"${rawIdentifier}\": ${resolved.matchingSessionIds.join(\n ', ',\n )}`,\n )\n process.exit(1)\n } else {\n console.error(\n `No conversation found with session ID or name: ${rawIdentifier}`,\n )\n process.exit(1)\n }\n }\n\n const isDefaultModel = await isDefaultSlowAndCapableModel()\n {\n const { render } = await import('ink')\n const { REPL } = await import('@screens/REPL')\n render(\n <REPL\n initialPrompt=\"\"\n messageLogName={messageLogName}\n initialForkNumber={initialForkNumber}\n shouldShowPromptInput={true}\n verbose={verbose}\n commands={commands}\n disableSlashCommands={disableSlashCommands === true}\n tools={tools}\n safeMode={safe}\n initialMessages={messages}\n mcpClients={mcpClients}\n isDefaultModel={isDefaultModel}\n />,\n { exitOnCtrlC: false },\n )\n }\n } catch (error) {\n logError(`Failed to load conversation: ${error}`)\n process.exit(1)\n }\n } else {\n const { listPybAgentSessions } =\n await import('@utils/protocol/pybAgentSessionResume')\n const sessions = listPybAgentSessions({ cwd })\n if (sessions.length === 0) {\n console.error('No conversation found to resume')\n process.exit(1)\n }\n\n const context: { unmount?: () => void } = {}\n ;(async () => {\n const { render } = await import('ink')\n const { unmount } = render(\n <ResumeConversation\n cwd={cwd}\n context={context}\n commands={commands}\n sessions={sessions}\n tools={tools}\n verbose={verbose}\n safeMode={safe}\n disableSlashCommands={disableSlashCommands === true}\n mcpClients={mcpClients}\n initialPrompt=\"\"\n />,\n renderContextWithExitOnCtrlC,\n )\n context.unmount = unmount\n })()\n }\n },\n )\n\n program\n .command('error')\n .description(\n 'View error logs. Optionally provide a number (0, -1, -2, etc.) to display a specific log.',\n )\n .argument(\n '[number]',\n 'A number (0, 1, 2, etc.) to display a specific log',\n parseInt,\n )\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (number, { cwd }) => {\n await setup(cwd, false)\n\n const context: { unmount?: () => void } = {}\n ;(async () => {\n const { render } = await import('ink')\n const { unmount } = render(\n <LogList context={context} type=\"errors\" logNumber={number} />,\n renderContextWithExitOnCtrlC,\n )\n context.unmount = unmount\n })()\n })\n\n const context = program\n .command('context')\n .description(\n `Set static context (eg. ${PRODUCT_COMMAND} context add-file ./src/*.py)`,\n )\n\n context\n .command('get <key>')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .description('Get a value from context')\n .action(async (key, { cwd }) => {\n await setup(cwd, false)\n\n const context = omitKeys(\n await getContext(),\n 'codeStyle',\n 'directoryStructure',\n )\n console.log(context[key])\n process.exit(0)\n })\n\n context\n .command('set <key> <value>')\n .description('Set a value in context')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (key, value, { cwd }) => {\n await setup(cwd, false)\n\n setContext(key, value)\n console.log(`Set context.${key} to \"${value}\"`)\n process.exit(0)\n })\n\n context\n .command('list')\n .description('List all context values')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async ({ cwd }) => {\n await setup(cwd, false)\n\n const context = omitKeys(\n await getContext(),\n 'codeStyle',\n 'directoryStructure',\n 'gitStatus',\n )\n console.log(JSON.stringify(context, null, 2))\n process.exit(0)\n })\n\n context\n .command('remove <key>')\n .description('Remove a value from context')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (key, { cwd }) => {\n await setup(cwd, false)\n\n removeContext(key)\n console.log(`Removed context.${key}`)\n process.exit(0)\n })\n\n await program.parseAsync(process.argv)\n return program\n}\n\nasync function stdin() {\n if (process.stdin.isTTY) {\n return ''\n }\n\n let data = ''\n for await (const chunk of process.stdin) data += chunk\n return data\n}\n\nlet isGracefulExitInProgress = false\nasync function gracefulExit(code = 0) {\n if (isGracefulExitInProgress) {\n process.exit(code)\n return\n }\n isGracefulExitInProgress = true\n\n try {\n const { runSessionEndHooks } = await import('@utils/session/pybHooks')\n const { getPybAgentSessionId } =\n await import('@utils/protocol/pybAgentSessionId')\n const { tmpdir } = await import('os')\n const { join } = await import('path')\n\n const sessionId = getPybAgentSessionId()\n const transcriptPath = join(\n tmpdir(),\n 'pyb-hooks-transcripts',\n `${sessionId}.transcript.txt`,\n )\n\n const { signal, cleanup } = (() => {\n if (\n typeof AbortSignal !== 'undefined' &&\n typeof (AbortSignal as any).timeout === 'function'\n ) {\n return {\n signal: (AbortSignal as any).timeout(5000) as AbortSignal,\n cleanup: () => {},\n }\n }\n const controller = new AbortController()\n const timer = setTimeout(() => controller.abort(), 5000)\n return { signal: controller.signal, cleanup: () => clearTimeout(timer) }\n })()\n\n try {\n await runSessionEndHooks({\n reason: 'exit',\n cwd: cwd(),\n transcriptPath,\n signal,\n })\n } finally {\n cleanup()\n }\n } catch {}\n\n try {\n resetCursor()\n } catch {}\n try {\n BunShell.getInstance().close()\n } catch {}\n process.exit(code)\n}\n\nlet didInstallProcessHandlers = false\nexport function installProcessHandlers(): void {\n if (didInstallProcessHandlers) return\n didInstallProcessHandlers = true\n\n process.on('exit', () => {\n resetCursor()\n BunShell.getInstance().close()\n })\n\n process.on('SIGINT', () => void gracefulExit(0))\n process.on('SIGTERM', () => void gracefulExit(0))\n process.on('SIGBREAK', () => void gracefulExit(0))\n process.on('unhandledRejection', err => {\n console.error('Unhandled rejection:', err)\n void gracefulExit(1)\n })\n process.on('uncaughtException', err => {\n console.error('Uncaught exception:', err)\n void gracefulExit(1)\n })\n}\n\nfunction resetCursor() {\n const terminal = process.stderr.isTTY\n ? process.stderr\n : process.stdout.isTTY\n ? process.stdout\n : undefined\n terminal?.write(`\\u001B[?25h${cursorShow}`)\n}\n", "import { addToHistory } from '@history'\nimport { hasPermissionsToUseTool } from '@permissions'\nimport { dateToFilename } from '@utils/log'\nimport { beginReplSessionScope } from '@utils/session/replSessionBridge'\nimport { resolveXdgDataPath } from '@utils/config/env'\nimport { createConversationTrackerPersistenceTelemetryEmitter } from '@services/telemetry/conversationTrackerTelemetry'\nimport { join } from 'path'\nimport { createStdioCanUseTool } from './stdio/canUseTool'\nimport { createPrintModeControlRequestHandler } from './stdio/controlRequestHandler'\nimport { runPrintModeStreamJsonSession } from './stdio/streamJsonSession'\nimport { createPrintModeStructuredStdio } from './stdio/structuredStdio'\n\nexport type RunPrintModeArgs = {\n prompt: string | undefined\n stdinContent: string\n inputPrompt: string\n\n cwd: string\n safe?: boolean\n verbose?: boolean\n\n outputFormat?: string\n inputFormat?: string\n jsonSchema?: string\n permissionPromptTool?: string | null\n replayUserMessages?: boolean\n\n cliTools?: unknown\n tools: any[]\n commands: any[]\n ask: (args: any) => Promise<{ resultText: string }>\n\n initialMessages?: any[]\n sessionPersistence?: boolean\n\n systemPromptOverride?: string\n appendSystemPrompt?: string\n disableSlashCommands?: boolean\n\n allowedTools?: unknown\n disallowedTools?: unknown\n addDir?: unknown\n permissionMode?: string\n dangerouslySkipPermissions?: boolean\n allowDangerouslySkipPermissions?: boolean\n\n model?: string\n mcpClients: any[]\n}\n\nfunction getProjectDirSlug(cwd: string): string {\n return cwd.replace(/[^a-zA-Z0-9]/g, '-')\n}\n\nfunction getConversationTrackerPersistenceDir(cwd: string): string {\n return resolveXdgDataPath(join(getProjectDirSlug(cwd), 'conversation-trackers'))\n}\n\nexport async function runPrintMode({\n prompt,\n stdinContent,\n inputPrompt,\n cwd,\n safe,\n verbose,\n outputFormat,\n inputFormat,\n jsonSchema,\n permissionPromptTool,\n replayUserMessages,\n cliTools,\n tools,\n commands,\n ask,\n initialMessages,\n sessionPersistence,\n systemPromptOverride,\n appendSystemPrompt,\n disableSlashCommands,\n allowedTools,\n disallowedTools,\n addDir,\n permissionMode,\n dangerouslySkipPermissions,\n allowDangerouslySkipPermissions,\n model,\n mcpClients,\n}: RunPrintModeArgs): Promise<void> {\n const normalizedOutputFormat = String(outputFormat || 'text')\n .toLowerCase()\n .trim()\n const normalizedInputFormat = String(inputFormat || 'text')\n .toLowerCase()\n .trim()\n\n if (!['text', 'stream-json'].includes(normalizedInputFormat)) {\n console.error(\n `Error: Invalid --input-format \"${inputFormat}\". Expected one of: text, stream-json`,\n )\n process.exit(1)\n }\n\n if (!['text', 'json', 'stream-json'].includes(normalizedOutputFormat)) {\n console.error(\n `Error: Invalid --output-format \"${outputFormat}\". Expected one of: text, json, stream-json`,\n )\n process.exit(1)\n }\n\n if (normalizedOutputFormat === 'stream-json' && !verbose) {\n console.error(\n 'Error: When using --print, --output-format=stream-json requires --verbose',\n )\n process.exit(1)\n }\n\n const normalizedPermissionPromptTool = permissionPromptTool\n ? String(permissionPromptTool).trim()\n : null\n\n if (normalizedPermissionPromptTool) {\n if (normalizedPermissionPromptTool !== 'stdio') {\n console.error(\n `Error: Unsupported --permission-prompt-tool \"${normalizedPermissionPromptTool}\". Only \"stdio\" is supported in Pyb right now.`,\n )\n process.exit(1)\n }\n if (normalizedInputFormat !== 'stream-json') {\n console.error(\n 'Error: --permission-prompt-tool=stdio requires --input-format=stream-json',\n )\n process.exit(1)\n }\n if (normalizedOutputFormat !== 'stream-json') {\n console.error(\n 'Error: --permission-prompt-tool=stdio requires --output-format=stream-json',\n )\n process.exit(1)\n }\n }\n\n if (\n normalizedInputFormat === 'stream-json' &&\n normalizedOutputFormat !== 'stream-json'\n ) {\n console.error(\n 'Error: --input-format=stream-json requires --output-format=stream-json',\n )\n process.exit(1)\n }\n\n if (replayUserMessages) {\n if (\n normalizedInputFormat !== 'stream-json' ||\n normalizedOutputFormat !== 'stream-json'\n ) {\n console.error(\n 'Error: --replay-user-messages requires --input-format=stream-json and --output-format=stream-json',\n )\n process.exit(1)\n }\n }\n\n if (normalizedInputFormat === 'stream-json') {\n if (prompt) {\n console.error(\n 'Error: --input-format=stream-json cannot be used with a prompt argument',\n )\n process.exit(1)\n }\n if (stdinContent) {\n console.error(\n 'Error: --input-format=stream-json cannot be used with stdin prompt text',\n )\n process.exit(1)\n }\n } else {\n if (!inputPrompt) {\n console.error(\n 'Error: Input must be provided either through stdin or as a prompt argument when using --print',\n )\n process.exit(1)\n }\n }\n\n const toolsForPrint = (() => {\n if (!cliTools) return tools\n const raw = Array.isArray(cliTools) ? cliTools : [cliTools]\n const flattened = raw\n .flatMap(v => String(v ?? '').split(','))\n .map(v => v.trim())\n if (flattened.length === 0) return tools\n\n if (flattened.length === 1 && flattened[0] === '') return []\n if (flattened.length === 1 && flattened[0] === 'default') return tools\n\n const wanted = new Set(flattened.filter(v => v && v !== 'default'))\n const unknown = [...wanted].filter(\n name => !tools.some(t => t.name === name),\n )\n if (unknown.length > 0) {\n console.error(`Error: Unknown tool(s) in --tools: ${unknown.join(', ')}`)\n process.exit(1)\n }\n\n return tools.filter(t => wanted.has(t.name))\n })()\n\n if (normalizedOutputFormat === 'text') {\n addToHistory(inputPrompt)\n const { resultText: response } = await ask({\n commands,\n hasPermissionsToUseTool,\n messageLogName: dateToFilename(new Date()),\n prompt: inputPrompt,\n cwd,\n tools: toolsForPrint,\n safeMode: safe,\n initialMessages,\n persistSession: sessionPersistence !== false,\n })\n process.stdout.write(`${response}\\n`)\n process.exit(0)\n }\n\n const {\n createUserMessageFromText,\n createUserMessageFromBlocks,\n } = await import('@utils/messages')\n const { ConversationTracker } =\n await import('@utils/session/conversationTracker')\n const { FileSystemConversationPersistence } =\n await import('@utils/session/conversationPersistence')\n const { getSystemPrompt } = await import('@constants/prompts')\n const { getContext } = await import('@context')\n const { getTotalCost } = await import('@costTracker')\n const { query } = await import('@query')\n const { getPybAgentSessionId } =\n await import('@utils/protocol/pybAgentSessionId')\n const { pybMessageToSdkMessage, makeSdkInitMessage, makeSdkResultMessage } =\n await import('@utils/protocol/pybAgentStreamJson')\n const { PybAgentStructuredStdio } =\n await import('@utils/protocol/pybAgentStructuredStdio')\n const {\n loadToolPermissionContextFromDisk,\n persistToolPermissionUpdateToDisk,\n } = await import('@utils/permissions/toolPermissionSettings')\n const { applyToolPermissionContextUpdates } =\n await import('@pyb-types/toolPermissionContext')\n\n const sessionIdForSdk = getPybAgentSessionId()\n const trackerPersistenceMode = 'required'\n const restoreSessionScope = beginReplSessionScope(sessionIdForSdk)\n const conversationTracker = new ConversationTracker({\n sessionId: sessionIdForSdk,\n persistence: new FileSystemConversationPersistence(\n getConversationTrackerPersistenceDir(cwd),\n ),\n persistenceMode: trackerPersistenceMode,\n onPersistenceEvent: createConversationTrackerPersistenceTelemetryEmitter('print'),\n })\n conversationTracker.restore()\n const startedAt = Date.now()\n const sdkMessages: any[] = []\n\n try {\n const baseSystemPrompt =\n typeof systemPromptOverride === 'string' && systemPromptOverride.trim()\n ? [systemPromptOverride]\n : await getSystemPrompt({ disableSlashCommands })\n const systemPrompt =\n typeof appendSystemPrompt === 'string' && appendSystemPrompt.trim()\n ? [...baseSystemPrompt, appendSystemPrompt]\n : baseSystemPrompt\n\n const normalizedJsonSchema =\n typeof jsonSchema === 'string' ? jsonSchema.trim() : ''\n const parsedJsonSchema = (() => {\n if (!normalizedJsonSchema) return null\n try {\n const parsed = JSON.parse(normalizedJsonSchema)\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {\n throw new Error('Schema must be a JSON object')\n }\n return parsed as Record<string, unknown>\n } catch (error) {\n const msg = error instanceof Error ? error.message : String(error)\n console.error(`Error: Invalid --json-schema: ${msg}`)\n process.exit(1)\n }\n })()\n\n if (parsedJsonSchema) {\n systemPrompt.push(\n [\n 'You MUST respond with ONLY valid JSON.',\n 'The JSON MUST validate against the following JSON Schema.',\n 'Do not wrap the JSON in markdown code fences and do not add extra commentary.',\n '',\n `<json_schema>${JSON.stringify(parsedJsonSchema)}</json_schema>`,\n ].join('\\n'),\n )\n }\n const ctx = await getContext()\n\n const isBypassAvailable =\n !safe ||\n Boolean(allowDangerouslySkipPermissions) ||\n Boolean(dangerouslySkipPermissions)\n\n let toolPermissionContext = loadToolPermissionContextFromDisk({\n projectDir: cwd,\n includePybProjectConfig: true,\n isBypassPermissionsModeAvailable: isBypassAvailable,\n })\n\n const cliRuleList = (value: unknown): string[] => {\n if (!value) return []\n const raw = Array.isArray(value) ? value : [value]\n return raw\n .flatMap(v => String(v ?? '').split(','))\n .map(v => v.trim())\n .filter(Boolean)\n }\n\n const allowedRules = cliRuleList(allowedTools)\n const deniedRules = cliRuleList(disallowedTools)\n const additionalDirs = cliRuleList(addDir)\n\n const updates: any[] = []\n if (allowedRules.length > 0) {\n updates.push({\n type: 'addRules',\n destination: 'cliArg',\n behavior: 'allow',\n rules: allowedRules,\n })\n }\n if (deniedRules.length > 0) {\n updates.push({\n type: 'addRules',\n destination: 'cliArg',\n behavior: 'deny',\n rules: deniedRules,\n })\n }\n if (additionalDirs.length > 0) {\n updates.push({\n type: 'addDirectories',\n destination: 'cliArg',\n directories: additionalDirs,\n })\n }\n\n const normalizedPermissionMode =\n typeof permissionMode === 'string' ? permissionMode.trim() : ''\n if (normalizedPermissionMode) {\n const normalized =\n normalizedPermissionMode === 'delegate'\n ? 'default'\n : normalizedPermissionMode\n const allowed = new Set([\n 'acceptEdits',\n 'bypassPermissions',\n 'default',\n 'dontAsk',\n 'plan',\n ])\n if (!allowed.has(normalized)) {\n console.error(\n `Error: Invalid --permission-mode \"${normalizedPermissionMode}\". Expected one of: acceptEdits, bypassPermissions, default, delegate, dontAsk, plan`,\n )\n process.exit(1)\n }\n updates.push({\n type: 'setMode',\n destination: 'cliArg',\n mode: normalized,\n })\n }\n\n if (dangerouslySkipPermissions) {\n updates.push({\n type: 'setMode',\n destination: 'cliArg',\n mode: 'bypassPermissions',\n })\n }\n\n if (updates.length > 0) {\n toolPermissionContext = applyToolPermissionContextUpdates(\n toolPermissionContext,\n updates,\n )\n }\n\n const printOptions = {\n commands,\n tools: toolsForPrint,\n verbose: true,\n safeMode: safe,\n forkNumber: 0,\n messageLogName: 'unused',\n maxThinkingTokens: 0,\n persistSession: sessionPersistence !== false,\n toolPermissionContext,\n mcpClients,\n shouldAvoidPermissionPrompts: normalizedInputFormat !== 'stream-json',\n model:\n typeof model === 'string' && model.trim()\n ? model.trim()\n : (undefined as any),\n }\n\n const availableTools = toolsForPrint.map(t => t.name)\n const slashCommands =\n disableSlashCommands === true\n ? undefined\n : commands.filter(c => !c.isHidden).map(c => `/${c.userFacingName()}`)\n const initMsg = makeSdkInitMessage({\n sessionId: sessionIdForSdk,\n cwd,\n tools: availableTools,\n slashCommands,\n })\n\n const writeSdkLine = (obj: any) => {\n process.stdout.write(JSON.stringify(obj) + '\\n')\n }\n\n if (normalizedOutputFormat === 'stream-json') {\n writeSdkLine(initMsg)\n } else {\n sdkMessages.push(initMsg)\n }\n\n let activeTurnAbortController: AbortController | null = null\n const structured = createPrintModeStructuredStdio({\n enabled: normalizedInputFormat === 'stream-json',\n stdin: process.stdin,\n stdout: process.stdout,\n onInterrupt: () => {\n activeTurnAbortController?.abort()\n },\n onControlRequest: createPrintModeControlRequestHandler({\n printOptions,\n mcpClients,\n }),\n })\n\n if (structured) structured.start()\n\n const permissionTimeoutMs = (() => {\n const raw = process.env.PYB_STDIO_PERMISSION_TIMEOUT_MS\n const n = raw ? Number(raw) : NaN\n return Number.isFinite(n) && n > 0 ? n : 30_000\n })()\n\n const canUseTool = createStdioCanUseTool({\n normalizedPermissionPromptTool,\n structured,\n permissionTimeoutMs,\n cwd,\n printOptions,\n hasPermissionsToUseTool,\n applyToolPermissionContextUpdates,\n persistToolPermissionUpdateToDisk,\n })\n\n if (normalizedInputFormat === 'stream-json') {\n if (!structured) {\n console.error('Error: Structured stdin is not available')\n process.exit(1)\n }\n\n await runPrintModeStreamJsonSession({\n structured,\n query,\n writeSdkLine,\n sessionId: sessionIdForSdk,\n systemPrompt,\n jsonSchema: parsedJsonSchema,\n context: ctx,\n canUseTool,\n toolUseContextBase: {\n agentId: 'main',\n options: printOptions,\n messageId: undefined,\n readFileTimestamps: {},\n setToolJSX: () => {},\n conversationTracker,\n },\n replayUserMessages: Boolean(replayUserMessages),\n getTotalCostUsd: () => getTotalCost(),\n onActiveTurnAbortControllerChanged: controller => {\n activeTurnAbortController = controller\n },\n initialMessages: initialMessages as any,\n })\n\n process.exit(0)\n }\n\n\n const abortController = new AbortController()\n const userMsg = await (async () => {\n if (normalizedInputFormat !== 'stream-json') {\n addToHistory(inputPrompt)\n return createUserMessageFromText(inputPrompt)\n }\n if (!structured) {\n console.error('Error: Structured stdin is not available')\n process.exit(1)\n }\n\n const sdkUser = await structured.nextUserMessage({\n signal: abortController.signal,\n timeoutMs: 30_000,\n })\n\n if (!sdkUser || typeof sdkUser !== 'object') {\n console.error('Error: Invalid stream-json input (missing user message)')\n process.exit(1)\n }\n\n const sdkMessage = (sdkUser as any).message\n const sdkContent = sdkMessage?.content\n if (typeof sdkContent !== 'string' && !Array.isArray(sdkContent)) {\n console.error('Error: Invalid stream-json user message content')\n process.exit(1)\n }\n\n const m =\n typeof sdkContent === 'string'\n ? createUserMessageFromText(sdkContent)\n : createUserMessageFromBlocks(sdkContent as any)\n if (typeof (sdkUser as any).uuid === 'string' && (sdkUser as any).uuid) {\n ;(m as any).uuid = String((sdkUser as any).uuid)\n }\n return m\n })()\n\n const baseMessages = [...(initialMessages ?? []), userMsg]\n\n const sdkUser = pybMessageToSdkMessage(userMsg as any, sessionIdForSdk)\n if (sdkUser) {\n if (normalizedOutputFormat === 'stream-json') {\n writeSdkLine(sdkUser)\n } else {\n sdkMessages.push(sdkUser)\n }\n }\n\n let lastAssistant: any | null = null\n let queryError: unknown = null\n try {\n for await (const m of query(baseMessages, systemPrompt, ctx, canUseTool, {\n agentId: 'main',\n options: printOptions,\n abortController,\n messageId: undefined,\n readFileTimestamps: {},\n setToolJSX: () => {},\n conversationTracker,\n })) {\n if (m.type === 'assistant') lastAssistant = m\n const sdk = pybMessageToSdkMessage(m, sessionIdForSdk)\n if (!sdk) continue\n\n if (normalizedOutputFormat === 'stream-json') {\n writeSdkLine(sdk)\n } else {\n sdkMessages.push(sdk)\n }\n }\n } catch (e) {\n abortController.abort()\n queryError = e\n }\n\n const textFromAssistant = lastAssistant?.message?.content?.find(\n (c: any) => c.type === 'text',\n )?.text\n let text =\n typeof textFromAssistant === 'string'\n ? textFromAssistant\n : queryError instanceof Error\n ? queryError.message\n : queryError\n ? String(queryError)\n : ''\n\n let structuredOutput: Record<string, unknown> | undefined\n if (parsedJsonSchema && !queryError) {\n try {\n const raw =\n typeof textFromAssistant === 'string' ? textFromAssistant : ''\n const fenced = raw.trim()\n const unfenced = (() => {\n const m = fenced.match(/^```(?:json)?\\\\s*([\\\\s\\\\S]*?)\\\\s*```$/i)\n return m ? m[1]!.trim() : fenced\n })()\n\n const parsed = JSON.parse(unfenced)\n const Ajv = (await import('ajv')).default as any\n const ajv = new Ajv({ allErrors: true, strict: false })\n const validate = ajv.compile(parsedJsonSchema)\n const ok = validate(parsed)\n if (!ok) {\n const errorText =\n typeof ajv.errorsText === 'function'\n ? ajv.errorsText(validate.errors, { separator: '; ' })\n : JSON.stringify(validate.errors ?? [])\n throw new Error(\n `Structured output failed JSON schema validation: ${errorText}`,\n )\n }\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {\n throw new Error('Structured output must be a JSON object')\n }\n structuredOutput = parsed as Record<string, unknown>\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e)\n queryError = new Error(msg)\n text = msg\n }\n }\n\n const usage = lastAssistant?.message?.usage\n const totalCostUsd = getTotalCost()\n const durationMs = Date.now() - startedAt\n const resultMsg = makeSdkResultMessage({\n sessionId: sessionIdForSdk,\n result: String(text),\n structuredOutput,\n numTurns: 1,\n usage,\n totalCostUsd,\n durationMs,\n durationApiMs: 0,\n isError: Boolean(queryError),\n })\n\n if (normalizedOutputFormat === 'stream-json') {\n writeSdkLine(resultMsg)\n process.exit(0)\n }\n\n sdkMessages.push(resultMsg)\n if (verbose) {\n process.stdout.write(`${JSON.stringify(sdkMessages, null, 2)}\\n`)\n } else {\n process.stdout.write(`${JSON.stringify(resultMsg, null, 2)}\\n`)\n }\n process.exit(0)\n } finally {\n restoreSessionScope()\n }\n}\n", "export function createStdioCanUseTool(args: {\n normalizedPermissionPromptTool: string | null\n structured: any | null\n permissionTimeoutMs: number\n cwd: string\n printOptions: any\n hasPermissionsToUseTool: any\n applyToolPermissionContextUpdates: any\n persistToolPermissionUpdateToDisk: any\n}): any {\n if (args.normalizedPermissionPromptTool !== 'stdio' || !args.structured) {\n return args.hasPermissionsToUseTool\n }\n\n return (async (\n tool: any,\n input: any,\n toolUseContext: any,\n assistantMessage: any,\n ) => {\n const base = await args.hasPermissionsToUseTool(\n tool,\n input,\n toolUseContext,\n assistantMessage,\n )\n\n if (base.result === true) return { result: true as const }\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 try {\n const blockedPath =\n typeof (denied as any).blockedPath === 'string'\n ? String((denied as any).blockedPath)\n : typeof (input as any)?.file_path === 'string'\n ? String((input as any).file_path)\n : typeof (input as any)?.notebook_path === 'string'\n ? String((input as any).notebook_path)\n : typeof (input as any)?.path === 'string'\n ? String((input as any).path)\n : undefined\n\n const decisionReason =\n typeof (denied as any).decisionReason === 'string'\n ? String((denied as any).decisionReason)\n : undefined\n\n const response = await args.structured.sendRequest(\n {\n subtype: 'can_use_tool',\n tool_name: tool.name,\n input,\n ...(typeof toolUseContext?.toolUseId === 'string' && toolUseContext.toolUseId\n ? { tool_use_id: toolUseContext.toolUseId }\n : {}),\n ...(typeof toolUseContext?.agentId === 'string' && toolUseContext.agentId\n ? { agent_id: toolUseContext.agentId }\n : {}),\n ...(Array.isArray((denied as any).suggestions)\n ? {\n permission_suggestions: (denied as any).suggestions,\n }\n : {}),\n ...(blockedPath ? { blocked_path: blockedPath } : {}),\n ...(decisionReason ? { decision_reason: decisionReason } : {}),\n },\n {\n signal: toolUseContext.abortController.signal,\n timeoutMs: args.permissionTimeoutMs,\n },\n )\n\n if (response && (response as any).behavior === 'allow') {\n const updatedInput =\n (response as any).updatedInput && typeof (response as any).updatedInput === 'object'\n ? (response as any).updatedInput\n : null\n if (updatedInput) {\n Object.assign(input, updatedInput)\n }\n\n const updatedPermissionsRaw = (response as any).updatedPermissions\n const updatedPermissions =\n Array.isArray(updatedPermissionsRaw) &&\n updatedPermissionsRaw.every(\n u => u && typeof u === 'object' && typeof (u as any).type === 'string',\n )\n ? (updatedPermissionsRaw as any[])\n : null\n\n if (updatedPermissions && args.printOptions.toolPermissionContext) {\n const next = args.applyToolPermissionContextUpdates(\n args.printOptions.toolPermissionContext,\n updatedPermissions as any,\n )\n args.printOptions.toolPermissionContext = next\n if (toolUseContext?.options) {\n toolUseContext.options.toolPermissionContext = next\n }\n for (const update of updatedPermissions as any) {\n args.persistToolPermissionUpdateToDisk({\n update,\n projectDir: args.cwd,\n })\n }\n }\n\n return { result: true as const }\n }\n\n if (response && (response as any).behavior === 'deny') {\n if ((response as any).interrupt === true) {\n toolUseContext.abortController.abort()\n }\n }\n\n return {\n result: false as const,\n message:\n typeof (response as any)?.message === 'string'\n ? String((response as any).message)\n : denied.message,\n }\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e)\n return {\n result: false as const,\n message: `Permission prompt failed: ${msg}`,\n shouldPromptUser: false,\n }\n }\n }) as any\n}\n", "export function createPrintModeControlRequestHandler(args: {\n printOptions: any\n mcpClients: any[]\n}): (msg: any) => Promise<any> {\n return async msg => {\n const subtype = msg.request?.subtype\n\n if (subtype === 'initialize') {\n return\n }\n\n if (subtype === 'set_permission_mode') {\n const mode = (msg.request as any)?.mode\n if (\n mode === 'default' ||\n mode === 'acceptEdits' ||\n mode === 'plan' ||\n mode === 'dontAsk' ||\n mode === 'bypassPermissions'\n ) {\n if (args.printOptions.toolPermissionContext) {\n args.printOptions.toolPermissionContext.mode = mode\n }\n }\n return\n }\n\n if (subtype === 'set_model') {\n const requested = (msg.request as any)?.model\n if (requested === 'default') {\n args.printOptions.model = undefined as any\n } else if (typeof requested === 'string' && requested.trim()) {\n args.printOptions.model = requested.trim()\n }\n return\n }\n\n if (subtype === 'set_max_thinking_tokens') {\n const value = (msg.request as any)?.max_thinking_tokens\n if (value === null) {\n args.printOptions.maxThinkingTokens = 0\n } else if (typeof value === 'number' && Number.isFinite(value) && value >= 0) {\n args.printOptions.maxThinkingTokens = value\n }\n return\n }\n\n if (subtype === 'mcp_status') {\n return {\n mcpServers: args.mcpClients.map(c => ({\n name: c.name,\n status: c.type,\n ...(c.type === 'connected' && c.capabilities\n ? { serverInfo: c.capabilities }\n : {}),\n })),\n }\n }\n\n if (subtype === 'mcp_message') {\n const serverName = (msg.request as any)?.server_name\n const message = (msg.request as any)?.message\n if (typeof serverName === 'string' && serverName) {\n const found = args.mcpClients.find(c => c.name === serverName)\n if (found && found.type === 'connected') {\n const transport = (found.client as any)?.transport\n if (transport && typeof transport.onmessage === 'function') {\n transport.onmessage(message)\n }\n }\n }\n return\n }\n\n if (subtype === 'mcp_set_servers') {\n return { ok: true, sdkServersChanged: false }\n }\n\n if (subtype === 'rewind_files') {\n throw new Error('rewind_files is not supported in Pyb yet.')\n }\n\n throw new Error(`Unsupported control request subtype: ${String(subtype)}`)\n }\n}\n\n", "export async function runPrintModeStreamJsonSession(args: {\n structured: any\n query: any\n writeSdkLine: (obj: any) => void\n sessionId: string\n systemPrompt: string[]\n jsonSchema?: Record<string, unknown> | null\n context: { [k: string]: string }\n canUseTool: any\n toolUseContextBase: any\n replayUserMessages: boolean\n getTotalCostUsd: () => number\n onActiveTurnAbortControllerChanged?: (\n controller: AbortController | null,\n ) => void\n initialMessages?: any[]\n}): Promise<void> {\n const { beginReplSessionScope } = await import(\n '@utils/session/replSessionBridge'\n )\n const { runPybAgentStreamJsonSession } = await import(\n '@utils/protocol/pybAgentStreamJsonSession'\n )\n const restoreSessionScope = beginReplSessionScope(args.sessionId)\n try {\n await runPybAgentStreamJsonSession(args as any)\n } finally {\n restoreSessionScope()\n }\n}\n", "import { PybAgentStructuredStdio } from '@utils/protocol/pybAgentStructuredStdio'\n\nexport function createPrintModeStructuredStdio(args: {\n enabled: boolean\n stdin: any\n stdout: any\n onInterrupt: () => void\n onControlRequest: (msg: any) => Promise<any>\n}): PybAgentStructuredStdio | null {\n if (!args.enabled) return null\n\n return new PybAgentStructuredStdio(args.stdin, args.stdout, {\n onInterrupt: args.onInterrupt,\n onControlRequest: args.onControlRequest,\n })\n}\n\n", "import { promises as fs } from 'fs'\nimport { join } from 'path'\nimport { logError, CACHE_PATHS } from '@utils/log'\n\nconst THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1000\n\nexport type CleanupResult = {\n messages: number\n errors: number\n}\n\nexport function convertFileNameToDate(filename: string): Date {\n const isoStr = filename\n .split('.')[0]!\n .replace(/T(\\d{2})-(\\d{2})-(\\d{2})-(\\d{3})Z/, 'T$1:$2:$3.$4Z')\n return new Date(isoStr)\n}\n\nexport async function cleanupOldMessageFiles(): Promise<CleanupResult> {\n const messagePath = CACHE_PATHS.messages()\n const errorPath = CACHE_PATHS.errors()\n const thirtyDaysAgo = new Date(Date.now() - THIRTY_DAYS_MS)\n const deletedCounts: CleanupResult = { messages: 0, errors: 0 }\n\n for (const path of [messagePath, errorPath]) {\n try {\n const files = await fs.readdir(path)\n\n for (const file of files) {\n try {\n const timestamp = convertFileNameToDate(file)\n if (timestamp < thirtyDaysAgo) {\n await fs.unlink(join(path, file))\n if (path === messagePath) {\n deletedCounts.messages++\n } else {\n deletedCounts.errors++\n }\n }\n } catch (error: unknown) {\n logError(\n `Failed to process file ${file}: ${error instanceof Error ? error.message : String(error)}`,\n )\n }\n }\n } catch (error: unknown) {\n if (\n error instanceof Error &&\n 'code' in error &&\n error.code !== 'ENOENT'\n ) {\n logError(\n `Failed to cleanup directory ${path}: ${error instanceof Error ? error.message : String(error)}`,\n )\n }\n }\n }\n\n return deletedCounts\n}\n\nexport function cleanupOldMessageFilesInBackground(): void {\n const immediate = setImmediate(cleanupOldMessageFiles)\n\n immediate.unref()\n}\n", "import { getContext } from '@context'\nimport { getCurrentProjectConfig } from '@utils/config'\nimport { cleanupOldMessageFilesInBackground } from '@utils/session/cleanup'\nimport { grantReadPermissionForOriginalDir } from '@utils/permissions/filesystem'\nimport { setCwd, setOriginalCwd } from '@utils/state'\nimport { debug as debugLogger } from '@utils/log/debugLogger'\n\nexport async function setup(cwd: string, safeMode?: boolean): Promise<void> {\n if (cwd !== process.cwd()) {\n setOriginalCwd(cwd)\n }\n await setCwd(cwd)\n\n grantReadPermissionForOriginalDir()\n\n let agentLoader: any\n try {\n agentLoader = await import('@utils/agent/loader')\n } catch {\n agentLoader = await import('@utils/agent/loader')\n }\n const { startAgentWatcher } = agentLoader\n await startAgentWatcher(() => {\n debugLogger.info('AGENTS_HOT_RELOADED', { ok: true })\n })\n\n if (safeMode) {\n if (\n process.platform !== 'win32' &&\n typeof process.getuid === 'function' &&\n process.getuid() === 0\n ) {\n console.error(\n `--safe mode cannot be used with root/sudo privileges for security reasons`,\n )\n process.exit(1)\n }\n }\n\n if (process.env.NODE_ENV === 'test') {\n return\n }\n\n cleanupOldMessageFilesInBackground()\n getContext()\n\n const projectConfig = getCurrentProjectConfig()\n if (\n projectConfig.lastCost !== undefined &&\n projectConfig.lastDuration !== undefined\n ) {\n }\n\n}\n", "import React from 'react'\n\nimport { MACRO } from '@constants/macros'\nimport { Onboarding } from '@components/Onboarding'\nimport { TrustDialog } from '@components/TrustDialog'\nimport {\n checkHasTrustDialogAccepted,\n getGlobalConfig,\n saveGlobalConfig,\n} from '@utils/config'\nimport { clearTerminal } from '@utils/terminal'\nimport { grantReadPermissionForOriginalDir } from '@utils/permissions/filesystem'\nimport { handleMcprcServerApprovals } from '@screens/MCPServerApproval'\n\nexport function completeOnboarding(): void {\n const config = getGlobalConfig()\n saveGlobalConfig({\n ...config,\n hasCompletedOnboarding: true,\n lastOnboardingVersion: MACRO.VERSION,\n })\n}\n\nexport async function showSetupScreens(\n safeMode?: boolean,\n print?: boolean,\n): Promise<void> {\n if (process.env.NODE_ENV === 'test') {\n return\n }\n\n const config = getGlobalConfig()\n if (!config.theme || !config.hasCompletedOnboarding) {\n await clearTerminal()\n const { render } = await import('ink')\n await new Promise<void>(resolve => {\n render(\n <Onboarding\n onDone={async () => {\n completeOnboarding()\n await clearTerminal()\n resolve()\n }}\n />,\n {\n exitOnCtrlC: false,\n },\n )\n })\n }\n\n if (!print) {\n if (safeMode) {\n if (!checkHasTrustDialogAccepted()) {\n await new Promise<void>(resolve => {\n const onDone = () => {\n grantReadPermissionForOriginalDir()\n resolve()\n }\n ;(async () => {\n const { render } = await import('ink')\n render(<TrustDialog onDone={onDone} />, {\n exitOnCtrlC: false,\n })\n })()\n })\n }\n }\n\n await handleMcprcServerApprovals()\n }\n}\n", "import React from 'react'\nimport { Box, Text, useInput } from 'ink'\nimport { getTheme } from '@utils/theme'\nimport { Select } from './custom-select/select'\nimport {\n saveCurrentProjectConfig,\n getCurrentProjectConfig,\n} from '@utils/config'\nimport { PRODUCT_NAME } from '@constants/product'\nimport { useExitOnCtrlCD } from '@hooks/useExitOnCtrlCD'\nimport { homedir } from 'os'\nimport { getCwd } from '@utils/state'\nimport Link from './Link'\n\ntype Props = {\n onDone(): void\n}\n\nexport function TrustDialog({ onDone }: Props): React.ReactNode {\n const theme = getTheme()\n React.useEffect(() => {}, [])\n\n function onChange(value: 'yes' | 'no') {\n const config = getCurrentProjectConfig()\n switch (value) {\n case 'yes': {\n const isHomeDir = homedir() === getCwd()\n\n if (!isHomeDir) {\n saveCurrentProjectConfig({\n ...config,\n hasTrustDialogAccepted: true,\n })\n }\n onDone()\n break\n }\n case 'no': {\n process.exit(1)\n break\n }\n }\n }\n\n const exitState = useExitOnCtrlCD(() => process.exit(0))\n\n useInput((_input, key) => {\n if (key.escape) {\n process.exit(0)\n return\n }\n })\n\n return (\n <>\n <Box\n flexDirection=\"column\"\n gap={1}\n padding={1}\n borderStyle=\"round\"\n borderColor={theme.warning}\n >\n <Text bold color={theme.warning}>\n Do you trust the files in this folder?\n </Text>\n <Text bold>{process.cwd()}</Text>\n\n <Box flexDirection=\"column\" gap={1}>\n <Text>\n {PRODUCT_NAME} may read files in this folder. Reading untrusted\n files may lead to {PRODUCT_NAME} to behave in an unexpected ways.\n </Text>\n <Text>\n With your permission {PRODUCT_NAME} may execute files in this\n folder. Executing untrusted code is unsafe.\n </Text>\n </Box>\n\n <Select\n options={[\n { label: 'Yes, proceed', value: 'yes' },\n { label: 'No, exit', value: 'no' },\n ]}\n onChange={value => onChange(value as 'yes' | 'no')}\n />\n </Box>\n <Box marginLeft={3}>\n <Text dimColor>\n {exitState.pending ? (\n <>Press {exitState.keyName} again to exit</>\n ) : (\n <>Enter to confirm \u00B7 Esc to exit</>\n )}\n </Text>\n </Box>\n </>\n )\n}\n", "import React from 'react'\nimport { render } from 'ink'\nimport { MCPServerMultiselectDialog } from '@components/MCPServerMultiselectDialog'\nimport { MCPServerApprovalDialog } from '@components/MCPServerApprovalDialog'\nimport { getMcprcServerStatus } from '@services/mcpClient'\nimport { getProjectMcpServerDefinitions } from '@utils/config'\n\nexport async function handleMcprcServerApprovals(): Promise<void> {\n const { servers } = getProjectMcpServerDefinitions()\n const pendingServers = Object.keys(servers).filter(\n serverName => getMcprcServerStatus(serverName) === 'pending',\n )\n\n if (pendingServers.length === 0) {\n return\n }\n\n await new Promise<void>(resolve => {\n const clearScreenAndResolve = () => {\n process.stdout.write('\\x1b[2J\\x1b[3J\\x1b[H', () => {\n resolve()\n })\n }\n\n if (pendingServers.length === 1 && pendingServers[0] !== undefined) {\n const result = render(\n <MCPServerApprovalDialog\n serverName={pendingServers[0]}\n onDone={() => {\n result.unmount?.()\n clearScreenAndResolve()\n }}\n />,\n { exitOnCtrlC: false },\n )\n } else {\n const result = render(\n <MCPServerMultiselectDialog\n serverNames={pendingServers}\n onDone={() => {\n result.unmount?.()\n clearScreenAndResolve()\n }}\n />,\n { exitOnCtrlC: false },\n )\n }\n })\n}\n\n", "import React from 'react'\nimport { Box, Text, useInput } from 'ink'\nimport { getTheme } from '@utils/theme'\nimport { MultiSelect } from '@inkjs/ui'\nimport {\n saveCurrentProjectConfig,\n getCurrentProjectConfig,\n} from '@utils/config'\nimport { partition } from 'lodash-es'\nimport { MCPServerDialogCopy } from './MCPServerDialogCopy'\nimport { useExitOnCtrlCD } from '@hooks/useExitOnCtrlCD'\n\ntype Props = {\n serverNames: string[]\n onDone(): void\n}\n\nexport function MCPServerMultiselectDialog({\n serverNames,\n onDone,\n}: Props): React.ReactNode {\n const theme = getTheme()\n function onSubmit(selectedServers: string[]) {\n const config = getCurrentProjectConfig()\n\n if (!config.approvedMcprcServers) {\n config.approvedMcprcServers = []\n }\n if (!config.rejectedMcprcServers) {\n config.rejectedMcprcServers = []\n }\n\n const [approvedServers, rejectedServers] = partition(serverNames, server =>\n selectedServers.includes(server),\n )\n\n config.approvedMcprcServers.push(...approvedServers)\n config.rejectedMcprcServers.push(...rejectedServers)\n\n saveCurrentProjectConfig(config)\n onDone()\n }\n\n const exitState = useExitOnCtrlCD(() => process.exit())\n\n useInput((_input, key) => {\n if (key.escape) {\n const config = getCurrentProjectConfig()\n if (!config.rejectedMcprcServers) {\n config.rejectedMcprcServers = []\n }\n\n for (const server of serverNames) {\n if (!config.rejectedMcprcServers.includes(server)) {\n config.rejectedMcprcServers.push(server)\n }\n }\n\n saveCurrentProjectConfig(config)\n onDone()\n return\n }\n })\n\n return (\n <>\n <Box\n flexDirection=\"column\"\n gap={1}\n padding={1}\n borderStyle=\"round\"\n borderColor={theme.warning}\n >\n <Text bold color={theme.warning}>\n New MCP Servers Detected\n </Text>\n <Text>\n This project contains an MCP config file (.mcp.json or .mcprc) with{' '}\n {serverNames.length} MCP servers that require your approval.\n </Text>\n <MCPServerDialogCopy />\n\n <Text>Please select the servers you want to enable:</Text>\n\n <MultiSelect\n options={serverNames.map(server => ({\n label: server,\n value: server,\n }))}\n defaultValue={serverNames}\n onSubmit={onSubmit}\n />\n </Box>\n <Box marginLeft={3}>\n <Text dimColor>\n {exitState.pending ? (\n <>Press {exitState.keyName} again to exit</>\n ) : (\n <>Space to select \u00B7 Enter to confirm \u00B7 Esc to reject all</>\n )}\n </Text>\n </Box>\n </>\n )\n}\n", "import React from 'react'\nimport { Text } from 'ink'\nimport Link from 'ink-link'\nimport { PRODUCT_NAME, PRODUCT_COMMAND } from '@constants/product'\n\nexport function MCPServerDialogCopy(): React.ReactNode {\n return (\n <>\n <Text>\n MCP servers provide additional functionality to {PRODUCT_NAME}. They may\n execute code, make network requests, or access system resources via tool\n calls. All tool calls will require your explicit approval before\n execution. For more information, see{' '}\n <Link url=\"https://github.com/shareAI-lab/pyb/blob/main/docs/mcp.md\">\n MCP documentation\n </Link>\n </Text>\n\n <Text dimColor>\n Remember: You can always change these choices later by running `\n {PRODUCT_COMMAND} mcp reset-project-choices`\n </Text>\n </>\n )\n}\n", "import React from 'react'\nimport { Box, Text, useInput } from 'ink'\nimport { getTheme } from '@utils/theme'\nimport { Select } from './custom-select/select'\nimport {\n saveCurrentProjectConfig,\n getCurrentProjectConfig,\n} from '@utils/config'\nimport { MCPServerDialogCopy } from './MCPServerDialogCopy'\nimport { useExitOnCtrlCD } from '@hooks/useExitOnCtrlCD'\n\ntype Props = {\n serverName: string\n onDone(): void\n}\n\nexport function MCPServerApprovalDialog({\n serverName,\n onDone,\n}: Props): React.ReactNode {\n const theme = getTheme()\n function onChange(value: 'yes' | 'no') {\n const config = getCurrentProjectConfig()\n switch (value) {\n case 'yes': {\n if (!config.approvedMcprcServers) {\n config.approvedMcprcServers = []\n }\n if (!config.approvedMcprcServers.includes(serverName)) {\n config.approvedMcprcServers.push(serverName)\n }\n saveCurrentProjectConfig(config)\n onDone()\n break\n }\n case 'no': {\n if (!config.rejectedMcprcServers) {\n config.rejectedMcprcServers = []\n }\n if (!config.rejectedMcprcServers.includes(serverName)) {\n config.rejectedMcprcServers.push(serverName)\n }\n saveCurrentProjectConfig(config)\n onDone()\n break\n }\n }\n }\n\n const exitState = useExitOnCtrlCD(() => process.exit(0))\n\n useInput((_input, key) => {\n if (key.escape) {\n onDone()\n return\n }\n })\n\n return (\n <>\n <Box\n flexDirection=\"column\"\n gap={1}\n padding={1}\n borderStyle=\"round\"\n borderColor={theme.warning}\n >\n <Text bold color={theme.warning}>\n New MCP Server Detected\n </Text>\n <Text>\n This project contains an MCP config file (.mcp.json or .mcprc) with an\n MCP server that requires your approval:\n </Text>\n <Text bold>{serverName}</Text>\n\n <MCPServerDialogCopy />\n\n <Text>Do you want to approve this MCP server?</Text>\n\n <Select\n options={[\n { label: 'Yes, approve this server', value: 'yes' },\n { label: 'No, reject this server', value: 'no' },\n ]}\n onChange={value => onChange(value as 'yes' | 'no')}\n />\n </Box>\n <Box marginLeft={3}>\n <Text dimColor>\n {exitState.pending ? (\n <>Press {exitState.keyName} again to exit</>\n ) : (\n <>Enter to confirm \u00B7 Esc to reject</>\n )}\n </Text>\n </Box>\n </>\n )\n}\n", "import yaml from 'js-yaml'\nimport { z } from 'zod'\nimport type { GlobalConfig, ModelPointers, ModelProfile } from '@utils/config'\n\nconst ApiKeySpecSchema = z.union([\n z\n .object({\n fromEnv: z.string().min(1),\n })\n .strict(),\n z\n .object({\n value: z.string(),\n })\n .strict(),\n])\n\ntype ApiKeySpec = z.infer<typeof ApiKeySpecSchema>\n\nconst ModelProfileYamlSchema = z\n .object({\n name: z.string().min(1),\n provider: z.string().min(1),\n modelName: z.string().min(1),\n baseURL: z.string().min(1).optional(),\n maxTokens: z.number().int().positive(),\n contextLength: z.number().int().positive(),\n reasoningEffort: z.string().optional(),\n isActive: z.boolean().optional(),\n\n apiKey: ApiKeySpecSchema.optional(),\n apiKeyEnv: z.string().min(1).optional(),\n\n createdAt: z.number().int().positive().optional(),\n lastUsed: z.number().int().positive().optional(),\n })\n .strict()\n\nconst ModelPointersYamlSchema = z\n .object({\n main: z.string().min(1).optional(),\n task: z.string().min(1).optional(),\n compact: z.string().min(1).optional(),\n quick: z.string().min(1).optional(),\n })\n .strict()\n .optional()\n\nconst ModelConfigYamlSchema = z\n .object({\n version: z.number().int().positive().default(1),\n profiles: z.array(ModelProfileYamlSchema).default([]),\n pointers: ModelPointersYamlSchema,\n })\n .strict()\n\nexport type ModelConfigYaml = z.infer<typeof ModelConfigYamlSchema>\n\nfunction suggestedApiKeyEnvForProvider(provider: string): string | undefined {\n switch (provider) {\n case 'anthropic':\n return 'ANTHROPIC_API_KEY'\n case 'openai':\n case 'custom-openai':\n return 'OPENAI_API_KEY'\n case 'azure':\n return 'AZURE_OPENAI_API_KEY'\n case 'gemini':\n return 'GEMINI_API_KEY'\n default:\n return undefined\n }\n}\n\nfunction resolveApiKeyFromYaml(\n input: {\n apiKey?: ApiKeySpec\n apiKeyEnv?: string\n },\n existingApiKey: string | undefined,\n): { apiKey: string; warnings: string[] } {\n const warnings: string[] = []\n\n if (input.apiKeyEnv) {\n const envValue = process.env[input.apiKeyEnv]\n if (envValue) return { apiKey: envValue, warnings }\n if (existingApiKey) return { apiKey: existingApiKey, warnings }\n warnings.push(`Missing env var '${input.apiKeyEnv}' for apiKey`)\n return { apiKey: '', warnings }\n }\n\n if (input.apiKey && 'fromEnv' in input.apiKey) {\n const envValue = process.env[input.apiKey.fromEnv]\n if (envValue) return { apiKey: envValue, warnings }\n if (existingApiKey) return { apiKey: existingApiKey, warnings }\n warnings.push(`Missing env var '${input.apiKey.fromEnv}' for apiKey`)\n return { apiKey: '', warnings }\n }\n\n if (input.apiKey && 'value' in input.apiKey) {\n return { apiKey: input.apiKey.value, warnings }\n }\n\n if (existingApiKey) return { apiKey: existingApiKey, warnings }\n\n warnings.push(\n 'Missing apiKey (set apiKey.fromEnv, apiKeyEnv, or apiKey.value)',\n )\n return { apiKey: '', warnings }\n}\n\nfunction resolvePointerTarget(\n pointerValue: string,\n profiles: ModelProfile[],\n): string | null {\n if (profiles.some(p => p.modelName === pointerValue)) return pointerValue\n const byName = profiles.find(p => p.name === pointerValue)\n return byName?.modelName ?? null\n}\n\nexport function parseModelConfigYaml(yamlText: string): ModelConfigYaml {\n const parsed = yaml.load(yamlText)\n return ModelConfigYamlSchema.parse(parsed)\n}\n\nexport function formatModelConfigYamlForSharing(config: GlobalConfig): string {\n const modelProfiles = config.modelProfiles ?? []\n const pointers = config.modelPointers\n\n const exported: ModelConfigYaml = {\n version: 1,\n profiles: modelProfiles.map(p => {\n const suggestedEnv = suggestedApiKeyEnvForProvider(p.provider)\n return {\n name: p.name,\n provider: p.provider,\n modelName: p.modelName,\n ...(p.baseURL ? { baseURL: p.baseURL } : {}),\n maxTokens: p.maxTokens,\n contextLength: p.contextLength,\n ...(p.reasoningEffort ? { reasoningEffort: p.reasoningEffort } : {}),\n isActive: p.isActive,\n createdAt: p.createdAt,\n ...(typeof p.lastUsed === 'number' ? { lastUsed: p.lastUsed } : {}),\n apiKey: { fromEnv: suggestedEnv ?? 'API_KEY' },\n }\n }),\n ...(pointers ? { pointers } : {}),\n }\n\n return yaml.dump(exported, {\n noRefs: true,\n lineWidth: 120,\n })\n}\n\nexport function applyModelConfigYamlImport(\n existingConfig: GlobalConfig,\n yamlText: string,\n options: { replace?: boolean } = {},\n): { nextConfig: GlobalConfig; warnings: string[] } {\n const parsed = parseModelConfigYaml(yamlText)\n const warnings: string[] = []\n\n const existingProfiles = existingConfig.modelProfiles ?? []\n const existingByModelName = new Map<string, ModelProfile>(\n existingProfiles.map(p => [p.modelName, p]),\n )\n\n const now = Date.now()\n const importedProfiles: ModelProfile[] = parsed.profiles.map(profile => {\n const existing = existingByModelName.get(profile.modelName)\n const resolved = resolveApiKeyFromYaml(\n { apiKey: profile.apiKey, apiKeyEnv: profile.apiKeyEnv },\n existing?.apiKey,\n )\n warnings.push(...resolved.warnings.map(w => `[${profile.modelName}] ${w}`))\n\n return {\n name: profile.name,\n provider: profile.provider as any,\n modelName: profile.modelName,\n ...(profile.baseURL ? { baseURL: profile.baseURL } : {}),\n apiKey: resolved.apiKey,\n maxTokens: profile.maxTokens,\n contextLength: profile.contextLength,\n ...(profile.reasoningEffort\n ? { reasoningEffort: profile.reasoningEffort }\n : {}),\n isActive: profile.isActive ?? true,\n createdAt: profile.createdAt ?? existing?.createdAt ?? now,\n ...(profile.lastUsed\n ? { lastUsed: profile.lastUsed }\n : existing?.lastUsed\n ? { lastUsed: existing.lastUsed }\n : {}),\n ...(existing?.isGPT5 ? { isGPT5: existing.isGPT5 } : {}),\n ...(existing?.validationStatus\n ? { validationStatus: existing.validationStatus }\n : {}),\n ...(existing?.lastValidation\n ? { lastValidation: existing.lastValidation }\n : {}),\n }\n })\n\n const mergedProfiles = options.replace\n ? importedProfiles\n : [\n ...existingProfiles.filter(\n p => !importedProfiles.some(i => i.modelName === p.modelName),\n ),\n ...importedProfiles,\n ]\n\n const nextPointers: ModelPointers = {\n ...(existingConfig.modelPointers ?? {\n main: '',\n task: '',\n compact: '',\n quick: '',\n }),\n }\n\n if (parsed.pointers) {\n const resolvedMain =\n parsed.pointers.main &&\n resolvePointerTarget(parsed.pointers.main, mergedProfiles)\n const resolvedTask =\n parsed.pointers.task &&\n resolvePointerTarget(parsed.pointers.task, mergedProfiles)\n const resolvedCompact =\n parsed.pointers.compact &&\n resolvePointerTarget(parsed.pointers.compact, mergedProfiles)\n const resolvedQuick =\n parsed.pointers.quick &&\n resolvePointerTarget(parsed.pointers.quick, mergedProfiles)\n\n if (parsed.pointers.main && !resolvedMain) {\n warnings.push(\n `[pointers.main] Unknown model '${parsed.pointers.main}' (expected modelName or profile name)`,\n )\n } else if (resolvedMain) {\n nextPointers.main = resolvedMain\n }\n\n if (parsed.pointers.task && !resolvedTask) {\n warnings.push(\n `[pointers.task] Unknown model '${parsed.pointers.task}' (expected modelName or profile name)`,\n )\n } else if (resolvedTask) {\n nextPointers.task = resolvedTask\n }\n\n if (parsed.pointers.compact && !resolvedCompact) {\n warnings.push(\n `[pointers.compact] Unknown model '${parsed.pointers.compact}' (expected modelName or profile name)`,\n )\n } else if (resolvedCompact) {\n nextPointers.compact = resolvedCompact\n }\n\n if (parsed.pointers.quick && !resolvedQuick) {\n warnings.push(\n `[pointers.quick] Unknown model '${parsed.pointers.quick}' (expected modelName or profile name)`,\n )\n } else if (resolvedQuick) {\n nextPointers.quick = resolvedQuick\n }\n }\n\n return {\n nextConfig: {\n ...existingConfig,\n modelProfiles: mergedProfiles,\n modelPointers: nextPointers,\n },\n warnings,\n }\n}\n", "import React, { useEffect, useState } from 'react'\nimport { CACHE_PATHS } from '@utils/log'\nimport { LogSelector } from '@components/LogSelector'\nimport type { LogOption, LogListProps } from '@pyb-types/logs'\nimport { loadLogList } from '@utils/log'\nimport { logError } from '@utils/log'\n\ntype Props = LogListProps & {\n type: 'messages' | 'errors'\n logNumber?: number\n}\n\nexport function LogList({ context, type, logNumber }: Props): React.ReactNode {\n const [logs, setLogs] = useState<LogOption[]>([])\n const [didSelectLog, setDidSelectLog] = useState(false)\n\n useEffect(() => {\n loadLogList(\n type === 'messages' ? CACHE_PATHS.messages() : CACHE_PATHS.errors(),\n )\n .then(logs => {\n if (logNumber !== undefined) {\n const log = logs[logNumber >= 0 ? logNumber : 0]\n if (log) {\n console.log(JSON.stringify(log.messages, null, 2))\n process.exit(0)\n } else {\n console.error('No log found at index', logNumber)\n process.exit(1)\n }\n }\n\n setLogs(logs)\n })\n .catch(error => {\n logError(error)\n if (logNumber !== undefined) {\n process.exit(1)\n } else {\n context.unmount?.()\n }\n })\n }, [context, type, logNumber])\n\n function onSelect(index: number): void {\n const log = logs[index]\n if (!log) {\n return\n }\n setDidSelectLog(true)\n setTimeout(() => {\n console.log(JSON.stringify(log.messages, null, 2))\n process.exit(0)\n }, 100)\n }\n\n if (logNumber !== undefined) {\n return null\n }\n\n if (didSelectLog) {\n return null\n }\n\n return <LogSelector logs={logs} onSelect={onSelect} />\n}\n", "import React from 'react'\nimport { Box, Text } from 'ink'\nimport { Select } from './custom-select/select'\nimport type { LogOption } from '@pyb-types/logs'\nimport { getTheme } from '@utils/theme'\nimport { useTerminalSize } from '@hooks/useTerminalSize'\nimport { formatDate } from '@utils/log'\n\ntype LogSelectorProps = {\n logs: LogOption[]\n onSelect: (logValue: number) => void\n}\n\nexport function LogSelector({\n logs,\n onSelect,\n}: LogSelectorProps): React.ReactNode {\n const { rows, columns } = useTerminalSize()\n if (logs.length === 0) {\n return null\n }\n\n const visibleCount = rows - 3\n const hiddenCount = Math.max(0, logs.length - visibleCount)\n\n const indexWidth = 7\n const modifiedWidth = 21\n const createdWidth = 21\n const countWidth = 9\n\n const options = logs.map((log, i) => {\n const index = `[${i}]`.padEnd(indexWidth)\n const modified = formatDate(log.modified).padEnd(modifiedWidth)\n const created = formatDate(log.created).padEnd(createdWidth)\n const msgCount = `${log.messageCount}`.padStart(countWidth)\n const prompt = log.firstPrompt\n let branchInfo = ''\n if (log.forkNumber) branchInfo += ` (fork #${log.forkNumber})`\n if (log.sidechainNumber)\n branchInfo += ` (sidechain #${log.sidechainNumber})`\n\n const labelTxt = `${index}${modified}${created}${msgCount} ${prompt}${branchInfo}`\n const truncated =\n labelTxt.length > columns - 2\n ? `${labelTxt.slice(0, columns - 5)}...`\n : labelTxt\n return {\n label: truncated,\n value: log.value.toString(),\n }\n })\n\n return (\n <Box flexDirection=\"column\" height=\"100%\" width=\"100%\">\n <Box paddingLeft={9}>\n <Text bold color={getTheme().text}>\n Modified\n </Text>\n <Text>{' '}</Text>\n <Text bold color={getTheme().text}>\n Created\n </Text>\n <Text>{' '}</Text>\n <Text bold color={getTheme().text}>\n # Messages\n </Text>\n <Text> </Text>\n <Text bold color={getTheme().text}>\n First message\n </Text>\n </Box>\n <Select\n options={options}\n onChange={index => onSelect(parseInt(index, 10))}\n visibleOptionCount={visibleCount}\n />\n {hiddenCount > 0 && (\n <Box paddingLeft={2}>\n <Text color={getTheme().secondaryText}>and {hiddenCount} more\u2026</Text>\n </Box>\n )}\n </Box>\n )\n}\n", "// @ts-nocheck\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js'\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'\nimport {\n CallToolRequestSchema,\n CallToolResultSchema,\n ListToolsRequestSchema,\n ListToolsResultSchema,\n} from '@modelcontextprotocol/sdk/types.js'\nimport { z, ZodTypeAny } from 'zod'\nimport { zodToJsonSchema } from 'zod-to-json-schema'\nimport { hasPermissionsToUseTool } from '@permissions'\nimport { setCwd } from '@utils/state'\nimport { getModelManager } from '@utils/model'\nimport { logError } from '@utils/log'\nimport { Tool, getToolDescription } from '@tool'\nimport { getAllTools } from '@tools'\nimport { Command } from '@commands'\nimport review from '@commands/review'\nimport { lastX } from '@utils/text/generators'\nimport { MACRO } from '@constants/macros'\ntype ToolInput = Record<string, unknown>\n\nconst state: {\n readFileTimestamps: Record<string, number>\n} = {\n readFileTimestamps: {},\n}\n\nconst MCP_COMMANDS: Command[] = [review]\n\nconst MCP_TOOLS: Tool[] = [...getAllTools()]\n\nexport async function startMCPServer(cwd: string): Promise<void> {\n await setCwd(cwd)\n const server = new Server(\n {\n name: 'claude/tengu',\n version: MACRO.VERSION,\n },\n {\n capabilities: {\n tools: {},\n },\n },\n )\n\n server.setRequestHandler(\n ListToolsRequestSchema,\n async (): Promise<z.infer<typeof ListToolsResultSchema>> => {\n const tools = await Promise.all(\n MCP_TOOLS.map(async tool => ({\n ...(tool as any),\n description: getToolDescription(tool),\n inputSchema: zodToJsonSchema(\n tool.inputSchema as unknown as z.ZodTypeAny,\n ) as ToolInput,\n })),\n )\n\n return {\n tools,\n }\n },\n )\n\n server.setRequestHandler(\n CallToolRequestSchema,\n async (request): Promise<z.infer<typeof CallToolResultSchema>> => {\n const { name, arguments: args } = request.params\n const tool = MCP_TOOLS.find(_ => _.name === name)\n if (!tool) {\n throw new Error(`Tool ${name} not found`)\n }\n\n try {\n if (!(await tool.isEnabled())) {\n throw new Error(`Tool ${name} is not enabled`)\n }\n const model = getModelManager().getModelName('main')\n const validationResult = await tool.validateInput?.(\n (args as never) ?? {},\n {\n abortController: new AbortController(),\n options: {\n commands: MCP_COMMANDS,\n tools: MCP_TOOLS,\n forkNumber: 0,\n messageLogName: 'unused',\n maxThinkingTokens: 0,\n },\n messageId: undefined,\n readFileTimestamps: state.readFileTimestamps,\n } as any,\n )\n if (validationResult && !validationResult.result) {\n throw new Error(\n `Tool ${name} input is invalid: ${validationResult.message}`,\n )\n }\n const result = tool.call((args ?? {}) as never, {\n abortController: new AbortController(),\n messageId: undefined,\n options: {\n commands: MCP_COMMANDS,\n tools: MCP_TOOLS,\n forkNumber: 0,\n messageLogName: 'unused',\n maxThinkingTokens: 0,\n },\n readFileTimestamps: state.readFileTimestamps,\n })\n\n const finalResult = await lastX(result)\n\n if (finalResult.type !== 'result') {\n throw new Error(`Tool ${name} did not return a result`)\n }\n\n return {\n content: Array.isArray(finalResult)\n ? finalResult.map(item => ({\n type: 'text' as const,\n text: 'text' in item ? item.text : JSON.stringify(item),\n }))\n : [\n {\n type: 'text' as const,\n text:\n typeof finalResult === 'string'\n ? finalResult\n : JSON.stringify(finalResult.data),\n },\n ],\n }\n } catch (error) {\n logError(error)\n return {\n isError: true,\n content: [\n {\n type: 'text',\n text: `Error: ${error instanceof Error ? error.message : String(error)}`,\n },\n ],\n }\n }\n },\n )\n\n async function runServer() {\n const transport = new StdioServerTransport()\n await server.connect(transport)\n }\n\n return await runServer()\n}\n// @ts-nocheck\n", "import fs from 'fs/promises'\nimport { logError } from '@utils/log'\nimport { Tool } from '@tool'\n\nexport async function loadMessagesFromLog(\n logPath: string,\n tools: Tool[],\n): Promise<any[]> {\n try {\n const content = await fs.readFile(logPath, 'utf-8')\n const messages = JSON.parse(content)\n return deserializeMessages(messages, tools)\n } catch (error) {\n logError(`Failed to load messages from ${logPath}: ${error}`)\n throw new Error(`Failed to load messages from log: ${error}`)\n }\n}\n\nexport function deserializeMessages(messages: any[], tools: Tool[]): any[] {\n const toolMap = new Map(tools.map(tool => [tool.name, tool]))\n\n return messages.map(message => {\n const clonedMessage = JSON.parse(JSON.stringify(message))\n\n if (clonedMessage.toolCalls) {\n clonedMessage.toolCalls = clonedMessage.toolCalls.map((toolCall: any) => {\n if (toolCall.tool && typeof toolCall.tool === 'string') {\n const actualTool = toolMap.get(toolCall.tool)\n if (actualTool) {\n toolCall.tool = actualTool\n }\n }\n return toolCall\n })\n }\n\n return clonedMessage\n })\n}\n", "import {\n ProjectConfig,\n getCurrentProjectConfig as getCurrentProjectConfigDefault,\n saveCurrentProjectConfig as saveCurrentProjectConfigDefault,\n} from '@utils/config'\n\nexport type ProjectConfigHandler = {\n getCurrentProjectConfig: () => ProjectConfig\n saveCurrentProjectConfig: (config: ProjectConfig) => void\n}\n\nconst defaultConfigHandler: ProjectConfigHandler = {\n getCurrentProjectConfig: getCurrentProjectConfigDefault,\n saveCurrentProjectConfig: saveCurrentProjectConfigDefault,\n}\n\nexport function handleListApprovedTools(\n cwd: string,\n projectConfigHandler: ProjectConfigHandler = defaultConfigHandler,\n): string {\n const projectConfig = projectConfigHandler.getCurrentProjectConfig()\n return `Allowed tools for ${cwd}:\\n${projectConfig.allowedTools.join('\\n')}`\n}\n\nexport function handleRemoveApprovedTool(\n tool: string,\n projectConfigHandler: ProjectConfigHandler = defaultConfigHandler,\n): { success: boolean; message: string } {\n const projectConfig = projectConfigHandler.getCurrentProjectConfig()\n const originalToolCount = projectConfig.allowedTools.length\n const updatedAllowedTools = projectConfig.allowedTools.filter(t => t !== tool)\n\n if (originalToolCount !== updatedAllowedTools.length) {\n projectConfig.allowedTools = updatedAllowedTools\n projectConfigHandler.saveCurrentProjectConfig(projectConfig)\n return {\n success: true,\n message: `Removed ${tool} from the list of approved tools`,\n }\n } else {\n return {\n success: false,\n message: `${tool} was not in the list of approved tools`,\n }\n }\n}\n", "import React from 'react'\nimport { Box, Newline, Text, useInput } from 'ink'\nimport { getTheme } from '@utils/theme'\nimport { Select } from './custom-select/select'\nimport { render } from 'ink'\nimport { writeFileSync } from 'fs'\nimport { ConfigParseError } from '@utils/text/errors'\nimport { useExitOnCtrlCD } from '@hooks/useExitOnCtrlCD'\ninterface InvalidConfigHandlerProps {\n error: ConfigParseError\n}\n\ninterface InvalidConfigDialogProps {\n filePath: string\n errorDescription: string\n onExit: () => void\n onReset: () => void\n}\n\nfunction InvalidConfigDialog({\n filePath,\n errorDescription,\n onExit,\n onReset,\n}: InvalidConfigDialogProps): React.ReactNode {\n const theme = getTheme()\n\n useInput((_, key) => {\n if (key.escape) {\n onExit()\n }\n })\n\n const exitState = useExitOnCtrlCD(() => process.exit(0))\n\n const handleSelect = (value: string) => {\n if (value === 'exit') {\n onExit()\n } else {\n onReset()\n }\n }\n\n return (\n <>\n <Box\n flexDirection=\"column\"\n borderColor={theme.error}\n borderStyle=\"round\"\n padding={1}\n width={70}\n gap={1}\n >\n <Text bold>Configuration Error</Text>\n\n <Box flexDirection=\"column\" gap={1}>\n <Text>\n The configuration file at <Text bold>{filePath}</Text> contains\n invalid JSON.\n </Text>\n <Text>{errorDescription}</Text>\n </Box>\n\n <Box flexDirection=\"column\">\n <Text bold>Choose an option:</Text>\n <Select\n options={[\n { label: 'Exit and fix manually', value: 'exit' },\n { label: 'Reset with default configuration', value: 'reset' },\n ]}\n onChange={handleSelect}\n />\n </Box>\n </Box>\n {exitState.pending ? (\n <Text dimColor>Press {exitState.keyName} again to exit</Text>\n ) : (\n <Newline />\n )}\n </>\n )\n}\n\nexport function showInvalidConfigDialog({\n error,\n}: InvalidConfigHandlerProps): Promise<void> {\n return new Promise(resolve => {\n render(\n <InvalidConfigDialog\n filePath={error.filePath}\n errorDescription={error.message}\n onExit={() => {\n resolve()\n process.exit(1)\n }}\n onReset={() => {\n writeFileSync(\n error.filePath,\n JSON.stringify(error.defaultConfig, null, 2),\n )\n resolve()\n process.exit(0)\n }}\n />,\n { exitOnCtrlC: false },\n )\n })\n}\n", "import { existsSync } from 'fs'\nimport { getSessionStoreDbPath, getSessionStoreFlags } from './sessionStoreConfig'\nimport { createSessionSqlStore } from './sessionSqlStore'\n\nexport type SessionStoreBootstrapResult = {\n dbPath: string\n created: boolean\n skipped: boolean\n}\n\nexport function ensureSessionStoreBootstrap(): SessionStoreBootstrapResult {\n const flags = getSessionStoreFlags()\n if (!flags.sqlReadEnabled && !flags.sqlWriteEnabled) {\n return {\n dbPath: getSessionStoreDbPath(),\n created: false,\n skipped: true,\n }\n }\n const dbPath = getSessionStoreDbPath()\n const existed = existsSync(dbPath)\n const store = createSessionSqlStore({ dbFilePath: dbPath })\n store.close()\n return {\n dbPath,\n created: !existed,\n skipped: false,\n }\n}\n", "#!/usr/bin/env bun\nimport '@utils/config/sanitizeAnthropicEnv'\nimport { initSentry } from '@services/sentry'\nimport {\n ensurePackagedRuntimeEnv,\n ensureYogaWasmPath,\n} from './cli/bootstrapEnv'\nimport { installProcessHandlers, runCli } from './cli/runCli'\n\ninitSentry()\nensurePackagedRuntimeEnv()\nensureYogaWasmPath(import.meta.url)\n\nimport * as dontcare from '@anthropic-ai/sdk/shims/node'\nObject.keys(dontcare)\n\ninstallProcessHandlers()\nvoid runCli()\n\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["existsSync", "writeFileSync", "beginReplSessionScope", "cwd", "getContext", "PybAgentStructuredStdio", "sdkUser", "join", "join", "cwd", "React", "React", "React", "Box", "Text", "useInput", "React", "Text", "React", "Text", "useInput", "React", "Box", "Text", "React", "Box", "Text", "useInput", "useInput", "React", "Box", "Text", "React", "render", "React", "React", "React", "React", "Box", "Text", "React", "Box", "Text", "logs", "React", "cwd", "fs", "fs", "cwd", "React", "Box", "Text", "useInput", "render", "useInput", "React", "Box", "Text", "render", "cwd", "debug", "allowedTools", "context", "render", "React", "task", "writeFileSync", "getModelManager", "config", "marketplaceCmd", "setCwd", "getCwd", "existsSync", "match", "readFileSync", "join", "MultiSelect", "Box", "Text", "getTheme", "useState"]
|
|
7
7
|
}
|