@shareai-lab/kode 1.2.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -388
- package/cli-acp.js +82 -0
- package/cli.js +89 -79
- package/dist/REPL-GIU4ZIXM.js +42 -0
- package/dist/acp-H3VJ77YG.js +1357 -0
- package/dist/acp-H3VJ77YG.js.map +7 -0
- package/dist/agentsValidate-XP3CFN6F.js +373 -0
- package/dist/agentsValidate-XP3CFN6F.js.map +7 -0
- package/dist/ask-3G5H5KD5.js +125 -0
- package/dist/ask-3G5H5KD5.js.map +7 -0
- package/dist/autoUpdater-DNRMJWFQ.js +17 -0
- package/dist/chunk-2KWKUXLT.js +490 -0
- package/dist/chunk-2KWKUXLT.js.map +7 -0
- package/dist/chunk-2PMO2FS2.js +1097 -0
- package/dist/chunk-2PMO2FS2.js.map +7 -0
- package/dist/chunk-3RUXVV4S.js +23 -0
- package/dist/chunk-3RUXVV4S.js.map +7 -0
- package/dist/chunk-3TXNP6HH.js +240 -0
- package/dist/chunk-3TXNP6HH.js.map +7 -0
- package/dist/chunk-4GAIJGRH.js +472 -0
- package/dist/chunk-4GAIJGRH.js.map +7 -0
- package/dist/chunk-4RTX4AG4.js +249 -0
- package/dist/chunk-4RTX4AG4.js.map +7 -0
- package/dist/chunk-54DNHKOD.js +511 -0
- package/dist/chunk-54DNHKOD.js.map +7 -0
- package/dist/chunk-67PY5IX6.js +34 -0
- package/dist/chunk-67PY5IX6.js.map +7 -0
- package/dist/chunk-6DRDLOLP.js +2613 -0
- package/dist/chunk-6DRDLOLP.js.map +7 -0
- package/dist/chunk-7CQVZNQV.js +1609 -0
- package/dist/chunk-7CQVZNQV.js.map +7 -0
- package/dist/chunk-ABLVTESJ.js +19 -0
- package/dist/chunk-ABLVTESJ.js.map +7 -0
- package/dist/{utils/config.js → chunk-AIMIPK4B.js} +351 -171
- package/dist/chunk-AIMIPK4B.js.map +7 -0
- package/dist/{utils/autoUpdater.js → chunk-BHGTA6JQ.js} +38 -21
- package/dist/chunk-BHGTA6JQ.js.map +7 -0
- package/dist/chunk-CIG63V4E.js +72 -0
- package/dist/chunk-CIG63V4E.js.map +7 -0
- package/dist/chunk-E6YNABER.js +24 -0
- package/dist/chunk-E6YNABER.js.map +7 -0
- package/dist/chunk-EH34V7CY.js +191 -0
- package/dist/chunk-EH34V7CY.js.map +7 -0
- package/dist/{cost-tracker.js → chunk-EZXMVTDU.js} +51 -32
- package/dist/chunk-EZXMVTDU.js.map +7 -0
- package/dist/chunk-FH5CHM6L.js +148 -0
- package/dist/chunk-FH5CHM6L.js.map +7 -0
- package/dist/chunk-G6I7XROM.js +138 -0
- package/dist/chunk-G6I7XROM.js.map +7 -0
- package/dist/chunk-HN4E4UUQ.js +96 -0
- package/dist/chunk-HN4E4UUQ.js.map +7 -0
- package/dist/chunk-HSPVVDIW.js +30198 -0
- package/dist/chunk-HSPVVDIW.js.map +7 -0
- package/dist/{services/systemReminder.js → chunk-IE2CG2TV.js} +221 -59
- package/dist/chunk-IE2CG2TV.js.map +7 -0
- package/dist/chunk-JC6NCUG5.js +11 -0
- package/dist/chunk-K2MI4TPB.js +1256 -0
- package/dist/chunk-K2MI4TPB.js.map +7 -0
- package/dist/chunk-KAA5BGMQ.js +12 -0
- package/dist/chunk-KAA5BGMQ.js.map +7 -0
- package/dist/chunk-MN77D2F7.js +2931 -0
- package/dist/chunk-MN77D2F7.js.map +7 -0
- package/dist/chunk-NPFOMITO.js +21 -0
- package/dist/chunk-NPFOMITO.js.map +7 -0
- package/dist/chunk-NQLEUHMS.js +196 -0
- package/dist/chunk-NQLEUHMS.js.map +7 -0
- package/dist/chunk-OIFQB3S4.js +515 -0
- package/dist/chunk-OIFQB3S4.js.map +7 -0
- package/dist/chunk-OWTG2W3A.js +164 -0
- package/dist/chunk-OWTG2W3A.js.map +7 -0
- package/dist/chunk-OZNRLY3E.js +735 -0
- package/dist/chunk-OZNRLY3E.js.map +7 -0
- package/dist/{utils/debugLogger.js → chunk-QYFKRZQC.js} +107 -204
- package/dist/chunk-QYFKRZQC.js.map +7 -0
- package/dist/chunk-S3J2TLV6.js +16 -0
- package/dist/chunk-S3J2TLV6.js.map +7 -0
- package/dist/chunk-S6HRABTA.js +95 -0
- package/dist/chunk-S6HRABTA.js.map +7 -0
- package/dist/{utils/theme.js → chunk-SDGKPKDK.js} +28 -6
- package/dist/chunk-SDGKPKDK.js.map +7 -0
- package/dist/chunk-SRZZFAS7.js +766 -0
- package/dist/chunk-SRZZFAS7.js.map +7 -0
- package/dist/chunk-UKHTVRJM.js +47 -0
- package/dist/chunk-UKHTVRJM.js.map +7 -0
- package/dist/chunk-UYXEDKOZ.js +24 -0
- package/dist/chunk-UYXEDKOZ.js.map +7 -0
- package/dist/chunk-VBXVYQYY.js +145 -0
- package/dist/chunk-VBXVYQYY.js.map +7 -0
- package/dist/chunk-WVHORZQ5.js +17 -0
- package/dist/chunk-WVHORZQ5.js.map +7 -0
- package/dist/chunk-WWUWDNWW.js +49 -0
- package/dist/chunk-WWUWDNWW.js.map +7 -0
- package/dist/{utils/model.js → chunk-Z33T5YN5.js} +194 -227
- package/dist/chunk-Z33T5YN5.js.map +7 -0
- package/dist/{services/openai.js → chunk-ZQU3TXLC.js} +168 -234
- package/dist/chunk-ZQU3TXLC.js.map +7 -0
- package/dist/cli-SRV2INSL.js +3917 -0
- package/dist/cli-SRV2INSL.js.map +7 -0
- package/dist/commands-TWH6PGVG.js +46 -0
- package/dist/config-6ZMBCL23.js +81 -0
- package/dist/context-JQIOOI4W.js +30 -0
- package/dist/costTracker-6SL26FDB.js +19 -0
- package/dist/customCommands-DNEJS3ZU.js +25 -0
- package/dist/customCommands-DNEJS3ZU.js.map +7 -0
- package/dist/env-OFAXZ3XG.js +22 -0
- package/dist/env-OFAXZ3XG.js.map +7 -0
- package/dist/index.js +34 -5
- package/dist/index.js.map +4 -4
- package/dist/kodeAgentSessionId-X6XWQW7B.js +13 -0
- package/dist/kodeAgentSessionId-X6XWQW7B.js.map +7 -0
- package/dist/kodeAgentSessionLoad-6N27AC5K.js +18 -0
- package/dist/kodeAgentSessionLoad-6N27AC5K.js.map +7 -0
- package/dist/kodeAgentSessionResume-HUSAEO24.js +16 -0
- package/dist/kodeAgentSessionResume-HUSAEO24.js.map +7 -0
- package/dist/kodeAgentStreamJson-NXFN7TXH.js +13 -0
- package/dist/kodeAgentStreamJson-NXFN7TXH.js.map +7 -0
- package/dist/kodeAgentStreamJsonSession-GRWG3SPE.js +131 -0
- package/dist/kodeAgentStreamJsonSession-GRWG3SPE.js.map +7 -0
- package/dist/kodeAgentStructuredStdio-HGWJT7CU.js +10 -0
- package/dist/kodeAgentStructuredStdio-HGWJT7CU.js.map +7 -0
- package/dist/kodeHooks-TDMXFWSO.js +36 -0
- package/dist/kodeHooks-TDMXFWSO.js.map +7 -0
- package/dist/llm-XVXWYOHK.js +3118 -0
- package/dist/llm-XVXWYOHK.js.map +7 -0
- package/dist/llmLazy-7TD5N7XP.js +15 -0
- package/dist/llmLazy-7TD5N7XP.js.map +7 -0
- package/dist/loader-AUXIJTY6.js +28 -0
- package/dist/loader-AUXIJTY6.js.map +7 -0
- package/dist/mcp-BXJ3K7NZ.js +49 -0
- package/dist/mcp-BXJ3K7NZ.js.map +7 -0
- package/dist/{services/mentionProcessor.js → mentionProcessor-YD7YXYGF.js} +61 -50
- package/dist/mentionProcessor-YD7YXYGF.js.map +7 -0
- package/dist/messages-OFUJSPRV.js +63 -0
- package/dist/messages-OFUJSPRV.js.map +7 -0
- package/dist/model-KPYCXWBK.js +30 -0
- package/dist/model-KPYCXWBK.js.map +7 -0
- package/dist/openai-5G5D5Q4B.js +29 -0
- package/dist/openai-5G5D5Q4B.js.map +7 -0
- package/dist/outputStyles-HLDXFQK3.js +28 -0
- package/dist/outputStyles-HLDXFQK3.js.map +7 -0
- package/dist/package.json +1 -1
- package/dist/pluginRuntime-FPTKK6NY.js +218 -0
- package/dist/pluginRuntime-FPTKK6NY.js.map +7 -0
- package/dist/pluginValidation-DSFXZ4GF.js +17 -0
- package/dist/pluginValidation-DSFXZ4GF.js.map +7 -0
- package/dist/prompts-LWLAJRS2.js +48 -0
- package/dist/prompts-LWLAJRS2.js.map +7 -0
- package/dist/query-HVPWL27C.js +50 -0
- package/dist/query-HVPWL27C.js.map +7 -0
- package/dist/responsesStreaming-AW344PQO.js +10 -0
- package/dist/responsesStreaming-AW344PQO.js.map +7 -0
- package/dist/ripgrep-YOPCY2GO.js +17 -0
- package/dist/ripgrep-YOPCY2GO.js.map +7 -0
- package/dist/skillMarketplace-PSNKDINM.js +37 -0
- package/dist/skillMarketplace-PSNKDINM.js.map +7 -0
- package/dist/state-KNRWP3FO.js +16 -0
- package/dist/state-KNRWP3FO.js.map +7 -0
- package/dist/theme-7S2QN2FO.js +14 -0
- package/dist/theme-7S2QN2FO.js.map +7 -0
- package/dist/toolPermissionContext-65L65VEZ.js +17 -0
- package/dist/toolPermissionContext-65L65VEZ.js.map +7 -0
- package/dist/toolPermissionSettings-GPOBH4IV.js +18 -0
- package/dist/toolPermissionSettings-GPOBH4IV.js.map +7 -0
- package/dist/tools-FZU2FZBD.js +47 -0
- package/dist/tools-FZU2FZBD.js.map +7 -0
- package/dist/userInput-VHNBN2MW.js +311 -0
- package/dist/userInput-VHNBN2MW.js.map +7 -0
- package/dist/uuid-QN2CNKKN.js +9 -0
- package/dist/uuid-QN2CNKKN.js.map +7 -0
- package/package.json +43 -14
- package/scripts/binary-utils.cjs +62 -0
- package/scripts/cli-acp-wrapper.cjs +82 -0
- package/scripts/cli-wrapper.cjs +105 -0
- package/scripts/postinstall.js +135 -9
- package/LICENSE +0 -201
- package/README.zh-CN.md +0 -312
- package/dist/ProjectOnboarding.js +0 -99
- package/dist/ProjectOnboarding.js.map +0 -7
- package/dist/Tool.js +0 -1
- package/dist/commands/agents.js +0 -2087
- package/dist/commands/agents.js.map +0 -7
- package/dist/commands/approvedTools.js +0 -36
- package/dist/commands/approvedTools.js.map +0 -7
- package/dist/commands/bug.js +0 -21
- package/dist/commands/bug.js.map +0 -7
- package/dist/commands/clear.js +0 -37
- package/dist/commands/clear.js.map +0 -7
- package/dist/commands/compact.js +0 -104
- package/dist/commands/compact.js.map +0 -7
- package/dist/commands/config.js +0 -20
- package/dist/commands/config.js.map +0 -7
- package/dist/commands/cost.js +0 -19
- package/dist/commands/cost.js.map +0 -7
- package/dist/commands/ctx_viz.js +0 -152
- package/dist/commands/ctx_viz.js.map +0 -7
- package/dist/commands/doctor.js +0 -25
- package/dist/commands/doctor.js.map +0 -7
- package/dist/commands/help.js +0 -20
- package/dist/commands/help.js.map +0 -7
- package/dist/commands/init.js +0 -38
- package/dist/commands/init.js.map +0 -7
- package/dist/commands/listen.js +0 -37
- package/dist/commands/listen.js.map +0 -7
- package/dist/commands/login.js +0 -37
- package/dist/commands/login.js.map +0 -7
- package/dist/commands/logout.js +0 -33
- package/dist/commands/logout.js.map +0 -7
- package/dist/commands/mcp.js +0 -34
- package/dist/commands/mcp.js.map +0 -7
- package/dist/commands/model.js +0 -41
- package/dist/commands/model.js.map +0 -7
- package/dist/commands/modelstatus.js +0 -21
- package/dist/commands/modelstatus.js.map +0 -7
- package/dist/commands/onboarding.js +0 -36
- package/dist/commands/onboarding.js.map +0 -7
- package/dist/commands/pr_comments.js +0 -61
- package/dist/commands/pr_comments.js.map +0 -7
- package/dist/commands/refreshCommands.js +0 -37
- package/dist/commands/refreshCommands.js.map +0 -7
- package/dist/commands/release-notes.js +0 -30
- package/dist/commands/release-notes.js.map +0 -7
- package/dist/commands/resume.js +0 -35
- package/dist/commands/resume.js.map +0 -7
- package/dist/commands/review.js +0 -51
- package/dist/commands/review.js.map +0 -7
- package/dist/commands/terminalSetup.js +0 -163
- package/dist/commands/terminalSetup.js.map +0 -7
- package/dist/commands.js +0 -84
- package/dist/commands.js.map +0 -7
- package/dist/components/ApproveApiKey.js +0 -74
- package/dist/components/ApproveApiKey.js.map +0 -7
- package/dist/components/AsciiLogo.js +0 -12
- package/dist/components/AsciiLogo.js.map +0 -7
- package/dist/components/AutoUpdater.js +0 -74
- package/dist/components/AutoUpdater.js.map +0 -7
- package/dist/components/Bug.js +0 -147
- package/dist/components/Bug.js.map +0 -7
- package/dist/components/Config.js +0 -166
- package/dist/components/Config.js.map +0 -7
- package/dist/components/ConsoleOAuthFlow.js +0 -188
- package/dist/components/ConsoleOAuthFlow.js.map +0 -7
- package/dist/components/Cost.js +0 -13
- package/dist/components/Cost.js.map +0 -7
- package/dist/components/CostThresholdDialog.js +0 -38
- package/dist/components/CostThresholdDialog.js.map +0 -7
- package/dist/components/CustomSelect/option-map.js +0 -32
- package/dist/components/CustomSelect/option-map.js.map +0 -7
- package/dist/components/CustomSelect/select-option.js +0 -34
- package/dist/components/CustomSelect/select-option.js.map +0 -7
- package/dist/components/CustomSelect/select.js +0 -64
- package/dist/components/CustomSelect/select.js.map +0 -7
- package/dist/components/CustomSelect/theme.js +0 -1
- package/dist/components/CustomSelect/use-select-state.js +0 -220
- package/dist/components/CustomSelect/use-select-state.js.map +0 -7
- package/dist/components/CustomSelect/use-select.js +0 -21
- package/dist/components/CustomSelect/use-select.js.map +0 -7
- package/dist/components/FallbackToolUseRejectedMessage.js +0 -11
- package/dist/components/FallbackToolUseRejectedMessage.js.map +0 -7
- package/dist/components/FileEditToolUpdatedMessage.js +0 -32
- package/dist/components/FileEditToolUpdatedMessage.js.map +0 -7
- package/dist/components/Help.js +0 -41
- package/dist/components/Help.js.map +0 -7
- package/dist/components/HighlightedCode.js +0 -30
- package/dist/components/HighlightedCode.js.map +0 -7
- package/dist/components/InvalidConfigDialog.js +0 -83
- package/dist/components/InvalidConfigDialog.js.map +0 -7
- package/dist/components/Link.js +0 -18
- package/dist/components/Link.js.map +0 -7
- package/dist/components/LogSelector.js +0 -50
- package/dist/components/LogSelector.js.map +0 -7
- package/dist/components/Logo.js +0 -94
- package/dist/components/Logo.js.map +0 -7
- package/dist/components/MCPServerApprovalDialog.js +0 -79
- package/dist/components/MCPServerApprovalDialog.js.map +0 -7
- package/dist/components/MCPServerDialogCopy.js +0 -11
- package/dist/components/MCPServerDialogCopy.js.map +0 -7
- package/dist/components/MCPServerMultiselectDialog.js +0 -80
- package/dist/components/MCPServerMultiselectDialog.js.map +0 -7
- package/dist/components/Message.js +0 -146
- package/dist/components/Message.js.map +0 -7
- package/dist/components/MessageResponse.js +0 -9
- package/dist/components/MessageResponse.js.map +0 -7
- package/dist/components/MessageSelector.js +0 -133
- package/dist/components/MessageSelector.js.map +0 -7
- package/dist/components/ModeIndicator.js +0 -38
- package/dist/components/ModeIndicator.js.map +0 -7
- package/dist/components/ModelConfig.js +0 -208
- package/dist/components/ModelConfig.js.map +0 -7
- package/dist/components/ModelListManager.js +0 -140
- package/dist/components/ModelListManager.js.map +0 -7
- package/dist/components/ModelSelector.js +0 -1985
- package/dist/components/ModelSelector.js.map +0 -7
- package/dist/components/ModelStatusDisplay.js +0 -87
- package/dist/components/ModelStatusDisplay.js.map +0 -7
- package/dist/components/Onboarding.js +0 -153
- package/dist/components/Onboarding.js.map +0 -7
- package/dist/components/PressEnterToContinue.js +0 -10
- package/dist/components/PressEnterToContinue.js.map +0 -7
- package/dist/components/PromptInput.js +0 -488
- package/dist/components/PromptInput.js.map +0 -7
- package/dist/components/SentryErrorBoundary.js +0 -27
- package/dist/components/SentryErrorBoundary.js.map +0 -7
- package/dist/components/Spinner.js +0 -101
- package/dist/components/Spinner.js.map +0 -7
- package/dist/components/StickerRequestForm.js +0 -7
- package/dist/components/StickerRequestForm.js.map +0 -7
- package/dist/components/StructuredDiff.js +0 -148
- package/dist/components/StructuredDiff.js.map +0 -7
- package/dist/components/TextInput.js +0 -100
- package/dist/components/TextInput.js.map +0 -7
- package/dist/components/TodoItem.js +0 -35
- package/dist/components/TodoItem.js.map +0 -7
- package/dist/components/TokenWarning.js +0 -19
- package/dist/components/TokenWarning.js.map +0 -7
- package/dist/components/ToolUseLoader.js +0 -24
- package/dist/components/ToolUseLoader.js.map +0 -7
- package/dist/components/TrustDialog.js +0 -76
- package/dist/components/TrustDialog.js.map +0 -7
- package/dist/components/binary-feedback/BinaryFeedback.js +0 -50
- package/dist/components/binary-feedback/BinaryFeedback.js.map +0 -7
- package/dist/components/binary-feedback/BinaryFeedbackOption.js +0 -94
- package/dist/components/binary-feedback/BinaryFeedbackOption.js.map +0 -7
- package/dist/components/binary-feedback/BinaryFeedbackView.js +0 -139
- package/dist/components/binary-feedback/BinaryFeedbackView.js.map +0 -7
- package/dist/components/binary-feedback/utils.js +0 -161
- package/dist/components/binary-feedback/utils.js.map +0 -7
- package/dist/components/messages/AssistantBashOutputMessage.js +0 -23
- package/dist/components/messages/AssistantBashOutputMessage.js.map +0 -7
- package/dist/components/messages/AssistantLocalCommandOutputMessage.js +0 -36
- package/dist/components/messages/AssistantLocalCommandOutputMessage.js.map +0 -7
- package/dist/components/messages/AssistantRedactedThinkingMessage.js +0 -12
- package/dist/components/messages/AssistantRedactedThinkingMessage.js.map +0 -7
- package/dist/components/messages/AssistantTextMessage.js +0 -78
- package/dist/components/messages/AssistantTextMessage.js.map +0 -7
- package/dist/components/messages/AssistantThinkingMessage.js +0 -27
- package/dist/components/messages/AssistantThinkingMessage.js.map +0 -7
- package/dist/components/messages/AssistantToolUseMessage.js +0 -91
- package/dist/components/messages/AssistantToolUseMessage.js.map +0 -7
- package/dist/components/messages/TaskProgressMessage.js +0 -11
- package/dist/components/messages/TaskProgressMessage.js.map +0 -7
- package/dist/components/messages/TaskToolMessage.js +0 -39
- package/dist/components/messages/TaskToolMessage.js.map +0 -7
- package/dist/components/messages/UserBashInputMessage.js +0 -18
- package/dist/components/messages/UserBashInputMessage.js.map +0 -7
- package/dist/components/messages/UserCommandMessage.js +0 -20
- package/dist/components/messages/UserCommandMessage.js.map +0 -7
- package/dist/components/messages/UserKodingInputMessage.js +0 -18
- package/dist/components/messages/UserKodingInputMessage.js.map +0 -7
- package/dist/components/messages/UserPromptMessage.js +0 -20
- package/dist/components/messages/UserPromptMessage.js.map +0 -7
- package/dist/components/messages/UserTextMessage.js +0 -25
- package/dist/components/messages/UserTextMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js +0 -10
- package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js +0 -15
- package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js +0 -25
- package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -47
- package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -23
- package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/utils.js +0 -42
- package/dist/components/messages/UserToolResultMessage/utils.js.map +0 -7
- package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -112
- package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js.map +0 -7
- package/dist/components/permissions/FallbackPermissionRequest.js +0 -131
- package/dist/components/permissions/FallbackPermissionRequest.js.map +0 -7
- package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -159
- package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js.map +0 -7
- package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js +0 -58
- package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js.map +0 -7
- package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -153
- package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js.map +0 -7
- package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -70
- package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js.map +0 -7
- package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -212
- package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js.map +0 -7
- package/dist/components/permissions/PermissionRequest.js +0 -70
- package/dist/components/permissions/PermissionRequest.js.map +0 -7
- package/dist/components/permissions/PermissionRequestTitle.js +0 -52
- package/dist/components/permissions/PermissionRequestTitle.js.map +0 -7
- package/dist/components/permissions/hooks.js +0 -28
- package/dist/components/permissions/hooks.js.map +0 -7
- package/dist/components/permissions/toolUseOptions.js +0 -46
- package/dist/components/permissions/toolUseOptions.js.map +0 -7
- package/dist/components/permissions/utils.js +0 -21
- package/dist/components/permissions/utils.js.map +0 -7
- package/dist/constants/betas.js +0 -11
- package/dist/constants/betas.js.map +0 -7
- package/dist/constants/claude-asterisk-ascii-art.js +0 -242
- package/dist/constants/claude-asterisk-ascii-art.js.map +0 -7
- package/dist/constants/figures.js +0 -6
- package/dist/constants/figures.js.map +0 -7
- package/dist/constants/keys.js +0 -7
- package/dist/constants/keys.js.map +0 -7
- package/dist/constants/macros.js +0 -13
- package/dist/constants/macros.js.map +0 -7
- package/dist/constants/modelCapabilities.js +0 -154
- package/dist/constants/modelCapabilities.js.map +0 -7
- package/dist/constants/models.js +0 -1034
- package/dist/constants/models.js.map +0 -7
- package/dist/constants/oauth.js +0 -18
- package/dist/constants/oauth.js.map +0 -7
- package/dist/constants/product.js +0 -26
- package/dist/constants/product.js.map +0 -7
- package/dist/constants/prompts.js +0 -168
- package/dist/constants/prompts.js.map +0 -7
- package/dist/constants/releaseNotes.js +0 -9
- package/dist/constants/releaseNotes.js.map +0 -7
- package/dist/context/PermissionContext.js +0 -111
- package/dist/context/PermissionContext.js.map +0 -7
- package/dist/context.js +0 -259
- package/dist/context.js.map +0 -7
- package/dist/cost-tracker.js.map +0 -7
- package/dist/entrypoints/cli.js +0 -1107
- package/dist/entrypoints/cli.js.map +0 -7
- package/dist/entrypoints/mcp.js +0 -150
- package/dist/entrypoints/mcp.js.map +0 -7
- package/dist/history.js +0 -25
- package/dist/history.js.map +0 -7
- package/dist/hooks/useApiKeyVerification.js +0 -12
- package/dist/hooks/useApiKeyVerification.js.map +0 -7
- package/dist/hooks/useArrowKeyHistory.js +0 -50
- package/dist/hooks/useArrowKeyHistory.js.map +0 -7
- package/dist/hooks/useCanUseTool.js +0 -112
- package/dist/hooks/useCanUseTool.js.map +0 -7
- package/dist/hooks/useCancelRequest.js +0 -30
- package/dist/hooks/useCancelRequest.js.map +0 -7
- package/dist/hooks/useDoublePress.js +0 -31
- package/dist/hooks/useDoublePress.js.map +0 -7
- package/dist/hooks/useExitOnCtrlCD.js +0 -26
- package/dist/hooks/useExitOnCtrlCD.js.map +0 -7
- package/dist/hooks/useInterval.js +0 -18
- package/dist/hooks/useInterval.js.map +0 -7
- package/dist/hooks/useLogMessages.js +0 -14
- package/dist/hooks/useLogMessages.js.map +0 -7
- package/dist/hooks/useLogStartupTime.js +0 -15
- package/dist/hooks/useLogStartupTime.js.map +0 -7
- package/dist/hooks/useNotifyAfterTimeout.js +0 -42
- package/dist/hooks/useNotifyAfterTimeout.js.map +0 -7
- package/dist/hooks/usePermissionRequestLogging.js +0 -28
- package/dist/hooks/usePermissionRequestLogging.js.map +0 -7
- package/dist/hooks/useTerminalSize.js +0 -38
- package/dist/hooks/useTerminalSize.js.map +0 -7
- package/dist/hooks/useTextInput.js +0 -250
- package/dist/hooks/useTextInput.js.map +0 -7
- package/dist/hooks/useUnifiedCompletion.js +0 -929
- package/dist/hooks/useUnifiedCompletion.js.map +0 -7
- package/dist/messages.js +0 -33
- package/dist/messages.js.map +0 -7
- package/dist/permissions.js +0 -194
- package/dist/permissions.js.map +0 -7
- package/dist/query.js +0 -492
- package/dist/query.js.map +0 -7
- package/dist/screens/ConfigureNpmPrefix.js +0 -128
- package/dist/screens/ConfigureNpmPrefix.js.map +0 -7
- package/dist/screens/Doctor.js +0 -22
- package/dist/screens/Doctor.js.map +0 -7
- package/dist/screens/LogList.js +0 -55
- package/dist/screens/LogList.js.map +0 -7
- package/dist/screens/REPL.js +0 -593
- package/dist/screens/REPL.js.map +0 -7
- package/dist/screens/ResumeConversation.js +0 -56
- package/dist/screens/ResumeConversation.js.map +0 -7
- package/dist/services/adapters/base.js +0 -29
- package/dist/services/adapters/base.js.map +0 -7
- package/dist/services/adapters/chatCompletions.js +0 -69
- package/dist/services/adapters/chatCompletions.js.map +0 -7
- package/dist/services/adapters/responsesAPI.js +0 -126
- package/dist/services/adapters/responsesAPI.js.map +0 -7
- package/dist/services/browserMocks.js +0 -48
- package/dist/services/browserMocks.js.map +0 -7
- package/dist/services/claude.js +0 -1605
- package/dist/services/claude.js.map +0 -7
- package/dist/services/customCommands.js +0 -359
- package/dist/services/customCommands.js.map +0 -7
- package/dist/services/fileFreshness.js +0 -280
- package/dist/services/fileFreshness.js.map +0 -7
- package/dist/services/gpt5ConnectionTest.js +0 -248
- package/dist/services/gpt5ConnectionTest.js.map +0 -7
- package/dist/services/mcpClient.js +0 -435
- package/dist/services/mcpClient.js.map +0 -7
- package/dist/services/mcpServerApproval.js +0 -55
- package/dist/services/mcpServerApproval.js.map +0 -7
- package/dist/services/mentionProcessor.js.map +0 -7
- package/dist/services/modelAdapterFactory.js +0 -47
- package/dist/services/modelAdapterFactory.js.map +0 -7
- package/dist/services/notifier.js +0 -35
- package/dist/services/notifier.js.map +0 -7
- package/dist/services/oauth.js +0 -259
- package/dist/services/oauth.js.map +0 -7
- package/dist/services/openai.js.map +0 -7
- package/dist/services/responseStateManager.js +0 -68
- package/dist/services/responseStateManager.js.map +0 -7
- package/dist/services/sentry.js +0 -9
- package/dist/services/sentry.js.map +0 -7
- package/dist/services/statsig.js +0 -112
- package/dist/services/statsig.js.map +0 -7
- package/dist/services/statsigStorage.js +0 -75
- package/dist/services/statsigStorage.js.map +0 -7
- package/dist/services/systemReminder.js.map +0 -7
- package/dist/services/vcr.js +0 -133
- package/dist/services/vcr.js.map +0 -7
- package/dist/tools/ArchitectTool/ArchitectTool.js +0 -119
- package/dist/tools/ArchitectTool/ArchitectTool.js.map +0 -7
- package/dist/tools/ArchitectTool/prompt.js +0 -18
- package/dist/tools/ArchitectTool/prompt.js.map +0 -7
- package/dist/tools/AskExpertModelTool/AskExpertModelTool.js +0 -423
- package/dist/tools/AskExpertModelTool/AskExpertModelTool.js.map +0 -7
- package/dist/tools/BashTool/BashTool.js +0 -188
- package/dist/tools/BashTool/BashTool.js.map +0 -7
- package/dist/tools/BashTool/BashToolResultMessage.js +0 -21
- package/dist/tools/BashTool/BashToolResultMessage.js.map +0 -7
- package/dist/tools/BashTool/OutputLine.js +0 -30
- package/dist/tools/BashTool/OutputLine.js.map +0 -7
- package/dist/tools/BashTool/prompt.js +0 -179
- package/dist/tools/BashTool/prompt.js.map +0 -7
- package/dist/tools/BashTool/utils.js +0 -51
- package/dist/tools/BashTool/utils.js.map +0 -7
- package/dist/tools/FileEditTool/FileEditTool.js +0 -228
- package/dist/tools/FileEditTool/FileEditTool.js.map +0 -7
- package/dist/tools/FileEditTool/prompt.js +0 -54
- package/dist/tools/FileEditTool/prompt.js.map +0 -7
- package/dist/tools/FileEditTool/utils.js +0 -42
- package/dist/tools/FileEditTool/utils.js.map +0 -7
- package/dist/tools/FileReadTool/FileReadTool.js +0 -272
- package/dist/tools/FileReadTool/FileReadTool.js.map +0 -7
- package/dist/tools/FileReadTool/prompt.js +0 -10
- package/dist/tools/FileReadTool/prompt.js.map +0 -7
- package/dist/tools/FileWriteTool/FileWriteTool.js +0 -204
- package/dist/tools/FileWriteTool/FileWriteTool.js.map +0 -7
- package/dist/tools/FileWriteTool/prompt.js +0 -14
- package/dist/tools/FileWriteTool/prompt.js.map +0 -7
- package/dist/tools/GlobTool/GlobTool.js +0 -88
- package/dist/tools/GlobTool/GlobTool.js.map +0 -7
- package/dist/tools/GlobTool/prompt.js +0 -12
- package/dist/tools/GlobTool/prompt.js.map +0 -7
- package/dist/tools/GrepTool/GrepTool.js +0 -107
- package/dist/tools/GrepTool/GrepTool.js.map +0 -7
- package/dist/tools/GrepTool/prompt.js +0 -15
- package/dist/tools/GrepTool/prompt.js.map +0 -7
- package/dist/tools/MCPTool/MCPTool.js +0 -90
- package/dist/tools/MCPTool/MCPTool.js.map +0 -7
- package/dist/tools/MCPTool/prompt.js +0 -7
- package/dist/tools/MCPTool/prompt.js.map +0 -7
- package/dist/tools/MemoryReadTool/MemoryReadTool.js +0 -103
- package/dist/tools/MemoryReadTool/MemoryReadTool.js.map +0 -7
- package/dist/tools/MemoryReadTool/prompt.js +0 -7
- package/dist/tools/MemoryReadTool/prompt.js.map +0 -7
- package/dist/tools/MemoryWriteTool/MemoryWriteTool.js +0 -77
- package/dist/tools/MemoryWriteTool/MemoryWriteTool.js.map +0 -7
- package/dist/tools/MemoryWriteTool/prompt.js +0 -7
- package/dist/tools/MemoryWriteTool/prompt.js.map +0 -7
- package/dist/tools/MultiEditTool/MultiEditTool.js +0 -308
- package/dist/tools/MultiEditTool/MultiEditTool.js.map +0 -7
- package/dist/tools/MultiEditTool/prompt.js +0 -48
- package/dist/tools/MultiEditTool/prompt.js.map +0 -7
- package/dist/tools/NotebookEditTool/NotebookEditTool.js +0 -238
- package/dist/tools/NotebookEditTool/NotebookEditTool.js.map +0 -7
- package/dist/tools/NotebookEditTool/prompt.js +0 -7
- package/dist/tools/NotebookEditTool/prompt.js.map +0 -7
- package/dist/tools/NotebookReadTool/NotebookReadTool.js +0 -212
- package/dist/tools/NotebookReadTool/NotebookReadTool.js.map +0 -7
- package/dist/tools/NotebookReadTool/prompt.js +0 -7
- package/dist/tools/NotebookReadTool/prompt.js.map +0 -7
- package/dist/tools/StickerRequestTool/StickerRequestTool.js +0 -86
- package/dist/tools/StickerRequestTool/StickerRequestTool.js.map +0 -7
- package/dist/tools/StickerRequestTool/prompt.js +0 -23
- package/dist/tools/StickerRequestTool/prompt.js.map +0 -7
- package/dist/tools/TaskTool/TaskTool.js +0 -351
- package/dist/tools/TaskTool/TaskTool.js.map +0 -7
- package/dist/tools/TaskTool/constants.js +0 -5
- package/dist/tools/TaskTool/constants.js.map +0 -7
- package/dist/tools/TaskTool/prompt.js +0 -82
- package/dist/tools/TaskTool/prompt.js.map +0 -7
- package/dist/tools/ThinkTool/ThinkTool.js +0 -48
- package/dist/tools/ThinkTool/ThinkTool.js.map +0 -7
- package/dist/tools/ThinkTool/prompt.js +0 -16
- package/dist/tools/ThinkTool/prompt.js.map +0 -7
- package/dist/tools/TodoWriteTool/TodoWriteTool.js +0 -216
- package/dist/tools/TodoWriteTool/TodoWriteTool.js.map +0 -7
- package/dist/tools/TodoWriteTool/prompt.js +0 -66
- package/dist/tools/TodoWriteTool/prompt.js.map +0 -7
- package/dist/tools/URLFetcherTool/URLFetcherTool.js +0 -137
- package/dist/tools/URLFetcherTool/URLFetcherTool.js.map +0 -7
- package/dist/tools/URLFetcherTool/cache.js +0 -45
- package/dist/tools/URLFetcherTool/cache.js.map +0 -7
- package/dist/tools/URLFetcherTool/htmlToMarkdown.js +0 -42
- package/dist/tools/URLFetcherTool/htmlToMarkdown.js.map +0 -7
- package/dist/tools/URLFetcherTool/prompt.js +0 -22
- package/dist/tools/URLFetcherTool/prompt.js.map +0 -7
- package/dist/tools/WebSearchTool/WebSearchTool.js +0 -86
- package/dist/tools/WebSearchTool/WebSearchTool.js.map +0 -7
- package/dist/tools/WebSearchTool/prompt.js +0 -17
- package/dist/tools/WebSearchTool/prompt.js.map +0 -7
- package/dist/tools/WebSearchTool/searchProviders.js +0 -48
- package/dist/tools/WebSearchTool/searchProviders.js.map +0 -7
- package/dist/tools/lsTool/lsTool.js +0 -201
- package/dist/tools/lsTool/lsTool.js.map +0 -7
- package/dist/tools/lsTool/prompt.js +0 -5
- package/dist/tools/lsTool/prompt.js.map +0 -7
- package/dist/tools.js +0 -64
- package/dist/tools.js.map +0 -7
- package/dist/types/PermissionMode.js +0 -82
- package/dist/types/PermissionMode.js.map +0 -7
- package/dist/types/RequestContext.js +0 -47
- package/dist/types/RequestContext.js.map +0 -7
- package/dist/types/common.d.js +0 -1
- package/dist/types/conversation.js +0 -1
- package/dist/types/logs.js +0 -1
- package/dist/types/modelCapabilities.js +0 -1
- package/dist/types/notebook.js +0 -1
- package/dist/utils/Cursor.js +0 -313
- package/dist/utils/Cursor.js.map +0 -7
- package/dist/utils/PersistentShell.js +0 -382
- package/dist/utils/PersistentShell.js.map +0 -7
- package/dist/utils/advancedFuzzyMatcher.js +0 -206
- package/dist/utils/advancedFuzzyMatcher.js.map +0 -7
- package/dist/utils/agentLoader.js +0 -199
- package/dist/utils/agentLoader.js.map +0 -7
- package/dist/utils/agentStorage.js +0 -59
- package/dist/utils/agentStorage.js.map +0 -7
- package/dist/utils/array.js +0 -7
- package/dist/utils/array.js.map +0 -7
- package/dist/utils/ask.js +0 -77
- package/dist/utils/ask.js.map +0 -7
- package/dist/utils/auth.js +0 -11
- package/dist/utils/auth.js.map +0 -7
- package/dist/utils/autoCompactCore.js +0 -149
- package/dist/utils/autoCompactCore.js.map +0 -7
- package/dist/utils/autoUpdater.js.map +0 -7
- package/dist/utils/betas.js +0 -21
- package/dist/utils/betas.js.map +0 -7
- package/dist/utils/browser.js +0 -15
- package/dist/utils/browser.js.map +0 -7
- package/dist/utils/cleanup.js +0 -54
- package/dist/utils/cleanup.js.map +0 -7
- package/dist/utils/commands.js +0 -207
- package/dist/utils/commands.js.map +0 -7
- package/dist/utils/commonUnixCommands.js +0 -687
- package/dist/utils/commonUnixCommands.js.map +0 -7
- package/dist/utils/config.js.map +0 -7
- package/dist/utils/conversationRecovery.js +0 -35
- package/dist/utils/conversationRecovery.js.map +0 -7
- package/dist/utils/debugLogger.js.map +0 -7
- package/dist/utils/diff.js +0 -32
- package/dist/utils/diff.js.map +0 -7
- package/dist/utils/env.js +0 -44
- package/dist/utils/env.js.map +0 -7
- package/dist/utils/errors.js +0 -23
- package/dist/utils/errors.js.map +0 -7
- package/dist/utils/exampleCommands.js +0 -80
- package/dist/utils/exampleCommands.js.map +0 -7
- package/dist/utils/execFileNoThrow.js +0 -44
- package/dist/utils/execFileNoThrow.js.map +0 -7
- package/dist/utils/expertChatStorage.js +0 -78
- package/dist/utils/expertChatStorage.js.map +0 -7
- package/dist/utils/file.js +0 -282
- package/dist/utils/file.js.map +0 -7
- package/dist/utils/fileRecoveryCore.js +0 -41
- package/dist/utils/fileRecoveryCore.js.map +0 -7
- package/dist/utils/format.js +0 -41
- package/dist/utils/format.js.map +0 -7
- package/dist/utils/fuzzyMatcher.js +0 -252
- package/dist/utils/fuzzyMatcher.js.map +0 -7
- package/dist/utils/generators.js +0 -46
- package/dist/utils/generators.js.map +0 -7
- package/dist/utils/git.js +0 -83
- package/dist/utils/git.js.map +0 -7
- package/dist/utils/globalLogger.js +0 -54
- package/dist/utils/globalLogger.js.map +0 -7
- package/dist/utils/http.js +0 -7
- package/dist/utils/http.js.map +0 -7
- package/dist/utils/imagePaste.js +0 -29
- package/dist/utils/imagePaste.js.map +0 -7
- package/dist/utils/json.js +0 -16
- package/dist/utils/json.js.map +0 -7
- package/dist/utils/log.js +0 -298
- package/dist/utils/log.js.map +0 -7
- package/dist/utils/markdown.js +0 -187
- package/dist/utils/markdown.js.map +0 -7
- package/dist/utils/messageContextManager.js +0 -195
- package/dist/utils/messageContextManager.js.map +0 -7
- package/dist/utils/messages.js +0 -633
- package/dist/utils/messages.js.map +0 -7
- package/dist/utils/model.js.map +0 -7
- package/dist/utils/permissions/filesystem.js +0 -80
- package/dist/utils/permissions/filesystem.js.map +0 -7
- package/dist/utils/responseState.js +0 -20
- package/dist/utils/responseState.js.map +0 -7
- package/dist/utils/ripgrep.js +0 -131
- package/dist/utils/ripgrep.js.map +0 -7
- package/dist/utils/secureFile.js +0 -483
- package/dist/utils/secureFile.js.map +0 -7
- package/dist/utils/sessionState.js +0 -31
- package/dist/utils/sessionState.js.map +0 -7
- package/dist/utils/state.js +0 -24
- package/dist/utils/state.js.map +0 -7
- package/dist/utils/style.js +0 -31
- package/dist/utils/style.js.map +0 -7
- package/dist/utils/terminal.js +0 -43
- package/dist/utils/terminal.js.map +0 -7
- package/dist/utils/theme.js.map +0 -7
- package/dist/utils/thinking.js +0 -103
- package/dist/utils/thinking.js.map +0 -7
- package/dist/utils/todoStorage.js +0 -291
- package/dist/utils/todoStorage.js.map +0 -7
- package/dist/utils/tokens.js +0 -30
- package/dist/utils/tokens.js.map +0 -7
- package/dist/utils/toolExecutionController.js +0 -109
- package/dist/utils/toolExecutionController.js.map +0 -7
- package/dist/utils/unaryLogging.js +0 -14
- package/dist/utils/unaryLogging.js.map +0 -7
- package/dist/utils/user.js +0 -40
- package/dist/utils/user.js.map +0 -7
- package/dist/utils/validate.js +0 -132
- package/dist/utils/validate.js.map +0 -7
- /package/dist/{Tool.js.map → REPL-GIU4ZIXM.js.map} +0 -0
- /package/dist/{components/CustomSelect/theme.js.map → autoUpdater-DNRMJWFQ.js.map} +0 -0
- /package/dist/{types/common.d.js.map → chunk-JC6NCUG5.js.map} +0 -0
- /package/dist/{types/conversation.js.map → commands-TWH6PGVG.js.map} +0 -0
- /package/dist/{types/logs.js.map → config-6ZMBCL23.js.map} +0 -0
- /package/dist/{types/modelCapabilities.js.map → context-JQIOOI4W.js.map} +0 -0
- /package/dist/{types/notebook.js.map → costTracker-6SL26FDB.js.map} +0 -0
|
@@ -1,17 +1,54 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import {
|
|
1
|
+
import { createRequire as __kodeCreateRequire } from "node:module";
|
|
2
|
+
const require = __kodeCreateRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
ConfigParseError
|
|
5
|
+
} from "./chunk-UYXEDKOZ.js";
|
|
6
|
+
import {
|
|
7
|
+
debug
|
|
8
|
+
} from "./chunk-QYFKRZQC.js";
|
|
9
|
+
import {
|
|
10
|
+
getCwd,
|
|
11
|
+
getGlobalConfigFilePath,
|
|
12
|
+
logError
|
|
13
|
+
} from "./chunk-MN77D2F7.js";
|
|
14
|
+
|
|
15
|
+
// src/core/config/schema.ts
|
|
16
|
+
function isAutoUpdaterStatus(value) {
|
|
17
|
+
return ["disabled", "enabled", "no_permissions", "not_configured"].includes(
|
|
18
|
+
value
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
var GLOBAL_CONFIG_KEYS = [
|
|
22
|
+
"autoUpdaterStatus",
|
|
23
|
+
"theme",
|
|
24
|
+
"hasCompletedOnboarding",
|
|
25
|
+
"lastOnboardingVersion",
|
|
26
|
+
"lastReleaseNotesSeen",
|
|
27
|
+
"verbose",
|
|
28
|
+
"customApiKeyResponses",
|
|
29
|
+
"primaryProvider",
|
|
30
|
+
"preferredNotifChannel",
|
|
31
|
+
"maxTokens"
|
|
32
|
+
];
|
|
33
|
+
function isGlobalConfigKey(key) {
|
|
34
|
+
return GLOBAL_CONFIG_KEYS.includes(key);
|
|
35
|
+
}
|
|
36
|
+
var PROJECT_CONFIG_KEYS = [
|
|
37
|
+
"dontCrawlDirectory",
|
|
38
|
+
"enableArchitectTool",
|
|
39
|
+
"hasTrustDialogAccepted",
|
|
40
|
+
"hasCompletedProjectOnboarding"
|
|
41
|
+
];
|
|
42
|
+
function isProjectConfigKey(key) {
|
|
43
|
+
return PROJECT_CONFIG_KEYS.includes(key);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// src/core/config/defaults.ts
|
|
4
47
|
import { homedir } from "os";
|
|
5
|
-
|
|
6
|
-
import { getCwd } from "./state.js";
|
|
7
|
-
import { randomBytes } from "crypto";
|
|
8
|
-
import { safeParseJSON } from "./json.js";
|
|
9
|
-
import { checkGate, logEvent } from "../services/statsig.js";
|
|
10
|
-
import { GATE_USE_EXTERNAL_UPDATER } from "../constants/betas.js";
|
|
11
|
-
import { ConfigParseError } from "./errors.js";
|
|
12
|
-
import { debug as debugLogger } from "./debugLogger.js";
|
|
13
|
-
const DEFAULT_PROJECT_CONFIG = {
|
|
48
|
+
var DEFAULT_PROJECT_CONFIG = {
|
|
14
49
|
allowedTools: [],
|
|
50
|
+
deniedTools: [],
|
|
51
|
+
askedTools: [],
|
|
15
52
|
context: {},
|
|
16
53
|
history: [],
|
|
17
54
|
dontCrawlDirectory: false,
|
|
@@ -29,12 +66,7 @@ function defaultConfigForProject(projectPath) {
|
|
|
29
66
|
}
|
|
30
67
|
return config;
|
|
31
68
|
}
|
|
32
|
-
|
|
33
|
-
return ["disabled", "enabled", "no_permissions", "not_configured"].includes(
|
|
34
|
-
value
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
const DEFAULT_GLOBAL_CONFIG = {
|
|
69
|
+
var DEFAULT_GLOBAL_CONFIG = {
|
|
38
70
|
numStartups: 0,
|
|
39
71
|
autoUpdaterStatus: "not_configured",
|
|
40
72
|
theme: "dark",
|
|
@@ -46,43 +78,126 @@ const DEFAULT_GLOBAL_CONFIG = {
|
|
|
46
78
|
rejected: []
|
|
47
79
|
},
|
|
48
80
|
stream: true,
|
|
49
|
-
// New model system defaults
|
|
50
81
|
modelProfiles: [],
|
|
51
82
|
modelPointers: {
|
|
52
83
|
main: "",
|
|
53
84
|
task: "",
|
|
54
|
-
|
|
85
|
+
compact: "",
|
|
55
86
|
quick: ""
|
|
56
87
|
},
|
|
57
88
|
lastDismissedUpdateVersion: void 0
|
|
58
89
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
90
|
+
|
|
91
|
+
// src/core/config/loader.ts
|
|
92
|
+
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
93
|
+
import { join, posix, resolve, win32 } from "path";
|
|
94
|
+
import { cloneDeep, memoize, pick } from "lodash-es";
|
|
95
|
+
import { homedir as homedir2 } from "os";
|
|
96
|
+
import { randomBytes } from "crypto";
|
|
97
|
+
|
|
98
|
+
// src/utils/text/json.ts
|
|
99
|
+
function safeParseJSON(json) {
|
|
100
|
+
if (!json) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
return JSON.parse(json);
|
|
105
|
+
} catch (e) {
|
|
106
|
+
logError(e);
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// src/core/config/migrations.ts
|
|
112
|
+
function migrateModelProfilesRemoveId(config) {
|
|
113
|
+
if (!config.modelProfiles) return config;
|
|
114
|
+
const idToModelNameMap = /* @__PURE__ */ new Map();
|
|
115
|
+
const migratedProfiles = config.modelProfiles.map((profile) => {
|
|
116
|
+
if (profile.id && profile.modelName) {
|
|
117
|
+
idToModelNameMap.set(profile.id, profile.modelName);
|
|
118
|
+
}
|
|
119
|
+
const { id, ...profileWithoutId } = profile;
|
|
120
|
+
return profileWithoutId;
|
|
121
|
+
});
|
|
122
|
+
const migratedPointers = {
|
|
123
|
+
main: "",
|
|
124
|
+
task: "",
|
|
125
|
+
compact: "",
|
|
126
|
+
quick: ""
|
|
127
|
+
};
|
|
128
|
+
const rawPointers = config.modelPointers;
|
|
129
|
+
const rawMain = typeof rawPointers?.main === "string" ? rawPointers.main : "";
|
|
130
|
+
const rawTask = typeof rawPointers?.task === "string" ? rawPointers.task : "";
|
|
131
|
+
const rawQuick = typeof rawPointers?.quick === "string" ? rawPointers.quick : "";
|
|
132
|
+
const rawCompact = typeof rawPointers?.compact === "string" ? rawPointers.compact : typeof rawPointers?.reasoning === "string" ? rawPointers.reasoning : "";
|
|
133
|
+
if (rawMain) migratedPointers.main = idToModelNameMap.get(rawMain) || rawMain;
|
|
134
|
+
if (rawTask) migratedPointers.task = idToModelNameMap.get(rawTask) || rawTask;
|
|
135
|
+
if (rawCompact)
|
|
136
|
+
migratedPointers.compact = idToModelNameMap.get(rawCompact) || rawCompact;
|
|
137
|
+
if (rawQuick)
|
|
138
|
+
migratedPointers.quick = idToModelNameMap.get(rawQuick) || rawQuick;
|
|
139
|
+
let defaultModelName;
|
|
140
|
+
if (config.defaultModelId) {
|
|
141
|
+
defaultModelName = idToModelNameMap.get(config.defaultModelId) || config.defaultModelId;
|
|
142
|
+
} else if (config.defaultModelName) {
|
|
143
|
+
defaultModelName = config.defaultModelName;
|
|
144
|
+
}
|
|
145
|
+
const migratedConfig = { ...config };
|
|
146
|
+
delete migratedConfig.defaultModelId;
|
|
147
|
+
delete migratedConfig.currentSelectedModelId;
|
|
148
|
+
delete migratedConfig.mainAgentModelId;
|
|
149
|
+
delete migratedConfig.taskToolModelId;
|
|
150
|
+
return {
|
|
151
|
+
...migratedConfig,
|
|
152
|
+
modelProfiles: migratedProfiles,
|
|
153
|
+
modelPointers: migratedPointers,
|
|
154
|
+
defaultModelName
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// src/core/config/loader.ts
|
|
159
|
+
function expandHomeDirForPlatform(input, homeDirPath, platform) {
|
|
160
|
+
const trimmed = input.trim();
|
|
161
|
+
if (!trimmed) return trimmed;
|
|
162
|
+
if (trimmed === "~") return homeDirPath;
|
|
163
|
+
if (trimmed.startsWith("~/") || trimmed.startsWith("~\\")) {
|
|
164
|
+
const rest = trimmed.slice(2);
|
|
165
|
+
return platform === "win32" ? win32.join(homeDirPath, rest) : posix.join(homeDirPath, rest);
|
|
166
|
+
}
|
|
167
|
+
return trimmed;
|
|
168
|
+
}
|
|
169
|
+
function normalizeProjectPathForComparison(projectPath, baseDir, opts) {
|
|
170
|
+
const platform = opts?.platform ?? process.platform;
|
|
171
|
+
const homeDirPath = opts?.homeDir ?? homedir2();
|
|
172
|
+
const expanded = expandHomeDirForPlatform(projectPath, homeDirPath, platform);
|
|
173
|
+
if (!expanded) return "";
|
|
174
|
+
if (platform === "win32") {
|
|
175
|
+
const resolved2 = win32.isAbsolute(expanded) ? win32.resolve(expanded) : win32.resolve(baseDir, expanded);
|
|
176
|
+
return resolved2.toLowerCase();
|
|
177
|
+
}
|
|
178
|
+
const resolved = posix.isAbsolute(expanded) ? posix.resolve(expanded) : posix.resolve(baseDir, expanded);
|
|
179
|
+
return resolved;
|
|
180
|
+
}
|
|
181
|
+
function findMatchingProjectKey(projects, absolutePath) {
|
|
182
|
+
if (!projects) return void 0;
|
|
183
|
+
if (projects[absolutePath]) return absolutePath;
|
|
184
|
+
const normalizedTarget = normalizeProjectPathForComparison(
|
|
185
|
+
absolutePath,
|
|
186
|
+
absolutePath
|
|
187
|
+
);
|
|
188
|
+
for (const key of Object.keys(projects)) {
|
|
189
|
+
if (normalizeProjectPathForComparison(key, absolutePath) === normalizedTarget) {
|
|
190
|
+
return key;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return void 0;
|
|
74
194
|
}
|
|
75
|
-
const PROJECT_CONFIG_KEYS = [
|
|
76
|
-
"dontCrawlDirectory",
|
|
77
|
-
"enableArchitectTool",
|
|
78
|
-
"hasTrustDialogAccepted",
|
|
79
|
-
"hasCompletedProjectOnboarding"
|
|
80
|
-
];
|
|
81
195
|
function checkHasTrustDialogAccepted() {
|
|
82
196
|
let currentPath = getCwd();
|
|
83
|
-
const config = getConfig(
|
|
197
|
+
const config = getConfig(getGlobalConfigFilePath(), DEFAULT_GLOBAL_CONFIG);
|
|
84
198
|
while (true) {
|
|
85
|
-
const
|
|
199
|
+
const projectKey = findMatchingProjectKey(config.projects, currentPath);
|
|
200
|
+
const projectConfig = projectKey ? config.projects?.[projectKey] : void 0;
|
|
86
201
|
if (projectConfig?.hasTrustDialogAccepted) {
|
|
87
202
|
return true;
|
|
88
203
|
}
|
|
@@ -94,16 +209,13 @@ function checkHasTrustDialogAccepted() {
|
|
|
94
209
|
}
|
|
95
210
|
return false;
|
|
96
211
|
}
|
|
97
|
-
|
|
212
|
+
var TEST_GLOBAL_CONFIG_FOR_TESTING = {
|
|
98
213
|
...DEFAULT_GLOBAL_CONFIG,
|
|
99
214
|
autoUpdaterStatus: "disabled"
|
|
100
215
|
};
|
|
101
|
-
|
|
216
|
+
var TEST_PROJECT_CONFIG_FOR_TESTING = {
|
|
102
217
|
...DEFAULT_PROJECT_CONFIG
|
|
103
218
|
};
|
|
104
|
-
function isProjectConfigKey(key) {
|
|
105
|
-
return PROJECT_CONFIG_KEYS.includes(key);
|
|
106
|
-
}
|
|
107
219
|
function saveGlobalConfig(config) {
|
|
108
220
|
if (process.env.NODE_ENV === "test") {
|
|
109
221
|
for (const key in config) {
|
|
@@ -112,10 +224,10 @@ function saveGlobalConfig(config) {
|
|
|
112
224
|
return;
|
|
113
225
|
}
|
|
114
226
|
saveConfig(
|
|
115
|
-
|
|
227
|
+
getGlobalConfigFilePath(),
|
|
116
228
|
{
|
|
117
229
|
...config,
|
|
118
|
-
projects: getConfig(
|
|
230
|
+
projects: getConfig(getGlobalConfigFilePath(), DEFAULT_GLOBAL_CONFIG).projects
|
|
119
231
|
},
|
|
120
232
|
DEFAULT_GLOBAL_CONFIG
|
|
121
233
|
);
|
|
@@ -124,12 +236,9 @@ function getGlobalConfig() {
|
|
|
124
236
|
if (process.env.NODE_ENV === "test") {
|
|
125
237
|
return TEST_GLOBAL_CONFIG_FOR_TESTING;
|
|
126
238
|
}
|
|
127
|
-
const config = getConfig(
|
|
239
|
+
const config = getConfig(getGlobalConfigFilePath(), DEFAULT_GLOBAL_CONFIG);
|
|
128
240
|
return migrateModelProfilesRemoveId(config);
|
|
129
241
|
}
|
|
130
|
-
function getAnthropicApiKey() {
|
|
131
|
-
return process.env.ANTHROPIC_API_KEY || null;
|
|
132
|
-
}
|
|
133
242
|
function normalizeApiKeyForConfig(apiKey) {
|
|
134
243
|
return apiKey?.slice(-20) ?? "";
|
|
135
244
|
}
|
|
@@ -149,25 +258,38 @@ function saveConfig(file, config, defaultConfig) {
|
|
|
149
258
|
([key, value]) => JSON.stringify(value) !== JSON.stringify(defaultConfig[key])
|
|
150
259
|
)
|
|
151
260
|
);
|
|
152
|
-
|
|
261
|
+
try {
|
|
262
|
+
writeFileSync(file, JSON.stringify(filteredConfig, null, 2), "utf-8");
|
|
263
|
+
} catch (error) {
|
|
264
|
+
const err = error;
|
|
265
|
+
if (err?.code === "EACCES" || err?.code === "EPERM" || err?.code === "EROFS") {
|
|
266
|
+
debug.state("CONFIG_SAVE_SKIPPED", {
|
|
267
|
+
file,
|
|
268
|
+
reason: String(err.code)
|
|
269
|
+
});
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
throw error;
|
|
273
|
+
}
|
|
153
274
|
}
|
|
154
|
-
|
|
275
|
+
var configReadingAllowed = false;
|
|
155
276
|
function enableConfigs() {
|
|
156
277
|
configReadingAllowed = true;
|
|
157
278
|
getConfig(
|
|
158
|
-
|
|
279
|
+
getGlobalConfigFilePath(),
|
|
159
280
|
DEFAULT_GLOBAL_CONFIG,
|
|
160
281
|
true
|
|
161
282
|
);
|
|
162
283
|
}
|
|
163
284
|
function getConfig(file, defaultConfig, throwOnInvalid) {
|
|
164
|
-
|
|
285
|
+
void configReadingAllowed;
|
|
286
|
+
debug.state("CONFIG_LOAD_START", {
|
|
165
287
|
file,
|
|
166
288
|
fileExists: String(existsSync(file)),
|
|
167
289
|
throwOnInvalid: String(!!throwOnInvalid)
|
|
168
290
|
});
|
|
169
291
|
if (!existsSync(file)) {
|
|
170
|
-
|
|
292
|
+
debug.state("CONFIG_LOAD_DEFAULT", {
|
|
171
293
|
file,
|
|
172
294
|
reason: "file_not_exists",
|
|
173
295
|
defaultConfigKeys: Object.keys(defaultConfig).join(", ")
|
|
@@ -176,14 +298,14 @@ function getConfig(file, defaultConfig, throwOnInvalid) {
|
|
|
176
298
|
}
|
|
177
299
|
try {
|
|
178
300
|
const fileContent = readFileSync(file, "utf-8");
|
|
179
|
-
|
|
301
|
+
debug.state("CONFIG_FILE_READ", {
|
|
180
302
|
file,
|
|
181
303
|
contentLength: String(fileContent.length),
|
|
182
304
|
contentPreview: fileContent.substring(0, 100) + (fileContent.length > 100 ? "..." : "")
|
|
183
305
|
});
|
|
184
306
|
try {
|
|
185
307
|
const parsedConfig = JSON.parse(fileContent);
|
|
186
|
-
|
|
308
|
+
debug.state("CONFIG_JSON_PARSED", {
|
|
187
309
|
file,
|
|
188
310
|
parsedKeys: Object.keys(parsedConfig).join(", ")
|
|
189
311
|
});
|
|
@@ -191,14 +313,14 @@ function getConfig(file, defaultConfig, throwOnInvalid) {
|
|
|
191
313
|
...cloneDeep(defaultConfig),
|
|
192
314
|
...parsedConfig
|
|
193
315
|
};
|
|
194
|
-
|
|
316
|
+
debug.state("CONFIG_LOAD_SUCCESS", {
|
|
195
317
|
file,
|
|
196
318
|
finalConfigKeys: Object.keys(finalConfig).join(", ")
|
|
197
319
|
});
|
|
198
320
|
return finalConfig;
|
|
199
321
|
} catch (error) {
|
|
200
322
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
201
|
-
|
|
323
|
+
debug.error("CONFIG_JSON_PARSE_ERROR", {
|
|
202
324
|
file,
|
|
203
325
|
errorMessage,
|
|
204
326
|
errorType: error instanceof Error ? error.constructor.name : typeof error,
|
|
@@ -208,14 +330,14 @@ function getConfig(file, defaultConfig, throwOnInvalid) {
|
|
|
208
330
|
}
|
|
209
331
|
} catch (error) {
|
|
210
332
|
if (error instanceof ConfigParseError && throwOnInvalid) {
|
|
211
|
-
|
|
333
|
+
debug.error("CONFIG_PARSE_ERROR_RETHROWN", {
|
|
212
334
|
file,
|
|
213
335
|
throwOnInvalid: String(throwOnInvalid),
|
|
214
336
|
errorMessage: error.message
|
|
215
337
|
});
|
|
216
338
|
throw error;
|
|
217
339
|
}
|
|
218
|
-
|
|
340
|
+
debug.warn("CONFIG_FALLBACK_TO_DEFAULT", {
|
|
219
341
|
file,
|
|
220
342
|
errorType: error instanceof Error ? error.constructor.name : typeof error,
|
|
221
343
|
errorMessage: error instanceof Error ? error.message : String(error),
|
|
@@ -229,14 +351,23 @@ function getCurrentProjectConfig() {
|
|
|
229
351
|
return TEST_PROJECT_CONFIG_FOR_TESTING;
|
|
230
352
|
}
|
|
231
353
|
const absolutePath = resolve(getCwd());
|
|
232
|
-
const config = getConfig(
|
|
354
|
+
const config = getConfig(getGlobalConfigFilePath(), DEFAULT_GLOBAL_CONFIG);
|
|
233
355
|
if (!config.projects) {
|
|
234
356
|
return defaultConfigForProject(absolutePath);
|
|
235
357
|
}
|
|
236
|
-
const
|
|
358
|
+
const projectKey = findMatchingProjectKey(config.projects, absolutePath);
|
|
359
|
+
const projectConfig = projectKey && config.projects[projectKey] ? config.projects[projectKey] : defaultConfigForProject(absolutePath);
|
|
237
360
|
if (typeof projectConfig.allowedTools === "string") {
|
|
238
361
|
projectConfig.allowedTools = safeParseJSON(projectConfig.allowedTools) ?? [];
|
|
239
362
|
}
|
|
363
|
+
if (typeof projectConfig.deniedTools === "string") {
|
|
364
|
+
;
|
|
365
|
+
projectConfig.deniedTools = safeParseJSON(projectConfig.deniedTools) ?? [];
|
|
366
|
+
}
|
|
367
|
+
if (typeof projectConfig.askedTools === "string") {
|
|
368
|
+
;
|
|
369
|
+
projectConfig.askedTools = safeParseJSON(projectConfig.askedTools) ?? [];
|
|
370
|
+
}
|
|
240
371
|
return projectConfig;
|
|
241
372
|
}
|
|
242
373
|
function saveCurrentProjectConfig(projectConfig) {
|
|
@@ -246,24 +377,27 @@ function saveCurrentProjectConfig(projectConfig) {
|
|
|
246
377
|
}
|
|
247
378
|
return;
|
|
248
379
|
}
|
|
249
|
-
const config = getConfig(
|
|
380
|
+
const config = getConfig(getGlobalConfigFilePath(), DEFAULT_GLOBAL_CONFIG);
|
|
381
|
+
const resolvedCwd = resolve(getCwd());
|
|
382
|
+
const existingKey = findMatchingProjectKey(config.projects, resolvedCwd);
|
|
383
|
+
const storageKey = existingKey ?? resolvedCwd;
|
|
250
384
|
saveConfig(
|
|
251
|
-
|
|
385
|
+
getGlobalConfigFilePath(),
|
|
252
386
|
{
|
|
253
387
|
...config,
|
|
254
388
|
projects: {
|
|
255
389
|
...config.projects,
|
|
256
|
-
[
|
|
390
|
+
[storageKey]: projectConfig
|
|
257
391
|
}
|
|
258
392
|
},
|
|
259
393
|
DEFAULT_GLOBAL_CONFIG
|
|
260
394
|
);
|
|
261
395
|
}
|
|
262
396
|
async function isAutoUpdaterDisabled() {
|
|
263
|
-
const
|
|
264
|
-
return
|
|
397
|
+
const status = getGlobalConfig().autoUpdaterStatus;
|
|
398
|
+
return status !== "enabled";
|
|
265
399
|
}
|
|
266
|
-
|
|
400
|
+
var TEST_MCPRC_CONFIG_FOR_TESTING = {};
|
|
267
401
|
function clearMcprcConfigForTesting() {
|
|
268
402
|
if (process.env.NODE_ENV === "test") {
|
|
269
403
|
Object.keys(TEST_MCPRC_CONFIG_FOR_TESTING).forEach((key) => {
|
|
@@ -284,7 +418,7 @@ function removeMcprcServerForTesting(name) {
|
|
|
284
418
|
delete TEST_MCPRC_CONFIG_FOR_TESTING[name];
|
|
285
419
|
}
|
|
286
420
|
}
|
|
287
|
-
|
|
421
|
+
var getMcprcConfig = memoize(
|
|
288
422
|
() => {
|
|
289
423
|
if (process.env.NODE_ENV === "test") {
|
|
290
424
|
return TEST_MCPRC_CONFIG_FOR_TESTING;
|
|
@@ -297,16 +431,12 @@ const getMcprcConfig = memoize(
|
|
|
297
431
|
const mcprcContent = readFileSync(mcprcPath, "utf-8");
|
|
298
432
|
const config = safeParseJSON(mcprcContent);
|
|
299
433
|
if (config && typeof config === "object") {
|
|
300
|
-
logEvent("tengu_mcprc_found", {
|
|
301
|
-
numServers: Object.keys(config).length.toString()
|
|
302
|
-
});
|
|
303
434
|
return config;
|
|
304
435
|
}
|
|
305
436
|
} catch {
|
|
306
437
|
}
|
|
307
438
|
return {};
|
|
308
439
|
},
|
|
309
|
-
// This function returns the same value as long as the cwd and mcprc file content remain the same
|
|
310
440
|
() => {
|
|
311
441
|
const cwd = getCwd();
|
|
312
442
|
const mcprcPath = join(cwd, ".mcprc");
|
|
@@ -321,6 +451,87 @@ const getMcprcConfig = memoize(
|
|
|
321
451
|
return cwd;
|
|
322
452
|
}
|
|
323
453
|
);
|
|
454
|
+
function parseMcpServersFromMcpJson(value) {
|
|
455
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return {};
|
|
456
|
+
const raw = value.mcpServers;
|
|
457
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) return {};
|
|
458
|
+
return raw;
|
|
459
|
+
}
|
|
460
|
+
function parseMcpServersFromMcprc(value) {
|
|
461
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return {};
|
|
462
|
+
const maybeNested = value.mcpServers;
|
|
463
|
+
if (maybeNested && typeof maybeNested === "object" && !Array.isArray(maybeNested)) {
|
|
464
|
+
return maybeNested;
|
|
465
|
+
}
|
|
466
|
+
return value;
|
|
467
|
+
}
|
|
468
|
+
var getProjectMcpServerDefinitions = memoize(
|
|
469
|
+
() => {
|
|
470
|
+
if (process.env.NODE_ENV === "test") {
|
|
471
|
+
return {
|
|
472
|
+
servers: {},
|
|
473
|
+
sources: {},
|
|
474
|
+
mcpJsonPath: join(getCwd(), ".mcp.json"),
|
|
475
|
+
mcprcPath: join(getCwd(), ".mcprc")
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
const cwd = getCwd();
|
|
479
|
+
const mcpJsonPath = join(cwd, ".mcp.json");
|
|
480
|
+
const mcprcPath = join(cwd, ".mcprc");
|
|
481
|
+
let mcpJsonServers = {};
|
|
482
|
+
let mcprcServers = {};
|
|
483
|
+
if (existsSync(mcpJsonPath)) {
|
|
484
|
+
try {
|
|
485
|
+
const content = readFileSync(mcpJsonPath, "utf-8");
|
|
486
|
+
const parsed = safeParseJSON(content);
|
|
487
|
+
mcpJsonServers = parseMcpServersFromMcpJson(parsed);
|
|
488
|
+
} catch {
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
if (existsSync(mcprcPath)) {
|
|
492
|
+
try {
|
|
493
|
+
const content = readFileSync(mcprcPath, "utf-8");
|
|
494
|
+
const parsed = safeParseJSON(content);
|
|
495
|
+
mcprcServers = parseMcpServersFromMcprc(parsed);
|
|
496
|
+
} catch {
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
const sources = {};
|
|
500
|
+
for (const name of Object.keys(mcpJsonServers)) {
|
|
501
|
+
sources[name] = ".mcp.json";
|
|
502
|
+
}
|
|
503
|
+
for (const name of Object.keys(mcprcServers)) {
|
|
504
|
+
sources[name] = ".mcprc";
|
|
505
|
+
}
|
|
506
|
+
return {
|
|
507
|
+
servers: { ...mcpJsonServers, ...mcprcServers },
|
|
508
|
+
sources,
|
|
509
|
+
mcpJsonPath,
|
|
510
|
+
mcprcPath
|
|
511
|
+
};
|
|
512
|
+
},
|
|
513
|
+
() => {
|
|
514
|
+
const cwd = getCwd();
|
|
515
|
+
const mcpJsonPath = join(cwd, ".mcp.json");
|
|
516
|
+
const mcprcPath = join(cwd, ".mcprc");
|
|
517
|
+
const parts = [cwd];
|
|
518
|
+
if (existsSync(mcpJsonPath)) {
|
|
519
|
+
try {
|
|
520
|
+
parts.push("mcp.json");
|
|
521
|
+
parts.push(readFileSync(mcpJsonPath, "utf-8"));
|
|
522
|
+
} catch {
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
if (existsSync(mcprcPath)) {
|
|
526
|
+
try {
|
|
527
|
+
parts.push("mcprc");
|
|
528
|
+
parts.push(readFileSync(mcprcPath, "utf-8"));
|
|
529
|
+
} catch {
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
return parts.join(":");
|
|
533
|
+
}
|
|
534
|
+
);
|
|
324
535
|
function getOrCreateUserID() {
|
|
325
536
|
const config = getGlobalConfig();
|
|
326
537
|
if (config.userID) {
|
|
@@ -331,10 +542,6 @@ function getOrCreateUserID() {
|
|
|
331
542
|
return userID;
|
|
332
543
|
}
|
|
333
544
|
function getConfigForCLI(key, global) {
|
|
334
|
-
logEvent("tengu_config_get", {
|
|
335
|
-
key,
|
|
336
|
-
global: global?.toString() ?? "false"
|
|
337
|
-
});
|
|
338
545
|
if (global) {
|
|
339
546
|
if (!isGlobalConfigKey(key)) {
|
|
340
547
|
console.error(
|
|
@@ -354,10 +561,6 @@ function getConfigForCLI(key, global) {
|
|
|
354
561
|
}
|
|
355
562
|
}
|
|
356
563
|
function setConfigForCLI(key, value, global) {
|
|
357
|
-
logEvent("tengu_config_set", {
|
|
358
|
-
key,
|
|
359
|
-
global: global?.toString() ?? "false"
|
|
360
|
-
});
|
|
361
564
|
if (global) {
|
|
362
565
|
if (!isGlobalConfigKey(key)) {
|
|
363
566
|
console.error(
|
|
@@ -394,10 +597,6 @@ function setConfigForCLI(key, value, global) {
|
|
|
394
597
|
}, 100);
|
|
395
598
|
}
|
|
396
599
|
function deleteConfigForCLI(key, global) {
|
|
397
|
-
logEvent("tengu_config_delete", {
|
|
398
|
-
key,
|
|
399
|
-
global: global?.toString() ?? "false"
|
|
400
|
-
});
|
|
401
600
|
if (global) {
|
|
402
601
|
if (!isGlobalConfigKey(key)) {
|
|
403
602
|
console.error(
|
|
@@ -421,9 +620,6 @@ function deleteConfigForCLI(key, global) {
|
|
|
421
620
|
}
|
|
422
621
|
}
|
|
423
622
|
function listConfigForCLI(global) {
|
|
424
|
-
logEvent("tengu_config_list", {
|
|
425
|
-
global: global?.toString() ?? "false"
|
|
426
|
-
});
|
|
427
623
|
if (global) {
|
|
428
624
|
const currentConfig = pick(getGlobalConfig(), GLOBAL_CONFIG_KEYS);
|
|
429
625
|
return currentConfig;
|
|
@@ -434,48 +630,11 @@ function listConfigForCLI(global) {
|
|
|
434
630
|
function getOpenAIApiKey() {
|
|
435
631
|
return process.env.OPENAI_API_KEY;
|
|
436
632
|
}
|
|
437
|
-
function
|
|
438
|
-
|
|
439
|
-
const idToModelNameMap = /* @__PURE__ */ new Map();
|
|
440
|
-
const migratedProfiles = config.modelProfiles.map((profile) => {
|
|
441
|
-
if (profile.id && profile.modelName) {
|
|
442
|
-
idToModelNameMap.set(profile.id, profile.modelName);
|
|
443
|
-
}
|
|
444
|
-
const { id, ...profileWithoutId } = profile;
|
|
445
|
-
return profileWithoutId;
|
|
446
|
-
});
|
|
447
|
-
const migratedPointers = {
|
|
448
|
-
main: "",
|
|
449
|
-
task: "",
|
|
450
|
-
reasoning: "",
|
|
451
|
-
quick: ""
|
|
452
|
-
};
|
|
453
|
-
if (config.modelPointers) {
|
|
454
|
-
Object.entries(config.modelPointers).forEach(([pointer, value]) => {
|
|
455
|
-
if (value) {
|
|
456
|
-
const modelName = idToModelNameMap.get(value) || value;
|
|
457
|
-
migratedPointers[pointer] = modelName;
|
|
458
|
-
}
|
|
459
|
-
});
|
|
460
|
-
}
|
|
461
|
-
let defaultModelName;
|
|
462
|
-
if (config.defaultModelId) {
|
|
463
|
-
defaultModelName = idToModelNameMap.get(config.defaultModelId) || config.defaultModelId;
|
|
464
|
-
} else if (config.defaultModelName) {
|
|
465
|
-
defaultModelName = config.defaultModelName;
|
|
466
|
-
}
|
|
467
|
-
const migratedConfig = { ...config };
|
|
468
|
-
delete migratedConfig.defaultModelId;
|
|
469
|
-
delete migratedConfig.currentSelectedModelId;
|
|
470
|
-
delete migratedConfig.mainAgentModelId;
|
|
471
|
-
delete migratedConfig.taskToolModelId;
|
|
472
|
-
return {
|
|
473
|
-
...migratedConfig,
|
|
474
|
-
modelProfiles: migratedProfiles,
|
|
475
|
-
modelPointers: migratedPointers,
|
|
476
|
-
defaultModelName
|
|
477
|
-
};
|
|
633
|
+
function getAnthropicApiKey() {
|
|
634
|
+
return process.env.ANTHROPIC_API_KEY || "";
|
|
478
635
|
}
|
|
636
|
+
|
|
637
|
+
// src/core/config/validator.ts
|
|
479
638
|
function setAllPointersToModel(modelName) {
|
|
480
639
|
const config = getGlobalConfig();
|
|
481
640
|
const updatedConfig = {
|
|
@@ -483,7 +642,7 @@ function setAllPointersToModel(modelName) {
|
|
|
483
642
|
modelPointers: {
|
|
484
643
|
main: modelName,
|
|
485
644
|
task: modelName,
|
|
486
|
-
|
|
645
|
+
compact: modelName,
|
|
487
646
|
quick: modelName
|
|
488
647
|
},
|
|
489
648
|
defaultModelName: modelName
|
|
@@ -500,7 +659,7 @@ function setModelPointer(pointer, modelName) {
|
|
|
500
659
|
}
|
|
501
660
|
};
|
|
502
661
|
saveGlobalConfig(updatedConfig);
|
|
503
|
-
import("./model.js").then(({ reloadModelManager }) => {
|
|
662
|
+
import("./model-KPYCXWBK.js").then(({ reloadModelManager }) => {
|
|
504
663
|
reloadModelManager();
|
|
505
664
|
});
|
|
506
665
|
}
|
|
@@ -523,31 +682,51 @@ function validateAndRepairGPT5Profile(profile) {
|
|
|
523
682
|
if (!profile.reasoningEffort || !validReasoningEfforts.includes(profile.reasoningEffort)) {
|
|
524
683
|
repairedProfile.reasoningEffort = "medium";
|
|
525
684
|
wasRepaired = true;
|
|
526
|
-
|
|
685
|
+
debug.state("GPT5_CONFIG_AUTO_REPAIR", {
|
|
686
|
+
model: profile.modelName,
|
|
687
|
+
field: "reasoningEffort",
|
|
688
|
+
value: "medium"
|
|
689
|
+
});
|
|
527
690
|
}
|
|
528
691
|
if (profile.contextLength < 128e3) {
|
|
529
692
|
repairedProfile.contextLength = 128e3;
|
|
530
693
|
wasRepaired = true;
|
|
531
|
-
|
|
694
|
+
debug.state("GPT5_CONFIG_AUTO_REPAIR", {
|
|
695
|
+
model: profile.modelName,
|
|
696
|
+
field: "contextLength",
|
|
697
|
+
value: 128e3
|
|
698
|
+
});
|
|
532
699
|
}
|
|
533
700
|
if (profile.maxTokens < 4e3) {
|
|
534
701
|
repairedProfile.maxTokens = 8192;
|
|
535
702
|
wasRepaired = true;
|
|
536
|
-
|
|
703
|
+
debug.state("GPT5_CONFIG_AUTO_REPAIR", {
|
|
704
|
+
model: profile.modelName,
|
|
705
|
+
field: "maxTokens",
|
|
706
|
+
value: 8192
|
|
707
|
+
});
|
|
537
708
|
}
|
|
538
709
|
if (profile.provider !== "openai" && profile.provider !== "custom-openai" && profile.provider !== "azure") {
|
|
539
|
-
|
|
710
|
+
debug.warn("GPT5_CONFIG_UNEXPECTED_PROVIDER", {
|
|
711
|
+
model: profile.modelName,
|
|
712
|
+
provider: profile.provider,
|
|
713
|
+
expectedProviders: ["openai", "custom-openai", "azure"]
|
|
714
|
+
});
|
|
540
715
|
}
|
|
541
716
|
if (profile.modelName.includes("gpt-5") && !profile.baseURL) {
|
|
542
717
|
repairedProfile.baseURL = "https://api.openai.com/v1";
|
|
543
718
|
wasRepaired = true;
|
|
544
|
-
|
|
719
|
+
debug.state("GPT5_CONFIG_AUTO_REPAIR", {
|
|
720
|
+
model: profile.modelName,
|
|
721
|
+
field: "baseURL",
|
|
722
|
+
value: "https://api.openai.com/v1"
|
|
723
|
+
});
|
|
545
724
|
}
|
|
546
725
|
}
|
|
547
726
|
repairedProfile.validationStatus = wasRepaired ? "auto_repaired" : "valid";
|
|
548
727
|
repairedProfile.lastValidation = now;
|
|
549
728
|
if (wasRepaired) {
|
|
550
|
-
|
|
729
|
+
debug.info("GPT5_CONFIG_AUTO_REPAIRED", { model: profile.modelName });
|
|
551
730
|
}
|
|
552
731
|
return repairedProfile;
|
|
553
732
|
}
|
|
@@ -570,7 +749,10 @@ function validateAndRepairAllGPT5Profiles() {
|
|
|
570
749
|
modelProfiles: repairedProfiles
|
|
571
750
|
};
|
|
572
751
|
saveGlobalConfig(updatedConfig);
|
|
573
|
-
|
|
752
|
+
debug.info("GPT5_CONFIG_AUTO_REPAIR_SUMMARY", {
|
|
753
|
+
repaired: repairCount,
|
|
754
|
+
total: config.modelProfiles.length
|
|
755
|
+
});
|
|
574
756
|
}
|
|
575
757
|
return { repaired: repairCount, total: config.modelProfiles.length };
|
|
576
758
|
}
|
|
@@ -580,11 +762,8 @@ function getGPT5ConfigRecommendations(modelName) {
|
|
|
580
762
|
}
|
|
581
763
|
const recommendations = {
|
|
582
764
|
contextLength: 128e3,
|
|
583
|
-
// GPT-5 standard context length
|
|
584
765
|
maxTokens: 8192,
|
|
585
|
-
// Good default for coding tasks
|
|
586
766
|
reasoningEffort: "medium",
|
|
587
|
-
// Balanced for most coding tasks
|
|
588
767
|
isGPT5: true
|
|
589
768
|
};
|
|
590
769
|
if (modelName.includes("gpt-5-mini")) {
|
|
@@ -613,43 +792,44 @@ function createGPT5ModelProfile(name, modelName, apiKey, baseURL, provider = "op
|
|
|
613
792
|
validationStatus: "valid",
|
|
614
793
|
lastValidation: Date.now()
|
|
615
794
|
};
|
|
616
|
-
console.log(`\u2705 Created GPT-5 model profile: ${name} (${modelName})`);
|
|
617
795
|
return profile;
|
|
618
796
|
}
|
|
797
|
+
|
|
619
798
|
export {
|
|
620
|
-
|
|
799
|
+
isAutoUpdaterStatus,
|
|
621
800
|
GLOBAL_CONFIG_KEYS,
|
|
801
|
+
isGlobalConfigKey,
|
|
622
802
|
PROJECT_CONFIG_KEYS,
|
|
623
|
-
|
|
624
|
-
|
|
803
|
+
isProjectConfigKey,
|
|
804
|
+
DEFAULT_GLOBAL_CONFIG,
|
|
805
|
+
safeParseJSON,
|
|
625
806
|
checkHasTrustDialogAccepted,
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
807
|
+
saveGlobalConfig,
|
|
808
|
+
getGlobalConfig,
|
|
809
|
+
normalizeApiKeyForConfig,
|
|
810
|
+
getCustomApiKeyStatus,
|
|
629
811
|
enableConfigs,
|
|
630
|
-
getAnthropicApiKey,
|
|
631
|
-
getConfigForCLI,
|
|
632
812
|
getCurrentProjectConfig,
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
813
|
+
saveCurrentProjectConfig,
|
|
814
|
+
isAutoUpdaterDisabled,
|
|
815
|
+
TEST_MCPRC_CONFIG_FOR_TESTING,
|
|
816
|
+
clearMcprcConfigForTesting,
|
|
817
|
+
addMcprcServerForTesting,
|
|
818
|
+
removeMcprcServerForTesting,
|
|
636
819
|
getMcprcConfig,
|
|
637
|
-
|
|
820
|
+
getProjectMcpServerDefinitions,
|
|
638
821
|
getOrCreateUserID,
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
isGlobalConfigKey,
|
|
643
|
-
isProjectConfigKey,
|
|
822
|
+
getConfigForCLI,
|
|
823
|
+
setConfigForCLI,
|
|
824
|
+
deleteConfigForCLI,
|
|
644
825
|
listConfigForCLI,
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
saveCurrentProjectConfig,
|
|
648
|
-
saveGlobalConfig,
|
|
826
|
+
getOpenAIApiKey,
|
|
827
|
+
getAnthropicApiKey,
|
|
649
828
|
setAllPointersToModel,
|
|
650
|
-
setConfigForCLI,
|
|
651
829
|
setModelPointer,
|
|
830
|
+
isGPT5ModelName,
|
|
831
|
+
validateAndRepairGPT5Profile,
|
|
652
832
|
validateAndRepairAllGPT5Profiles,
|
|
653
|
-
|
|
833
|
+
getGPT5ConfigRecommendations,
|
|
834
|
+
createGPT5ModelProfile
|
|
654
835
|
};
|
|
655
|
-
//# sourceMappingURL=config.js.map
|