@shareai-lab/kode 1.1.23 → 2.0.1
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 -404
- package/cli-acp.js +82 -0
- package/cli.js +89 -79
- package/dist/REPL-CW7AYLVL.js +42 -0
- package/dist/acp-VEPJ74LT.js +1357 -0
- package/dist/acp-VEPJ74LT.js.map +7 -0
- package/dist/agentsValidate-7LH4HTNR.js +373 -0
- package/dist/agentsValidate-7LH4HTNR.js.map +7 -0
- package/dist/ask-3NHFFUQG.js +125 -0
- package/dist/ask-3NHFFUQG.js.map +7 -0
- package/dist/autoUpdater-ITPIHCOI.js +17 -0
- package/dist/chunk-3IN27HA5.js +128 -0
- package/dist/chunk-3IN27HA5.js.map +7 -0
- package/dist/chunk-3RUXVV4S.js +23 -0
- package/dist/chunk-3RUXVV4S.js.map +7 -0
- package/dist/chunk-4FX3IVPT.js +164 -0
- package/dist/chunk-4FX3IVPT.js.map +7 -0
- package/dist/chunk-4RTX4AG4.js +249 -0
- package/dist/chunk-4RTX4AG4.js.map +7 -0
- package/dist/chunk-5PDP7R6N.js +515 -0
- package/dist/chunk-5PDP7R6N.js.map +7 -0
- package/dist/chunk-73WGVYLQ.js +735 -0
- package/dist/chunk-73WGVYLQ.js.map +7 -0
- package/dist/{services/systemReminder.js → chunk-7M2YN6TU.js} +221 -59
- package/dist/chunk-7M2YN6TU.js.map +7 -0
- package/dist/{utils/theme.js → chunk-7U7L4NMD.js} +28 -6
- package/dist/chunk-7U7L4NMD.js.map +7 -0
- package/dist/chunk-ABLVTESJ.js +19 -0
- package/dist/chunk-ABLVTESJ.js.map +7 -0
- package/dist/chunk-AFFSCMYS.js +191 -0
- package/dist/chunk-AFFSCMYS.js.map +7 -0
- package/dist/chunk-ARZSBOAO.js +1256 -0
- package/dist/chunk-ARZSBOAO.js.map +7 -0
- package/dist/chunk-CIG63V4E.js +72 -0
- package/dist/chunk-CIG63V4E.js.map +7 -0
- package/dist/chunk-CM3EGTG6.js +1609 -0
- package/dist/chunk-CM3EGTG6.js.map +7 -0
- package/dist/{services/openai.js → chunk-DZE5YA7L.js} +168 -234
- package/dist/chunk-DZE5YA7L.js.map +7 -0
- package/dist/chunk-E6YNABER.js +24 -0
- package/dist/chunk-E6YNABER.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-F2SJXUDI.js +148 -0
- package/dist/chunk-F2SJXUDI.js.map +7 -0
- package/dist/chunk-FC5ZCKBI.js +30167 -0
- package/dist/chunk-FC5ZCKBI.js.map +7 -0
- package/dist/chunk-HCBELH4J.js +145 -0
- package/dist/chunk-HCBELH4J.js.map +7 -0
- package/dist/chunk-HN4E4UUQ.js +96 -0
- package/dist/chunk-HN4E4UUQ.js.map +7 -0
- package/dist/{utils/model.js → chunk-IZVMU4S2.js} +194 -227
- package/dist/chunk-IZVMU4S2.js.map +7 -0
- package/dist/chunk-JC6NCUG5.js +11 -0
- package/dist/chunk-K2CWOTI2.js +196 -0
- package/dist/chunk-K2CWOTI2.js.map +7 -0
- package/dist/chunk-KAA5BGMQ.js +12 -0
- package/dist/chunk-KAA5BGMQ.js.map +7 -0
- package/dist/{utils/config.js → chunk-LC4TVOCZ.js} +351 -171
- package/dist/chunk-LC4TVOCZ.js.map +7 -0
- package/dist/chunk-MIW7N2MY.js +2613 -0
- package/dist/chunk-MIW7N2MY.js.map +7 -0
- package/dist/chunk-MWRSY4X6.js +240 -0
- package/dist/chunk-MWRSY4X6.js.map +7 -0
- package/dist/chunk-ND3XWFO6.js +34 -0
- package/dist/chunk-ND3XWFO6.js.map +7 -0
- package/dist/chunk-NPFOMITO.js +21 -0
- package/dist/chunk-NPFOMITO.js.map +7 -0
- package/dist/chunk-QVLYOPO5.js +1097 -0
- package/dist/chunk-QVLYOPO5.js.map +7 -0
- package/dist/chunk-RZWOUA25.js +490 -0
- package/dist/chunk-RZWOUA25.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/debugLogger.js → chunk-STSX7GIX.js} +107 -204
- package/dist/chunk-STSX7GIX.js.map +7 -0
- package/dist/chunk-UHYRLID6.js +472 -0
- package/dist/chunk-UHYRLID6.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-W7GRKO7Q.js +766 -0
- package/dist/chunk-W7GRKO7Q.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/chunk-YC6LJCDE.js +511 -0
- package/dist/chunk-YC6LJCDE.js.map +7 -0
- package/dist/chunk-YXYYDIMI.js +2931 -0
- package/dist/chunk-YXYYDIMI.js.map +7 -0
- package/dist/chunk-ZVDRDPII.js +138 -0
- package/dist/chunk-ZVDRDPII.js.map +7 -0
- package/dist/cli-DOPVY2CW.js +3917 -0
- package/dist/cli-DOPVY2CW.js.map +7 -0
- package/dist/commands-2BF2CJ3A.js +46 -0
- package/dist/config-RUSD6G5Y.js +81 -0
- package/dist/context-6FXPETYH.js +30 -0
- package/dist/costTracker-6SL26FDB.js +19 -0
- package/dist/customCommands-TOIJFZAL.js +25 -0
- package/dist/customCommands-TOIJFZAL.js.map +7 -0
- package/dist/env-XGKBLU3D.js +22 -0
- package/dist/env-XGKBLU3D.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-MITZADPB.js +18 -0
- package/dist/kodeAgentSessionLoad-MITZADPB.js.map +7 -0
- package/dist/kodeAgentSessionResume-GVRWB4WO.js +16 -0
- package/dist/kodeAgentSessionResume-GVRWB4WO.js.map +7 -0
- package/dist/kodeAgentStreamJson-NXFN7TXH.js +13 -0
- package/dist/kodeAgentStreamJson-NXFN7TXH.js.map +7 -0
- package/dist/kodeAgentStreamJsonSession-UGEZJJEB.js +131 -0
- package/dist/kodeAgentStreamJsonSession-UGEZJJEB.js.map +7 -0
- package/dist/kodeAgentStructuredStdio-HGWJT7CU.js +10 -0
- package/dist/kodeAgentStructuredStdio-HGWJT7CU.js.map +7 -0
- package/dist/kodeHooks-QWM36A3D.js +36 -0
- package/dist/kodeHooks-QWM36A3D.js.map +7 -0
- package/dist/llm-ZUQC4WYM.js +3118 -0
- package/dist/llm-ZUQC4WYM.js.map +7 -0
- package/dist/llmLazy-54QQHA54.js +15 -0
- package/dist/llmLazy-54QQHA54.js.map +7 -0
- package/dist/loader-FYHJQES5.js +28 -0
- package/dist/loader-FYHJQES5.js.map +7 -0
- package/dist/mcp-J332IKT3.js +49 -0
- package/dist/mcp-J332IKT3.js.map +7 -0
- package/dist/{services/mentionProcessor.js → mentionProcessor-EE3XFHCJ.js} +61 -50
- package/dist/mentionProcessor-EE3XFHCJ.js.map +7 -0
- package/dist/messages-EOYQKPGM.js +63 -0
- package/dist/messages-EOYQKPGM.js.map +7 -0
- package/dist/model-FV3JDJKH.js +30 -0
- package/dist/model-FV3JDJKH.js.map +7 -0
- package/dist/openai-RRCWW33N.js +29 -0
- package/dist/openai-RRCWW33N.js.map +7 -0
- package/dist/outputStyles-62Q3VH2J.js +28 -0
- package/dist/outputStyles-62Q3VH2J.js.map +7 -0
- package/dist/package.json +1 -1
- package/dist/pluginRuntime-6ETCZ2LL.js +218 -0
- package/dist/pluginRuntime-6ETCZ2LL.js.map +7 -0
- package/dist/pluginValidation-I4YKUWGS.js +17 -0
- package/dist/pluginValidation-I4YKUWGS.js.map +7 -0
- package/dist/prompts-ZLEKDD77.js +48 -0
- package/dist/prompts-ZLEKDD77.js.map +7 -0
- package/dist/query-VFRJPBGD.js +50 -0
- package/dist/query-VFRJPBGD.js.map +7 -0
- package/dist/responsesStreaming-AW344PQO.js +10 -0
- package/dist/responsesStreaming-AW344PQO.js.map +7 -0
- package/dist/ripgrep-3NTIKQYW.js +17 -0
- package/dist/ripgrep-3NTIKQYW.js.map +7 -0
- package/dist/skillMarketplace-3RXQBVOL.js +37 -0
- package/dist/skillMarketplace-3RXQBVOL.js.map +7 -0
- package/dist/state-P5G6CO5V.js +16 -0
- package/dist/state-P5G6CO5V.js.map +7 -0
- package/dist/theme-3LWP3BG7.js +14 -0
- package/dist/theme-3LWP3BG7.js.map +7 -0
- package/dist/toolPermissionContext-65L65VEZ.js +17 -0
- package/dist/toolPermissionContext-65L65VEZ.js.map +7 -0
- package/dist/toolPermissionSettings-3ROBVTUK.js +18 -0
- package/dist/toolPermissionSettings-3ROBVTUK.js.map +7 -0
- package/dist/tools-RO7HSSE5.js +47 -0
- package/dist/tools-RO7HSSE5.js.map +7 -0
- package/dist/userInput-JSBJRFSK.js +311 -0
- package/dist/userInput-JSBJRFSK.js.map +7 -0
- package/dist/uuid-QN2CNKKN.js +9 -0
- package/dist/uuid-QN2CNKKN.js.map +7 -0
- package/package.json +43 -15
- 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 -326
- 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 -31
- 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 -501
- 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 -1029
- 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 -1122
- 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 -143
- 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 -596
- 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 -293
- 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 +0 -360
- 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-CW7AYLVL.js.map} +0 -0
- /package/dist/{components/CustomSelect/theme.js.map → autoUpdater-ITPIHCOI.js.map} +0 -0
- /package/dist/{types/common.d.js.map → chunk-JC6NCUG5.js.map} +0 -0
- /package/dist/{types/conversation.js.map → commands-2BF2CJ3A.js.map} +0 -0
- /package/dist/{types/logs.js.map → config-RUSD6G5Y.js.map} +0 -0
- /package/dist/{types/modelCapabilities.js.map → context-6FXPETYH.js.map} +0 -0
- /package/dist/{types/notebook.js.map → costTracker-6SL26FDB.js.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const DESCRIPTION = "Extract and read source code from all code cells in a Jupyter notebook.";
|
|
2
|
-
const PROMPT = `Reads a Jupyter notebook (.ipynb file) and returns all of the cells with their outputs. Jupyter notebooks are interactive documents that combine code, text, and visualizations, commonly used for data analysis and scientific computing. The notebook_path parameter must be an absolute path, not a relative path.`;
|
|
3
|
-
export {
|
|
4
|
-
DESCRIPTION,
|
|
5
|
-
PROMPT
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=prompt.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/tools/NotebookReadTool/prompt.ts"],
|
|
4
|
-
"sourcesContent": ["export const DESCRIPTION =\n 'Extract and read source code from all code cells in a Jupyter notebook.'\nexport const PROMPT = `Reads a Jupyter notebook (.ipynb file) and returns all of the cells with their outputs. Jupyter notebooks are interactive documents that combine code, text, and visualizations, commonly used for data analysis and scientific computing. The notebook_path parameter must be an absolute path, not a relative path.`\n"],
|
|
5
|
-
"mappings": "AAAO,MAAM,cACX;AACK,MAAM,SAAS;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { Text } from "ink";
|
|
4
|
-
import { DESCRIPTION, PROMPT } from "./prompt.js";
|
|
5
|
-
import {
|
|
6
|
-
StickerRequestForm
|
|
7
|
-
} from "../../components/StickerRequestForm.js";
|
|
8
|
-
import { checkGate, logEvent } from "../../services/statsig.js";
|
|
9
|
-
import { getTheme } from "../../utils/theme.js";
|
|
10
|
-
const stickerRequestSchema = z.object({
|
|
11
|
-
trigger: z.string()
|
|
12
|
-
});
|
|
13
|
-
const StickerRequestTool = {
|
|
14
|
-
name: "StickerRequest",
|
|
15
|
-
userFacingName: () => "Stickers",
|
|
16
|
-
description: async () => DESCRIPTION,
|
|
17
|
-
inputSchema: stickerRequestSchema,
|
|
18
|
-
isEnabled: async () => {
|
|
19
|
-
const enabled = await checkGate("tengu_sticker_easter_egg");
|
|
20
|
-
return enabled;
|
|
21
|
-
},
|
|
22
|
-
isReadOnly: () => false,
|
|
23
|
-
isConcurrencySafe: () => false,
|
|
24
|
-
// StickerRequestTool modifies state, not safe for concurrent execution
|
|
25
|
-
needsPermissions: () => false,
|
|
26
|
-
prompt: async () => PROMPT,
|
|
27
|
-
async *call(_, context) {
|
|
28
|
-
logEvent("sticker_request_form_opened", {});
|
|
29
|
-
let resolveForm;
|
|
30
|
-
const formComplete = new Promise((resolve) => {
|
|
31
|
-
resolveForm = (success2) => resolve(success2);
|
|
32
|
-
});
|
|
33
|
-
const extendedContext = context;
|
|
34
|
-
if (extendedContext.setToolJSX) {
|
|
35
|
-
extendedContext.setToolJSX({
|
|
36
|
-
jsx: /* @__PURE__ */ React.createElement(
|
|
37
|
-
StickerRequestForm,
|
|
38
|
-
{
|
|
39
|
-
onSubmit: (formData) => {
|
|
40
|
-
logEvent("sticker_request_form_completed", {
|
|
41
|
-
has_address: Boolean(formData.address1).toString(),
|
|
42
|
-
has_optional_address: Boolean(formData.address2).toString()
|
|
43
|
-
});
|
|
44
|
-
resolveForm(true);
|
|
45
|
-
if (extendedContext.setToolJSX) {
|
|
46
|
-
extendedContext.setToolJSX(null);
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
onClose: () => {
|
|
50
|
-
logEvent("sticker_request_form_cancelled", {});
|
|
51
|
-
resolveForm(false);
|
|
52
|
-
if (extendedContext.setToolJSX) {
|
|
53
|
-
extendedContext.setToolJSX(null);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
),
|
|
58
|
-
shouldHidePromptInput: true
|
|
59
|
-
});
|
|
60
|
-
} else {
|
|
61
|
-
console.log("Sticker form would be displayed here, but setToolJSX is not available");
|
|
62
|
-
resolveForm(false);
|
|
63
|
-
}
|
|
64
|
-
const success = await formComplete;
|
|
65
|
-
if (!success) {
|
|
66
|
-
context.abortController.abort();
|
|
67
|
-
throw new Error("Sticker request cancelled");
|
|
68
|
-
}
|
|
69
|
-
yield {
|
|
70
|
-
type: "result",
|
|
71
|
-
resultForAssistant: "Sticker request completed! Please tell the user that they will receive stickers in the mail if they have submitted the form!",
|
|
72
|
-
data: { success }
|
|
73
|
-
};
|
|
74
|
-
},
|
|
75
|
-
renderToolUseMessage(_input) {
|
|
76
|
-
return "";
|
|
77
|
-
},
|
|
78
|
-
renderToolUseRejectedMessage() {
|
|
79
|
-
return /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0", /* @__PURE__ */ React.createElement(Text, { color: getTheme().error }, "No (Sticker request cancelled)"));
|
|
80
|
-
},
|
|
81
|
-
renderResultForAssistant: (content) => content
|
|
82
|
-
};
|
|
83
|
-
export {
|
|
84
|
-
StickerRequestTool
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=StickerRequestTool.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/tools/StickerRequestTool/StickerRequestTool.tsx"],
|
|
4
|
-
"sourcesContent": ["import { z } from 'zod'\nimport React from 'react'\nimport { Text } from 'ink'\nimport { Tool, ToolUseContext, ExtendedToolUseContext } from '../../Tool'\nimport { DESCRIPTION, PROMPT } from './prompt'\nimport {\n StickerRequestForm,\n FormData,\n} from '../../components/StickerRequestForm'\nimport { checkGate, logEvent } from '../../services/statsig'\nimport { getTheme } from '../../utils/theme'\n\nconst stickerRequestSchema = z.object({\n trigger: z.string(),\n})\n\nexport const StickerRequestTool: Tool = {\n name: 'StickerRequest',\n userFacingName: () => 'Stickers',\n description: async () => DESCRIPTION,\n inputSchema: stickerRequestSchema,\n isEnabled: async () => {\n const enabled = await checkGate('tengu_sticker_easter_egg')\n return enabled\n },\n isReadOnly: () => false,\n isConcurrencySafe: () => false, // StickerRequestTool modifies state, not safe for concurrent execution\n needsPermissions: () => false,\n prompt: async () => PROMPT,\n\n async *call(_, context: ToolUseContext) {\n // Log form entry event\n logEvent('sticker_request_form_opened', {})\n\n // Create a promise to track form completion and status\n let resolveForm: (success: boolean) => void\n const formComplete = new Promise<boolean>(resolve => {\n resolveForm = success => resolve(success)\n })\n\n // Check if setToolJSX is available (cast context if needed)\n const extendedContext = context as ExtendedToolUseContext\n if (extendedContext.setToolJSX) {\n extendedContext.setToolJSX({\n jsx: (\n <StickerRequestForm\n onSubmit={(formData: FormData) => {\n // Log successful completion with form data\n logEvent('sticker_request_form_completed', {\n has_address: Boolean(formData.address1).toString(),\n has_optional_address: Boolean(formData.address2).toString(),\n })\n resolveForm(true)\n if (extendedContext.setToolJSX) {\n extendedContext.setToolJSX(null) // Clear the JSX\n }\n }}\n onClose={() => {\n // Log form cancellation\n logEvent('sticker_request_form_cancelled', {})\n resolveForm(false)\n if (extendedContext.setToolJSX) {\n extendedContext.setToolJSX(null) // Clear the JSX\n }\n }}\n />\n ),\n shouldHidePromptInput: true,\n })\n } else {\n // Fallback if setToolJSX is not available\n console.log('Sticker form would be displayed here, but setToolJSX is not available')\n resolveForm(false)\n }\n\n // Wait for form completion and get status\n const success = await formComplete\n\n if (!success) {\n context.abortController.abort()\n throw new Error('Sticker request cancelled')\n }\n\n // Return success message\n yield {\n type: 'result',\n resultForAssistant:\n 'Sticker request completed! Please tell the user that they will receive stickers in the mail if they have submitted the form!',\n data: { success },\n }\n },\n\n renderToolUseMessage(_input) {\n return ''\n },\n\n renderToolUseRejectedMessage() {\n return (\n <Text>\n \u23BF \n <Text color={getTheme().error}>No (Sticker request cancelled)</Text>\n </Text>\n )\n },\n\n renderResultForAssistant: (content: string) => content,\n}\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,SAAS;AAClB,OAAO,WAAW;AAClB,SAAS,YAAY;AAErB,SAAS,aAAa,cAAc;AACpC;AAAA,EACE;AAAA,OAEK;AACP,SAAS,WAAW,gBAAgB;AACpC,SAAS,gBAAgB;AAEzB,MAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,SAAS,EAAE,OAAO;AACpB,CAAC;AAEM,MAAM,qBAA2B;AAAA,EACtC,MAAM;AAAA,EACN,gBAAgB,MAAM;AAAA,EACtB,aAAa,YAAY;AAAA,EACzB,aAAa;AAAA,EACb,WAAW,YAAY;AACrB,UAAM,UAAU,MAAM,UAAU,0BAA0B;AAC1D,WAAO;AAAA,EACT;AAAA,EACA,YAAY,MAAM;AAAA,EAClB,mBAAmB,MAAM;AAAA;AAAA,EACzB,kBAAkB,MAAM;AAAA,EACxB,QAAQ,YAAY;AAAA,EAEpB,OAAO,KAAK,GAAG,SAAyB;AAEtC,aAAS,+BAA+B,CAAC,CAAC;AAG1C,QAAI;AACJ,UAAM,eAAe,IAAI,QAAiB,aAAW;AACnD,oBAAc,CAAAA,aAAW,QAAQA,QAAO;AAAA,IAC1C,CAAC;AAGD,UAAM,kBAAkB;AACxB,QAAI,gBAAgB,YAAY;AAC9B,sBAAgB,WAAW;AAAA,QACzB,KACA;AAAA,UAAC;AAAA;AAAA,YACC,UAAU,CAAC,aAAuB;AAEhC,uBAAS,kCAAkC;AAAA,gBACzC,aAAa,QAAQ,SAAS,QAAQ,EAAE,SAAS;AAAA,gBACjD,sBAAsB,QAAQ,SAAS,QAAQ,EAAE,SAAS;AAAA,cAC5D,CAAC;AACD,0BAAY,IAAI;AAChB,kBAAI,gBAAgB,YAAY;AAC9B,gCAAgB,WAAW,IAAI;AAAA,cACjC;AAAA,YACF;AAAA,YACA,SAAS,MAAM;AAEb,uBAAS,kCAAkC,CAAC,CAAC;AAC7C,0BAAY,KAAK;AACjB,kBAAI,gBAAgB,YAAY;AAC9B,gCAAgB,WAAW,IAAI;AAAA,cACjC;AAAA,YACF;AAAA;AAAA,QACF;AAAA,QAEA,uBAAuB;AAAA,MACzB,CAAC;AAAA,IACH,OAAO;AAEL,cAAQ,IAAI,uEAAuE;AACnF,kBAAY,KAAK;AAAA,IACnB;AAGA,UAAM,UAAU,MAAM;AAEtB,QAAI,CAAC,SAAS;AACZ,cAAQ,gBAAgB,MAAM;AAC9B,YAAM,IAAI,MAAM,2BAA2B;AAAA,IAC7C;AAGA,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,oBACE;AAAA,MACF,MAAM,EAAE,QAAQ;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,qBAAqB,QAAQ;AAC3B,WAAO;AAAA,EACT;AAAA,EAEA,+BAA+B;AAC7B,WACE,oCAAC,YAAK,uBAEJ,oCAAC,QAAK,OAAO,SAAS,EAAE,SAAO,gCAA8B,CAC/D;AAAA,EAEJ;AAAA,EAEA,0BAA0B,CAAC,YAAoB;AACjD;",
|
|
6
|
-
"names": ["success"]
|
|
7
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const DESCRIPTION = "Sends the user swag stickers with love from Anthropic.";
|
|
2
|
-
const PROMPT = `This tool should be used whenever a user expresses interest in receiving Anthropic or Claude stickers, swag, or merchandise. When triggered, it will display a shipping form for the user to enter their mailing address and contact details. Once submitted, Anthropic will process the request and ship stickers to the provided address.
|
|
3
|
-
|
|
4
|
-
Common trigger phrases to watch for:
|
|
5
|
-
- "Can I get some Anthropic stickers please?"
|
|
6
|
-
- "How do I get Anthropic swag?"
|
|
7
|
-
- "I'd love some Claude stickers"
|
|
8
|
-
- "Where can I get merchandise?"
|
|
9
|
-
- Any mention of wanting stickers or swag
|
|
10
|
-
|
|
11
|
-
The tool handles the entire request process by showing an interactive form to collect shipping information.
|
|
12
|
-
|
|
13
|
-
NOTE: Only use this tool if the user has explicitly asked us to send or give them stickers. If there are other requests that include the word "sticker", but do not explicitly ask us to send them stickers, do not use this tool.
|
|
14
|
-
For example:
|
|
15
|
-
- "How do I make custom stickers for my project?" - Do not use this tool
|
|
16
|
-
- "I need to store sticker metadata in a database - what schema do you recommend?" - Do not use this tool
|
|
17
|
-
- "Show me how to implement drag-and-drop sticker placement with React" - Do not use this tool
|
|
18
|
-
`;
|
|
19
|
-
export {
|
|
20
|
-
DESCRIPTION,
|
|
21
|
-
PROMPT
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=prompt.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/tools/StickerRequestTool/prompt.ts"],
|
|
4
|
-
"sourcesContent": ["export const DESCRIPTION =\n 'Sends the user swag stickers with love from Anthropic.'\nexport const PROMPT = `This tool should be used whenever a user expresses interest in receiving Anthropic or Claude stickers, swag, or merchandise. When triggered, it will display a shipping form for the user to enter their mailing address and contact details. Once submitted, Anthropic will process the request and ship stickers to the provided address.\n\nCommon trigger phrases to watch for:\n- \"Can I get some Anthropic stickers please?\"\n- \"How do I get Anthropic swag?\"\n- \"I'd love some Claude stickers\"\n- \"Where can I get merchandise?\"\n- Any mention of wanting stickers or swag\n\nThe tool handles the entire request process by showing an interactive form to collect shipping information.\n\nNOTE: Only use this tool if the user has explicitly asked us to send or give them stickers. If there are other requests that include the word \"sticker\", but do not explicitly ask us to send them stickers, do not use this tool.\nFor example:\n- \"How do I make custom stickers for my project?\" - Do not use this tool\n- \"I need to store sticker metadata in a database - what schema do you recommend?\" - Do not use this tool\n- \"Show me how to implement drag-and-drop sticker placement with React\" - Do not use this tool\n`\n"],
|
|
5
|
-
"mappings": "AAAO,MAAM,cACX;AACK,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
import { last, memoize } from "lodash-es";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { Box, Text } from "ink";
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
import { FallbackToolUseRejectedMessage } from "../../components/FallbackToolUseRejectedMessage.js";
|
|
6
|
-
import { getAgentPrompt } from "../../constants/prompts.js";
|
|
7
|
-
import { getContext } from "../../context.js";
|
|
8
|
-
import { hasPermissionsToUseTool } from "../../permissions.js";
|
|
9
|
-
import { query } from "../../query.js";
|
|
10
|
-
import { formatDuration, formatNumber } from "../../utils/format.js";
|
|
11
|
-
import {
|
|
12
|
-
getMessagesPath,
|
|
13
|
-
getNextAvailableLogSidechainNumber,
|
|
14
|
-
overwriteLog
|
|
15
|
-
} from "../../utils/log.js";
|
|
16
|
-
import {
|
|
17
|
-
createAssistantMessage,
|
|
18
|
-
createUserMessage,
|
|
19
|
-
getLastAssistantMessageId,
|
|
20
|
-
INTERRUPT_MESSAGE,
|
|
21
|
-
normalizeMessages
|
|
22
|
-
} from "../../utils/messages.js";
|
|
23
|
-
import { getModelManager } from "../../utils/model.js";
|
|
24
|
-
import { getMaxThinkingTokens } from "../../utils/thinking.js";
|
|
25
|
-
import { getTheme } from "../../utils/theme.js";
|
|
26
|
-
import { generateAgentId } from "../../utils/agentStorage.js";
|
|
27
|
-
import { getTaskTools, getPrompt } from "./prompt.js";
|
|
28
|
-
import { TOOL_NAME } from "./constants.js";
|
|
29
|
-
import { getAgentByType, getAvailableAgentTypes } from "../../utils/agentLoader.js";
|
|
30
|
-
const inputSchema = z.object({
|
|
31
|
-
description: z.string().describe("A short (3-5 word) description of the task"),
|
|
32
|
-
prompt: z.string().describe("The task for the agent to perform"),
|
|
33
|
-
model_name: z.string().optional().describe(
|
|
34
|
-
"Optional: Specific model name to use for this task. If not provided, uses the default task model pointer."
|
|
35
|
-
),
|
|
36
|
-
subagent_type: z.string().optional().describe(
|
|
37
|
-
"The type of specialized agent to use for this task"
|
|
38
|
-
)
|
|
39
|
-
});
|
|
40
|
-
const TaskTool = {
|
|
41
|
-
async prompt({ safeMode }) {
|
|
42
|
-
return await getPrompt(safeMode);
|
|
43
|
-
},
|
|
44
|
-
name: TOOL_NAME,
|
|
45
|
-
async description() {
|
|
46
|
-
return "Launch a new task";
|
|
47
|
-
},
|
|
48
|
-
inputSchema,
|
|
49
|
-
async *call({ description, prompt, model_name, subagent_type }, {
|
|
50
|
-
abortController,
|
|
51
|
-
options: { safeMode = false, forkNumber, messageLogName, verbose },
|
|
52
|
-
readFileTimestamps
|
|
53
|
-
}) {
|
|
54
|
-
const startTime = Date.now();
|
|
55
|
-
const agentType = subagent_type || "general-purpose";
|
|
56
|
-
let effectivePrompt = prompt;
|
|
57
|
-
let effectiveModel = model_name || "task";
|
|
58
|
-
let toolFilter = null;
|
|
59
|
-
let temperature = void 0;
|
|
60
|
-
if (agentType) {
|
|
61
|
-
const agentConfig = await getAgentByType(agentType);
|
|
62
|
-
if (!agentConfig) {
|
|
63
|
-
const availableTypes = await getAvailableAgentTypes();
|
|
64
|
-
const helpMessage = `Agent type '${agentType}' not found.
|
|
65
|
-
|
|
66
|
-
Available agents:
|
|
67
|
-
${availableTypes.map((t) => ` \u2022 ${t}`).join("\n")}
|
|
68
|
-
|
|
69
|
-
Use /agents command to manage agent configurations.`;
|
|
70
|
-
yield {
|
|
71
|
-
type: "result",
|
|
72
|
-
data: [{ type: "text", text: helpMessage }],
|
|
73
|
-
resultForAssistant: helpMessage
|
|
74
|
-
};
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
if (agentConfig.systemPrompt) {
|
|
78
|
-
effectivePrompt = `${agentConfig.systemPrompt}
|
|
79
|
-
|
|
80
|
-
${prompt}`;
|
|
81
|
-
}
|
|
82
|
-
if (!model_name && agentConfig.model_name) {
|
|
83
|
-
if (agentConfig.model_name !== "inherit") {
|
|
84
|
-
effectiveModel = agentConfig.model_name;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
toolFilter = agentConfig.tools;
|
|
88
|
-
}
|
|
89
|
-
const messages = [createUserMessage(effectivePrompt)];
|
|
90
|
-
let tools = await getTaskTools(safeMode);
|
|
91
|
-
if (toolFilter) {
|
|
92
|
-
const isAllArray = Array.isArray(toolFilter) && toolFilter.length === 1 && toolFilter[0] === "*";
|
|
93
|
-
if (toolFilter === "*" || isAllArray) {
|
|
94
|
-
} else if (Array.isArray(toolFilter)) {
|
|
95
|
-
tools = tools.filter((tool) => toolFilter.includes(tool.name));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
const modelToUse = effectiveModel;
|
|
99
|
-
yield {
|
|
100
|
-
type: "progress",
|
|
101
|
-
content: createAssistantMessage(`Starting agent: ${agentType}`),
|
|
102
|
-
normalizedMessages: normalizeMessages(messages),
|
|
103
|
-
tools
|
|
104
|
-
};
|
|
105
|
-
yield {
|
|
106
|
-
type: "progress",
|
|
107
|
-
content: createAssistantMessage(`Using model: ${modelToUse}`),
|
|
108
|
-
normalizedMessages: normalizeMessages(messages),
|
|
109
|
-
tools
|
|
110
|
-
};
|
|
111
|
-
yield {
|
|
112
|
-
type: "progress",
|
|
113
|
-
content: createAssistantMessage(`Task: ${description}`),
|
|
114
|
-
normalizedMessages: normalizeMessages(messages),
|
|
115
|
-
tools
|
|
116
|
-
};
|
|
117
|
-
yield {
|
|
118
|
-
type: "progress",
|
|
119
|
-
content: createAssistantMessage(`Prompt: ${prompt.length > 150 ? prompt.substring(0, 150) + "..." : prompt}`),
|
|
120
|
-
normalizedMessages: normalizeMessages(messages),
|
|
121
|
-
tools
|
|
122
|
-
};
|
|
123
|
-
const [taskPrompt, context, maxThinkingTokens] = await Promise.all([
|
|
124
|
-
getAgentPrompt(),
|
|
125
|
-
getContext(),
|
|
126
|
-
getMaxThinkingTokens(messages)
|
|
127
|
-
]);
|
|
128
|
-
taskPrompt.push(`
|
|
129
|
-
IMPORTANT: You are currently running as ${modelToUse}. You do not need to consult ${modelToUse} via AskExpertModel since you ARE ${modelToUse}. Complete tasks directly using your capabilities.`);
|
|
130
|
-
let toolUseCount = 0;
|
|
131
|
-
const getSidechainNumber = memoize(
|
|
132
|
-
() => getNextAvailableLogSidechainNumber(messageLogName, forkNumber)
|
|
133
|
-
);
|
|
134
|
-
const taskId = generateAgentId();
|
|
135
|
-
const queryOptions = {
|
|
136
|
-
safeMode,
|
|
137
|
-
forkNumber,
|
|
138
|
-
messageLogName,
|
|
139
|
-
tools,
|
|
140
|
-
commands: [],
|
|
141
|
-
verbose,
|
|
142
|
-
maxThinkingTokens,
|
|
143
|
-
model: modelToUse
|
|
144
|
-
};
|
|
145
|
-
if (temperature !== void 0) {
|
|
146
|
-
queryOptions["temperature"] = temperature;
|
|
147
|
-
}
|
|
148
|
-
for await (const message of query(
|
|
149
|
-
messages,
|
|
150
|
-
taskPrompt,
|
|
151
|
-
context,
|
|
152
|
-
hasPermissionsToUseTool,
|
|
153
|
-
{
|
|
154
|
-
abortController,
|
|
155
|
-
options: queryOptions,
|
|
156
|
-
messageId: getLastAssistantMessageId(messages),
|
|
157
|
-
agentId: taskId,
|
|
158
|
-
readFileTimestamps,
|
|
159
|
-
setToolJSX: () => {
|
|
160
|
-
}
|
|
161
|
-
// No-op implementation for TaskTool
|
|
162
|
-
}
|
|
163
|
-
)) {
|
|
164
|
-
messages.push(message);
|
|
165
|
-
overwriteLog(
|
|
166
|
-
getMessagesPath(messageLogName, forkNumber, getSidechainNumber()),
|
|
167
|
-
messages.filter((_) => _.type !== "progress")
|
|
168
|
-
);
|
|
169
|
-
if (message.type !== "assistant") {
|
|
170
|
-
continue;
|
|
171
|
-
}
|
|
172
|
-
const normalizedMessages2 = normalizeMessages(messages);
|
|
173
|
-
for (const content of message.message.content) {
|
|
174
|
-
if (content.type === "text" && content.text && content.text !== INTERRUPT_MESSAGE) {
|
|
175
|
-
const preview = content.text.length > 200 ? content.text.substring(0, 200) + "..." : content.text;
|
|
176
|
-
yield {
|
|
177
|
-
type: "progress",
|
|
178
|
-
content: createAssistantMessage(`${preview}`),
|
|
179
|
-
normalizedMessages: normalizedMessages2,
|
|
180
|
-
tools
|
|
181
|
-
};
|
|
182
|
-
} else if (content.type === "tool_use") {
|
|
183
|
-
toolUseCount++;
|
|
184
|
-
const toolMessage = normalizedMessages2.find(
|
|
185
|
-
(_) => _.type === "assistant" && _.message.content[0]?.type === "tool_use" && _.message.content[0].id === content.id
|
|
186
|
-
);
|
|
187
|
-
if (toolMessage) {
|
|
188
|
-
const modifiedMessage = {
|
|
189
|
-
...toolMessage,
|
|
190
|
-
message: {
|
|
191
|
-
...toolMessage.message,
|
|
192
|
-
content: toolMessage.message.content.map((c) => {
|
|
193
|
-
if (c.type === "tool_use" && c.id === content.id) {
|
|
194
|
-
return {
|
|
195
|
-
...c,
|
|
196
|
-
name: c.name
|
|
197
|
-
// Keep original name, UI will handle display
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
return c;
|
|
201
|
-
})
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
yield {
|
|
205
|
-
type: "progress",
|
|
206
|
-
content: modifiedMessage,
|
|
207
|
-
normalizedMessages: normalizedMessages2,
|
|
208
|
-
tools
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
const normalizedMessages = normalizeMessages(messages);
|
|
215
|
-
const lastMessage = last(messages);
|
|
216
|
-
if (lastMessage?.type !== "assistant") {
|
|
217
|
-
throw new Error("Last message was not an assistant message");
|
|
218
|
-
}
|
|
219
|
-
if (lastMessage.message.content.some(
|
|
220
|
-
(_) => _.type === "text" && _.text === INTERRUPT_MESSAGE
|
|
221
|
-
)) {
|
|
222
|
-
} else {
|
|
223
|
-
const result = [
|
|
224
|
-
toolUseCount === 1 ? "1 tool use" : `${toolUseCount} tool uses`,
|
|
225
|
-
formatNumber(
|
|
226
|
-
(lastMessage.message.usage.cache_creation_input_tokens ?? 0) + (lastMessage.message.usage.cache_read_input_tokens ?? 0) + lastMessage.message.usage.input_tokens + lastMessage.message.usage.output_tokens
|
|
227
|
-
) + " tokens",
|
|
228
|
-
formatDuration(Date.now() - startTime)
|
|
229
|
-
];
|
|
230
|
-
yield {
|
|
231
|
-
type: "progress",
|
|
232
|
-
content: createAssistantMessage(`Task completed (${result.join(" \xB7 ")})`),
|
|
233
|
-
normalizedMessages,
|
|
234
|
-
tools
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
const data = lastMessage.message.content.filter((_) => _.type === "text");
|
|
238
|
-
yield {
|
|
239
|
-
type: "result",
|
|
240
|
-
data,
|
|
241
|
-
resultForAssistant: this.renderResultForAssistant(data)
|
|
242
|
-
};
|
|
243
|
-
},
|
|
244
|
-
isReadOnly() {
|
|
245
|
-
return true;
|
|
246
|
-
},
|
|
247
|
-
isConcurrencySafe() {
|
|
248
|
-
return true;
|
|
249
|
-
},
|
|
250
|
-
async validateInput(input, context) {
|
|
251
|
-
if (!input.description || typeof input.description !== "string") {
|
|
252
|
-
return {
|
|
253
|
-
result: false,
|
|
254
|
-
message: "Description is required and must be a string"
|
|
255
|
-
};
|
|
256
|
-
}
|
|
257
|
-
if (!input.prompt || typeof input.prompt !== "string") {
|
|
258
|
-
return {
|
|
259
|
-
result: false,
|
|
260
|
-
message: "Prompt is required and must be a string"
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
if (input.model_name) {
|
|
264
|
-
const modelManager = getModelManager();
|
|
265
|
-
const availableModels = modelManager.getAllAvailableModelNames();
|
|
266
|
-
if (!availableModels.includes(input.model_name)) {
|
|
267
|
-
return {
|
|
268
|
-
result: false,
|
|
269
|
-
message: `Model '${input.model_name}' does not exist. Available models: ${availableModels.join(", ")}`,
|
|
270
|
-
meta: {
|
|
271
|
-
model_name: input.model_name,
|
|
272
|
-
availableModels
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
if (input.subagent_type) {
|
|
278
|
-
const availableTypes = await getAvailableAgentTypes();
|
|
279
|
-
if (!availableTypes.includes(input.subagent_type)) {
|
|
280
|
-
return {
|
|
281
|
-
result: false,
|
|
282
|
-
message: `Agent type '${input.subagent_type}' does not exist. Available types: ${availableTypes.join(", ")}`,
|
|
283
|
-
meta: {
|
|
284
|
-
subagent_type: input.subagent_type,
|
|
285
|
-
availableTypes
|
|
286
|
-
}
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
return { result: true };
|
|
291
|
-
},
|
|
292
|
-
async isEnabled() {
|
|
293
|
-
return true;
|
|
294
|
-
},
|
|
295
|
-
userFacingName(input) {
|
|
296
|
-
const agentType = input?.subagent_type || "general-purpose";
|
|
297
|
-
return `agent-${agentType}`;
|
|
298
|
-
},
|
|
299
|
-
needsPermissions() {
|
|
300
|
-
return false;
|
|
301
|
-
},
|
|
302
|
-
renderResultForAssistant(data) {
|
|
303
|
-
return data.map((block) => block.type === "text" ? block.text : "").join("\n");
|
|
304
|
-
},
|
|
305
|
-
renderToolUseMessage({ description, prompt, model_name, subagent_type }, { verbose }) {
|
|
306
|
-
if (!description || !prompt) return null;
|
|
307
|
-
const modelManager = getModelManager();
|
|
308
|
-
const defaultTaskModel = modelManager.getModelName("task");
|
|
309
|
-
const actualModel = model_name || defaultTaskModel;
|
|
310
|
-
const agentType = subagent_type || "general-purpose";
|
|
311
|
-
const promptPreview = prompt.length > 80 ? prompt.substring(0, 80) + "..." : prompt;
|
|
312
|
-
const theme = getTheme();
|
|
313
|
-
if (verbose) {
|
|
314
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(Text, null, "[", agentType, "] ", actualModel, ": ", description), /* @__PURE__ */ React.createElement(
|
|
315
|
-
Box,
|
|
316
|
-
{
|
|
317
|
-
paddingLeft: 2,
|
|
318
|
-
borderLeftStyle: "single",
|
|
319
|
-
borderLeftColor: theme.secondaryBorder
|
|
320
|
-
},
|
|
321
|
-
/* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, promptPreview)
|
|
322
|
-
));
|
|
323
|
-
}
|
|
324
|
-
return `[${agentType}] ${actualModel}: ${description}`;
|
|
325
|
-
},
|
|
326
|
-
renderToolUseRejectedMessage() {
|
|
327
|
-
return /* @__PURE__ */ React.createElement(FallbackToolUseRejectedMessage, null);
|
|
328
|
-
},
|
|
329
|
-
renderToolResultMessage(content) {
|
|
330
|
-
const theme = getTheme();
|
|
331
|
-
if (Array.isArray(content)) {
|
|
332
|
-
const textBlocks = content.filter((block) => block.type === "text");
|
|
333
|
-
const totalLength = textBlocks.reduce(
|
|
334
|
-
(sum, block) => sum + block.text.length,
|
|
335
|
-
0
|
|
336
|
-
);
|
|
337
|
-
const isInterrupted = content.some(
|
|
338
|
-
(block) => block.type === "text" && block.text === INTERRUPT_MESSAGE
|
|
339
|
-
);
|
|
340
|
-
if (isInterrupted) {
|
|
341
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React.createElement(Text, { color: theme.error }, "Interrupted by user"));
|
|
342
|
-
}
|
|
343
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(Box, { justifyContent: "space-between", width: "100%" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React.createElement(Text, null, "Task completed"), textBlocks.length > 0 && /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, " ", "(", totalLength, " characters)"))));
|
|
344
|
-
}
|
|
345
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Task completed"));
|
|
346
|
-
}
|
|
347
|
-
};
|
|
348
|
-
export {
|
|
349
|
-
TaskTool
|
|
350
|
-
};
|
|
351
|
-
//# sourceMappingURL=TaskTool.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/tools/TaskTool/TaskTool.tsx"],
|
|
4
|
-
"sourcesContent": ["import { TextBlock } from '@anthropic-ai/sdk/resources/index.mjs'\nimport chalk from 'chalk'\nimport { last, memoize } from 'lodash-es'\nimport { EOL } from 'os'\nimport React, { useState, useEffect } from 'react'\nimport { Box, Text } from 'ink'\nimport { z } from 'zod'\nimport { Tool, ValidationResult } from '../../Tool'\nimport { FallbackToolUseRejectedMessage } from '../../components/FallbackToolUseRejectedMessage'\nimport { getAgentPrompt } from '../../constants/prompts'\nimport { getContext } from '../../context'\nimport { hasPermissionsToUseTool } from '../../permissions'\nimport { AssistantMessage, Message as MessageType, query } from '../../query'\nimport { formatDuration, formatNumber } from '../../utils/format'\nimport {\n getMessagesPath,\n getNextAvailableLogSidechainNumber,\n overwriteLog,\n} from '../../utils/log.js'\nimport { applyMarkdown } from '../../utils/markdown'\nimport {\n createAssistantMessage,\n createUserMessage,\n getLastAssistantMessageId,\n INTERRUPT_MESSAGE,\n normalizeMessages,\n} from '../../utils/messages.js'\nimport { getModelManager } from '../../utils/model'\nimport { getMaxThinkingTokens } from '../../utils/thinking'\nimport { getTheme } from '../../utils/theme'\nimport { generateAgentId } from '../../utils/agentStorage'\nimport { debug as debugLogger } from '../../utils/debugLogger'\nimport { getTaskTools, getPrompt } from './prompt'\nimport { TOOL_NAME } from './constants'\nimport { getActiveAgents, getAgentByType, getAvailableAgentTypes } from '../../utils/agentLoader'\n\nconst inputSchema = z.object({\n description: z\n .string()\n .describe('A short (3-5 word) description of the task'),\n prompt: z.string().describe('The task for the agent to perform'),\n model_name: z\n .string()\n .optional()\n .describe(\n 'Optional: Specific model name to use for this task. If not provided, uses the default task model pointer.',\n ),\n subagent_type: z\n .string()\n .optional()\n .describe(\n 'The type of specialized agent to use for this task',\n ),\n})\n\nexport const TaskTool = {\n async prompt({ safeMode }) {\n // Match original Claude Code - prompt returns full agent descriptions\n return await getPrompt(safeMode)\n },\n name: TOOL_NAME,\n async description() {\n // Match original Claude Code exactly - simple description\n return \"Launch a new task\"\n },\n inputSchema,\n \n async *call(\n { description, prompt, model_name, subagent_type },\n {\n abortController,\n options: { safeMode = false, forkNumber, messageLogName, verbose },\n readFileTimestamps,\n },\n ): AsyncGenerator<\n | { type: 'result'; data: TextBlock[]; resultForAssistant?: string }\n | { type: 'progress'; content: any; normalizedMessages?: any[]; tools?: any[] },\n void,\n unknown\n > {\n const startTime = Date.now()\n \n // Default to general-purpose if no subagent_type specified\n const agentType = subagent_type || 'general-purpose'\n \n // Apply subagent configuration\n let effectivePrompt = prompt\n let effectiveModel = model_name || 'task'\n let toolFilter = null\n let temperature = undefined\n \n // Load agent configuration dynamically\n if (agentType) {\n const agentConfig = await getAgentByType(agentType)\n \n if (!agentConfig) {\n // If agent type not found, return helpful message instead of throwing\n const availableTypes = await getAvailableAgentTypes()\n const helpMessage = `Agent type '${agentType}' not found.\\n\\nAvailable agents:\\n${availableTypes.map(t => ` \u2022 ${t}`).join('\\n')}\\n\\nUse /agents command to manage agent configurations.`\n \n yield {\n type: 'result',\n data: [{ type: 'text', text: helpMessage }] as TextBlock[],\n resultForAssistant: helpMessage,\n }\n return\n }\n \n // Apply system prompt if configured\n if (agentConfig.systemPrompt) {\n effectivePrompt = `${agentConfig.systemPrompt}\\n\\n${prompt}`\n }\n \n // Apply model if not overridden by model_name parameter\n if (!model_name && agentConfig.model_name) {\n // Support inherit: keep pointer-based default\n if (agentConfig.model_name !== 'inherit') {\n effectiveModel = agentConfig.model_name as string\n }\n }\n \n // Store tool filter for later application\n toolFilter = agentConfig.tools\n \n // Note: temperature is not currently in our agent configs\n // but could be added in the future\n }\n \n const messages: MessageType[] = [createUserMessage(effectivePrompt)]\n let tools = await getTaskTools(safeMode)\n \n // Apply tool filtering if specified by subagent config\n if (toolFilter) {\n // Back-compat: ['*'] means all tools\n const isAllArray = Array.isArray(toolFilter) && toolFilter.length === 1 && toolFilter[0] === '*'\n if (toolFilter === '*' || isAllArray) {\n // no-op, keep all tools\n } else if (Array.isArray(toolFilter)) {\n tools = tools.filter(tool => toolFilter.includes(tool.name))\n }\n }\n\n // Model already resolved in effectiveModel variable above\n const modelToUse = effectiveModel\n\n // Display initial task information with separate progress lines\n yield {\n type: 'progress',\n content: createAssistantMessage(`Starting agent: ${agentType}`),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n \n yield {\n type: 'progress', \n content: createAssistantMessage(`Using model: ${modelToUse}`),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n \n yield {\n type: 'progress',\n content: createAssistantMessage(`Task: ${description}`),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n \n yield {\n type: 'progress',\n content: createAssistantMessage(`Prompt: ${prompt.length > 150 ? prompt.substring(0, 150) + '...' : prompt}`),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n\n const [taskPrompt, context, maxThinkingTokens] = await Promise.all([\n getAgentPrompt(),\n getContext(),\n getMaxThinkingTokens(messages),\n ])\n \n // Inject model context to prevent self-referential expert consultations\n taskPrompt.push(`\\nIMPORTANT: You are currently running as ${modelToUse}. You do not need to consult ${modelToUse} via AskExpertModel since you ARE ${modelToUse}. Complete tasks directly using your capabilities.`)\n\n let toolUseCount = 0\n\n const getSidechainNumber = memoize(() =>\n getNextAvailableLogSidechainNumber(messageLogName, forkNumber),\n )\n\n // Generate unique Task ID for this task execution\n const taskId = generateAgentId()\n\n // \uD83D\uDD27 ULTRA SIMPLIFIED: Exact original AgentTool pattern\n // Build query options, adding temperature if specified\n const queryOptions = {\n safeMode,\n forkNumber,\n messageLogName,\n tools,\n commands: [],\n verbose,\n maxThinkingTokens,\n model: modelToUse,\n }\n \n // Add temperature if specified by subagent config\n if (temperature !== undefined) {\n queryOptions['temperature'] = temperature\n }\n \n for await (const message of query(\n messages,\n taskPrompt,\n context,\n hasPermissionsToUseTool,\n {\n abortController,\n options: queryOptions,\n messageId: getLastAssistantMessageId(messages),\n agentId: taskId,\n readFileTimestamps,\n setToolJSX: () => {}, // No-op implementation for TaskTool\n },\n )) {\n messages.push(message)\n\n overwriteLog(\n getMessagesPath(messageLogName, forkNumber, getSidechainNumber()),\n messages.filter(_ => _.type !== 'progress'),\n )\n\n if (message.type !== 'assistant') {\n continue\n }\n\n const normalizedMessages = normalizeMessages(messages)\n \n // Process tool uses and text content for better visibility\n for (const content of message.message.content) {\n if (content.type === 'text' && content.text && content.text !== INTERRUPT_MESSAGE) {\n // Show agent's reasoning/responses\n const preview = content.text.length > 200 ? content.text.substring(0, 200) + '...' : content.text\n yield {\n type: 'progress',\n content: createAssistantMessage(`${preview}`),\n normalizedMessages,\n tools,\n }\n } else if (content.type === 'tool_use') {\n toolUseCount++\n \n // Show which tool is being used with agent context\n const toolMessage = normalizedMessages.find(\n _ =>\n _.type === 'assistant' &&\n _.message.content[0]?.type === 'tool_use' &&\n _.message.content[0].id === content.id,\n ) as AssistantMessage\n \n if (toolMessage) {\n // Clone and modify the message to show agent context\n const modifiedMessage = {\n ...toolMessage,\n message: {\n ...toolMessage.message,\n content: toolMessage.message.content.map(c => {\n if (c.type === 'tool_use' && c.id === content.id) {\n // Add agent context to tool name display\n return {\n ...c,\n name: c.name // Keep original name, UI will handle display\n }\n }\n return c\n })\n }\n }\n \n yield {\n type: 'progress',\n content: modifiedMessage,\n normalizedMessages,\n tools,\n }\n }\n }\n }\n }\n\n const normalizedMessages = normalizeMessages(messages)\n const lastMessage = last(messages)\n if (lastMessage?.type !== 'assistant') {\n throw new Error('Last message was not an assistant message')\n }\n\n // \uD83D\uDD27 CRITICAL FIX: Match original AgentTool interrupt handling pattern exactly\n if (\n lastMessage.message.content.some(\n _ => _.type === 'text' && _.text === INTERRUPT_MESSAGE,\n )\n ) {\n // Skip progress yield - only yield final result\n } else {\n const result = [\n toolUseCount === 1 ? '1 tool use' : `${toolUseCount} tool uses`,\n formatNumber(\n (lastMessage.message.usage.cache_creation_input_tokens ?? 0) +\n (lastMessage.message.usage.cache_read_input_tokens ?? 0) +\n lastMessage.message.usage.input_tokens +\n lastMessage.message.usage.output_tokens,\n ) + ' tokens',\n formatDuration(Date.now() - startTime),\n ]\n yield {\n type: 'progress',\n content: createAssistantMessage(`Task completed (${result.join(' \u00B7 ')})`),\n normalizedMessages,\n tools,\n }\n }\n\n // Output is an AssistantMessage, but since TaskTool is a tool, it needs\n // to serialize its response to UserMessage-compatible content.\n const data = lastMessage.message.content.filter(_ => _.type === 'text')\n yield {\n type: 'result',\n data,\n resultForAssistant: this.renderResultForAssistant(data),\n }\n },\n\n isReadOnly() {\n return true // for now...\n },\n isConcurrencySafe() {\n return true // Task tool supports concurrent execution in official implementation\n },\n async validateInput(input, context) {\n if (!input.description || typeof input.description !== 'string') {\n return {\n result: false,\n message: 'Description is required and must be a string',\n }\n }\n if (!input.prompt || typeof input.prompt !== 'string') {\n return {\n result: false,\n message: 'Prompt is required and must be a string',\n }\n }\n\n // Model validation - similar to Edit tool error handling\n if (input.model_name) {\n const modelManager = getModelManager()\n const availableModels = modelManager.getAllAvailableModelNames()\n\n if (!availableModels.includes(input.model_name)) {\n return {\n result: false,\n message: `Model '${input.model_name}' does not exist. Available models: ${availableModels.join(', ')}`,\n meta: {\n model_name: input.model_name,\n availableModels,\n },\n }\n }\n }\n\n // Validate subagent_type if provided\n if (input.subagent_type) {\n const availableTypes = await getAvailableAgentTypes()\n if (!availableTypes.includes(input.subagent_type)) {\n return {\n result: false,\n message: `Agent type '${input.subagent_type}' does not exist. Available types: ${availableTypes.join(', ')}`,\n meta: {\n subagent_type: input.subagent_type,\n availableTypes,\n },\n }\n }\n }\n\n return { result: true }\n },\n async isEnabled() {\n return true\n },\n userFacingName(input?: any) {\n // Return agent name with proper prefix\n const agentType = input?.subagent_type || 'general-purpose'\n return `agent-${agentType}`\n },\n needsPermissions() {\n return false\n },\n renderResultForAssistant(data: TextBlock[]) {\n return data.map(block => block.type === 'text' ? block.text : '').join('\\n')\n },\n renderToolUseMessage({ description, prompt, model_name, subagent_type }, { verbose }) {\n if (!description || !prompt) return null\n\n const modelManager = getModelManager()\n const defaultTaskModel = modelManager.getModelName('task')\n const actualModel = model_name || defaultTaskModel\n const agentType = subagent_type || 'general-purpose'\n const promptPreview =\n prompt.length > 80 ? prompt.substring(0, 80) + '...' : prompt\n\n const theme = getTheme()\n \n if (verbose) {\n return (\n <Box flexDirection=\"column\">\n <Text>\n [{agentType}] {actualModel}: {description}\n </Text>\n <Box\n paddingLeft={2}\n borderLeftStyle=\"single\"\n borderLeftColor={theme.secondaryBorder}\n >\n <Text color={theme.secondaryText}>{promptPreview}</Text>\n </Box>\n </Box>\n )\n }\n\n // Simple display: agent type, model and description\n return `[${agentType}] ${actualModel}: ${description}`\n },\n renderToolUseRejectedMessage() {\n return <FallbackToolUseRejectedMessage />\n },\n renderToolResultMessage(content) {\n const theme = getTheme()\n\n if (Array.isArray(content)) {\n const textBlocks = content.filter(block => block.type === 'text')\n const totalLength = textBlocks.reduce(\n (sum, block) => sum + block.text.length,\n 0,\n )\n // \uD83D\uDD27 CRITICAL FIX: Use exact match for interrupt detection, not .includes()\n const isInterrupted = content.some(\n block =>\n block.type === 'text' && block.text === INTERRUPT_MESSAGE,\n )\n\n if (isInterrupted) {\n // \uD83D\uDD27 CRITICAL FIX: Match original system interrupt rendering exactly\n return (\n <Box flexDirection=\"row\">\n <Text> \u23BF </Text>\n <Text color={theme.error}>Interrupted by user</Text>\n </Box>\n )\n }\n\n return (\n <Box flexDirection=\"column\">\n <Box justifyContent=\"space-between\" width=\"100%\">\n <Box flexDirection=\"row\">\n <Text> \u23BF </Text>\n <Text>Task completed</Text>\n {textBlocks.length > 0 && (\n <Text color={theme.secondaryText}>\n {' '}\n ({totalLength} characters)\n </Text>\n )}\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <Box flexDirection=\"row\">\n <Text> \u23BF </Text>\n <Text color={theme.secondaryText}>Task completed</Text>\n </Box>\n )\n },\n} satisfies Tool<typeof inputSchema, TextBlock[]>\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["normalizedMessages"]
|
|
7
|
-
}
|