@xelauvas/xela-cli 0.1.0
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 +200 -0
- package/bin/xela +100 -0
- package/package.json +88 -0
- package/src/QueryEngine.ts +1295 -0
- package/src/Task.ts +125 -0
- package/src/Tool.ts +792 -0
- package/src/_shims/_generated_stubs/_universal_stub.mjs +168 -0
- package/src/_shims/_generated_stubs/text_stub.mjs +1 -0
- package/src/_shims/bun_bundle.js +9 -0
- package/src/_shims/cjs_stub.cjs +23 -0
- package/src/_shims/empty_stub.js +33 -0
- package/src/_shims/loader.js +352 -0
- package/src/_shims/openai_adapter.ts +486 -0
- package/src/_shims/react_compiler_runtime.js +17 -0
- package/src/_shims/register.js +148 -0
- package/src/assistant/sessionHistory.ts +87 -0
- package/src/bootstrap/state.ts +1759 -0
- package/src/bridge/bridgeApi.ts +539 -0
- package/src/bridge/bridgeConfig.ts +48 -0
- package/src/bridge/bridgeDebug.ts +135 -0
- package/src/bridge/bridgeEnabled.ts +202 -0
- package/src/bridge/bridgeMain.ts +2999 -0
- package/src/bridge/bridgeMessaging.ts +461 -0
- package/src/bridge/bridgePermissionCallbacks.ts +43 -0
- package/src/bridge/bridgePointer.ts +210 -0
- package/src/bridge/bridgeStatusUtil.ts +163 -0
- package/src/bridge/bridgeUI.ts +530 -0
- package/src/bridge/capacityWake.ts +56 -0
- package/src/bridge/codeSessionApi.ts +168 -0
- package/src/bridge/createSession.ts +384 -0
- package/src/bridge/debugUtils.ts +141 -0
- package/src/bridge/envLessBridgeConfig.ts +165 -0
- package/src/bridge/flushGate.ts +71 -0
- package/src/bridge/inboundAttachments.ts +175 -0
- package/src/bridge/inboundMessages.ts +80 -0
- package/src/bridge/initReplBridge.ts +569 -0
- package/src/bridge/jwtUtils.ts +256 -0
- package/src/bridge/pollConfig.ts +110 -0
- package/src/bridge/pollConfigDefaults.ts +82 -0
- package/src/bridge/remoteBridgeCore.ts +1008 -0
- package/src/bridge/replBridge.ts +2406 -0
- package/src/bridge/replBridgeHandle.ts +36 -0
- package/src/bridge/replBridgeTransport.ts +370 -0
- package/src/bridge/sessionIdCompat.ts +57 -0
- package/src/bridge/sessionRunner.ts +550 -0
- package/src/bridge/trustedDevice.ts +210 -0
- package/src/bridge/types.ts +262 -0
- package/src/bridge/workSecret.ts +127 -0
- package/src/buddy/CompanionSprite.tsx +371 -0
- package/src/buddy/companion.ts +133 -0
- package/src/buddy/prompt.ts +36 -0
- package/src/buddy/sprites.ts +514 -0
- package/src/buddy/types.ts +148 -0
- package/src/buddy/useBuddyNotification.tsx +98 -0
- package/src/cli/exit.ts +31 -0
- package/src/cli/handlers/agents.ts +70 -0
- package/src/cli/handlers/auth.ts +330 -0
- package/src/cli/handlers/autoMode.ts +170 -0
- package/src/cli/handlers/mcp.tsx +362 -0
- package/src/cli/handlers/plugins.ts +878 -0
- package/src/cli/handlers/util.tsx +110 -0
- package/src/cli/ndjsonSafeStringify.ts +32 -0
- package/src/cli/print.ts +5594 -0
- package/src/cli/remoteIO.ts +255 -0
- package/src/cli/structuredIO.ts +859 -0
- package/src/cli/transports/HybridTransport.ts +282 -0
- package/src/cli/transports/SSETransport.ts +711 -0
- package/src/cli/transports/SerialBatchEventUploader.ts +275 -0
- package/src/cli/transports/WebSocketTransport.ts +800 -0
- package/src/cli/transports/WorkerStateUploader.ts +131 -0
- package/src/cli/transports/ccrClient.ts +998 -0
- package/src/cli/transports/transportUtils.ts +45 -0
- package/src/cli/update.ts +422 -0
- package/src/commands/add-dir/add-dir.tsx +126 -0
- package/src/commands/add-dir/index.ts +11 -0
- package/src/commands/add-dir/validation.ts +110 -0
- package/src/commands/advisor.ts +109 -0
- package/src/commands/agents/agents.tsx +12 -0
- package/src/commands/agents/index.ts +10 -0
- package/src/commands/ant-trace/index.js +1 -0
- package/src/commands/autofix-pr/index.js +1 -0
- package/src/commands/backfill-sessions/index.js +1 -0
- package/src/commands/branch/branch.ts +296 -0
- package/src/commands/branch/index.ts +14 -0
- package/src/commands/break-cache/index.js +1 -0
- package/src/commands/bridge/bridge.tsx +509 -0
- package/src/commands/bridge/index.ts +26 -0
- package/src/commands/bridge-kick.ts +200 -0
- package/src/commands/brief.ts +130 -0
- package/src/commands/btw/btw.tsx +243 -0
- package/src/commands/btw/index.ts +13 -0
- package/src/commands/bughunter/index.js +1 -0
- package/src/commands/chrome/chrome.tsx +285 -0
- package/src/commands/chrome/index.ts +13 -0
- package/src/commands/clear/caches.ts +144 -0
- package/src/commands/clear/clear.ts +7 -0
- package/src/commands/clear/conversation.ts +251 -0
- package/src/commands/clear/index.ts +19 -0
- package/src/commands/color/color.ts +93 -0
- package/src/commands/color/index.ts +16 -0
- package/src/commands/commit-push-pr.ts +158 -0
- package/src/commands/commit.ts +92 -0
- package/src/commands/compact/compact.ts +287 -0
- package/src/commands/compact/index.ts +15 -0
- package/src/commands/config/config.tsx +7 -0
- package/src/commands/config/index.ts +11 -0
- package/src/commands/context/context-noninteractive.ts +325 -0
- package/src/commands/context/context.tsx +64 -0
- package/src/commands/context/index.ts +24 -0
- package/src/commands/copy/copy.tsx +371 -0
- package/src/commands/copy/index.ts +15 -0
- package/src/commands/cost/cost.ts +24 -0
- package/src/commands/cost/index.ts +23 -0
- package/src/commands/createMovedToPluginCommand.ts +65 -0
- package/src/commands/ctx_viz/index.js +1 -0
- package/src/commands/debug-tool-call/index.js +1 -0
- package/src/commands/desktop/desktop.tsx +9 -0
- package/src/commands/desktop/index.ts +26 -0
- package/src/commands/diff/diff.tsx +9 -0
- package/src/commands/diff/index.ts +8 -0
- package/src/commands/doctor/doctor.tsx +7 -0
- package/src/commands/doctor/index.ts +12 -0
- package/src/commands/effort/effort.tsx +183 -0
- package/src/commands/effort/index.ts +13 -0
- package/src/commands/env/index.js +1 -0
- package/src/commands/exit/exit.tsx +33 -0
- package/src/commands/exit/index.ts +12 -0
- package/src/commands/export/export.tsx +91 -0
- package/src/commands/export/index.ts +11 -0
- package/src/commands/extra-usage/extra-usage-core.ts +118 -0
- package/src/commands/extra-usage/extra-usage-noninteractive.ts +16 -0
- package/src/commands/extra-usage/extra-usage.tsx +17 -0
- package/src/commands/extra-usage/index.ts +31 -0
- package/src/commands/fast/fast.tsx +269 -0
- package/src/commands/fast/index.ts +26 -0
- package/src/commands/feedback/feedback.tsx +25 -0
- package/src/commands/feedback/index.ts +26 -0
- package/src/commands/files/files.ts +19 -0
- package/src/commands/files/index.ts +12 -0
- package/src/commands/good-claude/index.js +1 -0
- package/src/commands/heapdump/heapdump.ts +17 -0
- package/src/commands/heapdump/index.ts +12 -0
- package/src/commands/help/help.tsx +11 -0
- package/src/commands/help/index.ts +10 -0
- package/src/commands/hooks/hooks.tsx +13 -0
- package/src/commands/hooks/index.ts +11 -0
- package/src/commands/ide/ide.tsx +646 -0
- package/src/commands/ide/index.ts +11 -0
- package/src/commands/init-verifiers.ts +262 -0
- package/src/commands/init.ts +256 -0
- package/src/commands/insights.ts +3200 -0
- package/src/commands/install-github-app/ApiKeyStep.tsx +231 -0
- package/src/commands/install-github-app/CheckExistingSecretStep.tsx +190 -0
- package/src/commands/install-github-app/CheckGitHubStep.tsx +15 -0
- package/src/commands/install-github-app/ChooseRepoStep.tsx +211 -0
- package/src/commands/install-github-app/CreatingStep.tsx +65 -0
- package/src/commands/install-github-app/ErrorStep.tsx +85 -0
- package/src/commands/install-github-app/ExistingWorkflowStep.tsx +103 -0
- package/src/commands/install-github-app/InstallAppStep.tsx +94 -0
- package/src/commands/install-github-app/OAuthFlowStep.tsx +276 -0
- package/src/commands/install-github-app/SuccessStep.tsx +96 -0
- package/src/commands/install-github-app/WarningsStep.tsx +73 -0
- package/src/commands/install-github-app/index.ts +13 -0
- package/src/commands/install-github-app/install-github-app.tsx +587 -0
- package/src/commands/install-github-app/setupGitHubActions.ts +325 -0
- package/src/commands/install-slack-app/index.ts +12 -0
- package/src/commands/install-slack-app/install-slack-app.ts +30 -0
- package/src/commands/install.tsx +300 -0
- package/src/commands/issue/index.js +1 -0
- package/src/commands/keybindings/index.ts +13 -0
- package/src/commands/keybindings/keybindings.ts +53 -0
- package/src/commands/login/index.ts +14 -0
- package/src/commands/login/login.tsx +104 -0
- package/src/commands/logout/index.ts +10 -0
- package/src/commands/logout/logout.tsx +82 -0
- package/src/commands/mcp/addCommand.ts +280 -0
- package/src/commands/mcp/index.ts +12 -0
- package/src/commands/mcp/mcp.tsx +85 -0
- package/src/commands/mcp/xaaIdpCommand.ts +266 -0
- package/src/commands/memory/index.ts +10 -0
- package/src/commands/memory/memory.tsx +90 -0
- package/src/commands/mobile/index.ts +11 -0
- package/src/commands/mobile/mobile.tsx +274 -0
- package/src/commands/mock-limits/index.js +1 -0
- package/src/commands/model/index.ts +16 -0
- package/src/commands/model/model.tsx +297 -0
- package/src/commands/oauth-refresh/index.js +1 -0
- package/src/commands/onboarding/index.js +1 -0
- package/src/commands/output-style/index.ts +11 -0
- package/src/commands/output-style/output-style.tsx +7 -0
- package/src/commands/passes/index.ts +22 -0
- package/src/commands/passes/passes.tsx +24 -0
- package/src/commands/perf-issue/index.js +1 -0
- package/src/commands/permissions/index.ts +11 -0
- package/src/commands/permissions/permissions.tsx +10 -0
- package/src/commands/plan/index.ts +11 -0
- package/src/commands/plan/plan.tsx +122 -0
- package/src/commands/plugin/AddMarketplace.tsx +162 -0
- package/src/commands/plugin/BrowseMarketplace.tsx +802 -0
- package/src/commands/plugin/DiscoverPlugins.tsx +781 -0
- package/src/commands/plugin/ManageMarketplaces.tsx +838 -0
- package/src/commands/plugin/ManagePlugins.tsx +2215 -0
- package/src/commands/plugin/PluginErrors.tsx +124 -0
- package/src/commands/plugin/PluginOptionsDialog.tsx +357 -0
- package/src/commands/plugin/PluginOptionsFlow.tsx +135 -0
- package/src/commands/plugin/PluginSettings.tsx +1072 -0
- package/src/commands/plugin/PluginTrustWarning.tsx +32 -0
- package/src/commands/plugin/UnifiedInstalledCell.tsx +565 -0
- package/src/commands/plugin/ValidatePlugin.tsx +98 -0
- package/src/commands/plugin/index.tsx +11 -0
- package/src/commands/plugin/parseArgs.ts +103 -0
- package/src/commands/plugin/plugin.tsx +7 -0
- package/src/commands/plugin/pluginDetailsHelpers.tsx +117 -0
- package/src/commands/plugin/usePagination.ts +171 -0
- package/src/commands/pr_comments/index.ts +50 -0
- package/src/commands/privacy-settings/index.ts +14 -0
- package/src/commands/privacy-settings/privacy-settings.tsx +58 -0
- package/src/commands/rate-limit-options/index.ts +19 -0
- package/src/commands/rate-limit-options/rate-limit-options.tsx +210 -0
- package/src/commands/release-notes/index.ts +11 -0
- package/src/commands/release-notes/release-notes.ts +50 -0
- package/src/commands/reload-plugins/index.ts +18 -0
- package/src/commands/reload-plugins/reload-plugins.ts +61 -0
- package/src/commands/remote-env/index.ts +15 -0
- package/src/commands/remote-env/remote-env.tsx +7 -0
- package/src/commands/remote-setup/api.ts +182 -0
- package/src/commands/remote-setup/index.ts +20 -0
- package/src/commands/remote-setup/remote-setup.tsx +187 -0
- package/src/commands/rename/generateSessionName.ts +67 -0
- package/src/commands/rename/index.ts +12 -0
- package/src/commands/rename/rename.ts +87 -0
- package/src/commands/reset-limits/index.js +4 -0
- package/src/commands/resume/index.ts +12 -0
- package/src/commands/resume/resume.tsx +275 -0
- package/src/commands/review/UltrareviewOverageDialog.tsx +96 -0
- package/src/commands/review/reviewRemote.ts +316 -0
- package/src/commands/review/ultrareviewCommand.tsx +58 -0
- package/src/commands/review/ultrareviewEnabled.ts +14 -0
- package/src/commands/review.ts +57 -0
- package/src/commands/rewind/index.ts +13 -0
- package/src/commands/rewind/rewind.ts +13 -0
- package/src/commands/sandbox-toggle/index.ts +50 -0
- package/src/commands/sandbox-toggle/sandbox-toggle.tsx +83 -0
- package/src/commands/security-review.ts +243 -0
- package/src/commands/session/index.ts +16 -0
- package/src/commands/session/session.tsx +140 -0
- package/src/commands/share/index.js +1 -0
- package/src/commands/skills/index.ts +10 -0
- package/src/commands/skills/skills.tsx +8 -0
- package/src/commands/stats/index.ts +10 -0
- package/src/commands/stats/stats.tsx +7 -0
- package/src/commands/status/index.ts +12 -0
- package/src/commands/status/status.tsx +8 -0
- package/src/commands/statusline.tsx +24 -0
- package/src/commands/stickers/index.ts +11 -0
- package/src/commands/stickers/stickers.ts +16 -0
- package/src/commands/summary/index.js +1 -0
- package/src/commands/tag/index.ts +12 -0
- package/src/commands/tag/tag.tsx +215 -0
- package/src/commands/tasks/index.ts +11 -0
- package/src/commands/tasks/tasks.tsx +8 -0
- package/src/commands/teleport/index.js +1 -0
- package/src/commands/terminalSetup/index.ts +23 -0
- package/src/commands/terminalSetup/terminalSetup.tsx +531 -0
- package/src/commands/theme/index.ts +10 -0
- package/src/commands/theme/theme.tsx +57 -0
- package/src/commands/thinkback/index.ts +13 -0
- package/src/commands/thinkback/thinkback.tsx +554 -0
- package/src/commands/thinkback-play/index.ts +17 -0
- package/src/commands/thinkback-play/thinkback-play.ts +43 -0
- package/src/commands/ultraplan.tsx +471 -0
- package/src/commands/upgrade/index.ts +16 -0
- package/src/commands/upgrade/upgrade.tsx +38 -0
- package/src/commands/usage/index.ts +9 -0
- package/src/commands/usage/usage.tsx +7 -0
- package/src/commands/version.ts +22 -0
- package/src/commands/vim/index.ts +11 -0
- package/src/commands/vim/vim.ts +38 -0
- package/src/commands/voice/index.ts +20 -0
- package/src/commands/voice/voice.ts +150 -0
- package/src/commands.ts +754 -0
- package/src/components/AgentProgressLine.tsx +136 -0
- package/src/components/App.tsx +56 -0
- package/src/components/ApproveApiKey.tsx +123 -0
- package/src/components/AutoModeOptInDialog.tsx +142 -0
- package/src/components/AutoUpdater.tsx +198 -0
- package/src/components/AutoUpdaterWrapper.tsx +91 -0
- package/src/components/AwsAuthStatusBox.tsx +82 -0
- package/src/components/BaseTextInput.tsx +136 -0
- package/src/components/BashModeProgress.tsx +56 -0
- package/src/components/BridgeDialog.tsx +401 -0
- package/src/components/BypassPermissionsModeDialog.tsx +87 -0
- package/src/components/ChannelDowngradeDialog.tsx +102 -0
- package/src/components/ClaudeCodeHint/PluginHintMenu.tsx +78 -0
- package/src/components/ClaudeInChromeOnboarding.tsx +121 -0
- package/src/components/ClaudeMdExternalIncludesDialog.tsx +137 -0
- package/src/components/ClickableImageRef.tsx +73 -0
- package/src/components/CompactSummary.tsx +118 -0
- package/src/components/ConfigurableShortcutHint.tsx +57 -0
- package/src/components/ConsoleOAuthFlow.tsx +631 -0
- package/src/components/ContextSuggestions.tsx +47 -0
- package/src/components/ContextVisualization.tsx +489 -0
- package/src/components/CoordinatorAgentStatus.tsx +273 -0
- package/src/components/CostThresholdDialog.tsx +50 -0
- package/src/components/CtrlOToExpand.tsx +51 -0
- package/src/components/CustomSelect/SelectMulti.tsx +213 -0
- package/src/components/CustomSelect/index.ts +3 -0
- package/src/components/CustomSelect/option-map.ts +50 -0
- package/src/components/CustomSelect/select-input-option.tsx +488 -0
- package/src/components/CustomSelect/select-option.tsx +68 -0
- package/src/components/CustomSelect/select.tsx +690 -0
- package/src/components/CustomSelect/use-multi-select-state.ts +414 -0
- package/src/components/CustomSelect/use-select-input.ts +287 -0
- package/src/components/CustomSelect/use-select-navigation.ts +653 -0
- package/src/components/CustomSelect/use-select-state.ts +157 -0
- package/src/components/DesktopHandoff.tsx +193 -0
- package/src/components/DesktopUpsell/DesktopUpsellStartup.tsx +171 -0
- package/src/components/DevBar.tsx +49 -0
- package/src/components/DevChannelsDialog.tsx +105 -0
- package/src/components/DiagnosticsDisplay.tsx +95 -0
- package/src/components/EffortCallout.tsx +265 -0
- package/src/components/EffortIndicator.ts +42 -0
- package/src/components/ExitFlow.tsx +48 -0
- package/src/components/ExportDialog.tsx +128 -0
- package/src/components/FallbackToolUseErrorMessage.tsx +116 -0
- package/src/components/FallbackToolUseRejectedMessage.tsx +16 -0
- package/src/components/FastIcon.tsx +46 -0
- package/src/components/Feedback.tsx +592 -0
- package/src/components/FeedbackSurvey/FeedbackSurvey.tsx +174 -0
- package/src/components/FeedbackSurvey/FeedbackSurveyView.tsx +108 -0
- package/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx +88 -0
- package/src/components/FeedbackSurvey/submitTranscriptShare.ts +112 -0
- package/src/components/FeedbackSurvey/useDebouncedDigitInput.ts +82 -0
- package/src/components/FeedbackSurvey/useFeedbackSurvey.tsx +296 -0
- package/src/components/FeedbackSurvey/useMemorySurvey.tsx +213 -0
- package/src/components/FeedbackSurvey/usePostCompactSurvey.tsx +206 -0
- package/src/components/FeedbackSurvey/useSurveyState.tsx +100 -0
- package/src/components/FileEditToolDiff.tsx +181 -0
- package/src/components/FileEditToolUpdatedMessage.tsx +124 -0
- package/src/components/FileEditToolUseRejectedMessage.tsx +170 -0
- package/src/components/FilePathLink.tsx +43 -0
- package/src/components/FullscreenLayout.tsx +637 -0
- package/src/components/GlobalSearchDialog.tsx +343 -0
- package/src/components/HelpV2/Commands.tsx +82 -0
- package/src/components/HelpV2/General.tsx +23 -0
- package/src/components/HelpV2/HelpV2.tsx +184 -0
- package/src/components/HighlightedCode/Fallback.tsx +193 -0
- package/src/components/HighlightedCode.tsx +190 -0
- package/src/components/HistorySearchDialog.tsx +118 -0
- package/src/components/IdeAutoConnectDialog.tsx +154 -0
- package/src/components/IdeOnboardingDialog.tsx +167 -0
- package/src/components/IdeStatusIndicator.tsx +58 -0
- package/src/components/IdleReturnDialog.tsx +118 -0
- package/src/components/InterruptedByUser.tsx +15 -0
- package/src/components/InvalidConfigDialog.tsx +156 -0
- package/src/components/InvalidSettingsDialog.tsx +89 -0
- package/src/components/KeybindingWarnings.tsx +55 -0
- package/src/components/LanguagePicker.tsx +86 -0
- package/src/components/LogSelector.tsx +1575 -0
- package/src/components/LogoV2/AnimatedAsterisk.tsx +50 -0
- package/src/components/LogoV2/AnimatedClawd.tsx +124 -0
- package/src/components/LogoV2/ChannelsNotice.tsx +266 -0
- package/src/components/LogoV2/Clawd.tsx +240 -0
- package/src/components/LogoV2/CondensedLogo.tsx +161 -0
- package/src/components/LogoV2/EmergencyTip.tsx +58 -0
- package/src/components/LogoV2/Feed.tsx +112 -0
- package/src/components/LogoV2/FeedColumn.tsx +59 -0
- package/src/components/LogoV2/GuestPassesUpsell.tsx +70 -0
- package/src/components/LogoV2/LogoV2.tsx +543 -0
- package/src/components/LogoV2/Opus1mMergeNotice.tsx +55 -0
- package/src/components/LogoV2/OverageCreditUpsell.tsx +166 -0
- package/src/components/LogoV2/VoiceModeNotice.tsx +68 -0
- package/src/components/LogoV2/WelcomeV2.tsx +433 -0
- package/src/components/LogoV2/feedConfigs.tsx +92 -0
- package/src/components/LspRecommendation/LspRecommendationMenu.tsx +88 -0
- package/src/components/MCPServerApprovalDialog.tsx +115 -0
- package/src/components/MCPServerDesktopImportDialog.tsx +203 -0
- package/src/components/MCPServerDialogCopy.tsx +15 -0
- package/src/components/MCPServerMultiselectDialog.tsx +133 -0
- package/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx +149 -0
- package/src/components/ManagedSettingsSecurityDialog/utils.ts +144 -0
- package/src/components/Markdown.tsx +236 -0
- package/src/components/MarkdownTable.tsx +322 -0
- package/src/components/MemoryUsageIndicator.tsx +37 -0
- package/src/components/Message.tsx +627 -0
- package/src/components/MessageModel.tsx +43 -0
- package/src/components/MessageResponse.tsx +78 -0
- package/src/components/MessageRow.tsx +383 -0
- package/src/components/MessageSelector.tsx +831 -0
- package/src/components/MessageTimestamp.tsx +63 -0
- package/src/components/Messages.tsx +834 -0
- package/src/components/ModelPicker.tsx +448 -0
- package/src/components/NativeAutoUpdater.tsx +193 -0
- package/src/components/NotebookEditToolUseRejectedMessage.tsx +92 -0
- package/src/components/OffscreenFreeze.tsx +44 -0
- package/src/components/Onboarding.tsx +244 -0
- package/src/components/OutputStylePicker.tsx +112 -0
- package/src/components/PackageManagerAutoUpdater.tsx +104 -0
- package/src/components/Passes/Passes.tsx +184 -0
- package/src/components/PrBadge.tsx +97 -0
- package/src/components/PressEnterToContinue.tsx +15 -0
- package/src/components/PromptInput/HistorySearchInput.tsx +51 -0
- package/src/components/PromptInput/IssueFlagBanner.tsx +12 -0
- package/src/components/PromptInput/Notifications.tsx +332 -0
- package/src/components/PromptInput/PromptInput.tsx +2339 -0
- package/src/components/PromptInput/PromptInputFooter.tsx +191 -0
- package/src/components/PromptInput/PromptInputFooterLeftSide.tsx +517 -0
- package/src/components/PromptInput/PromptInputFooterSuggestions.tsx +293 -0
- package/src/components/PromptInput/PromptInputHelpMenu.tsx +358 -0
- package/src/components/PromptInput/PromptInputModeIndicator.tsx +93 -0
- package/src/components/PromptInput/PromptInputQueuedCommands.tsx +117 -0
- package/src/components/PromptInput/PromptInputStashNotice.tsx +25 -0
- package/src/components/PromptInput/SandboxPromptFooterHint.tsx +64 -0
- package/src/components/PromptInput/ShimmeredInput.tsx +143 -0
- package/src/components/PromptInput/VoiceIndicator.tsx +137 -0
- package/src/components/PromptInput/inputModes.ts +33 -0
- package/src/components/PromptInput/inputPaste.ts +90 -0
- package/src/components/PromptInput/useMaybeTruncateInput.ts +58 -0
- package/src/components/PromptInput/usePromptInputPlaceholder.ts +76 -0
- package/src/components/PromptInput/useShowFastIconHint.ts +31 -0
- package/src/components/PromptInput/useSwarmBanner.ts +155 -0
- package/src/components/PromptInput/utils.ts +60 -0
- package/src/components/QuickOpenDialog.tsx +244 -0
- package/src/components/RemoteCallout.tsx +76 -0
- package/src/components/RemoteEnvironmentDialog.tsx +340 -0
- package/src/components/ResumeTask.tsx +268 -0
- package/src/components/SandboxViolationExpandedView.tsx +99 -0
- package/src/components/ScrollKeybindingHandler.tsx +1012 -0
- package/src/components/SearchBox.tsx +72 -0
- package/src/components/SentryErrorBoundary.ts +28 -0
- package/src/components/SessionBackgroundHint.tsx +108 -0
- package/src/components/SessionPreview.tsx +194 -0
- package/src/components/Settings/Config.tsx +1822 -0
- package/src/components/Settings/Settings.tsx +137 -0
- package/src/components/Settings/Status.tsx +241 -0
- package/src/components/Settings/Usage.tsx +377 -0
- package/src/components/ShowInIDEPrompt.tsx +170 -0
- package/src/components/SkillImprovementSurvey.tsx +152 -0
- package/src/components/Spinner/FlashingChar.tsx +61 -0
- package/src/components/Spinner/GlimmerMessage.tsx +328 -0
- package/src/components/Spinner/ShimmerChar.tsx +36 -0
- package/src/components/Spinner/SpinnerAnimationRow.tsx +265 -0
- package/src/components/Spinner/SpinnerGlyph.tsx +80 -0
- package/src/components/Spinner/TeammateSpinnerLine.tsx +233 -0
- package/src/components/Spinner/TeammateSpinnerTree.tsx +272 -0
- package/src/components/Spinner/index.ts +10 -0
- package/src/components/Spinner/teammateSelectHint.ts +1 -0
- package/src/components/Spinner/useShimmerAnimation.ts +31 -0
- package/src/components/Spinner/useStalledAnimation.ts +75 -0
- package/src/components/Spinner/utils.ts +84 -0
- package/src/components/Spinner.tsx +562 -0
- package/src/components/Stats.tsx +1228 -0
- package/src/components/StatusLine.tsx +324 -0
- package/src/components/StatusNotices.tsx +55 -0
- package/src/components/StructuredDiff/Fallback.tsx +487 -0
- package/src/components/StructuredDiff/colorDiff.ts +37 -0
- package/src/components/StructuredDiff.tsx +190 -0
- package/src/components/StructuredDiffList.tsx +30 -0
- package/src/components/TagTabs.tsx +139 -0
- package/src/components/TaskListV2.tsx +378 -0
- package/src/components/TeammateViewHeader.tsx +82 -0
- package/src/components/TeleportError.tsx +189 -0
- package/src/components/TeleportProgress.tsx +140 -0
- package/src/components/TeleportRepoMismatchDialog.tsx +104 -0
- package/src/components/TeleportResumeWrapper.tsx +167 -0
- package/src/components/TeleportStash.tsx +116 -0
- package/src/components/TextInput.tsx +124 -0
- package/src/components/ThemePicker.tsx +333 -0
- package/src/components/ThinkingToggle.tsx +153 -0
- package/src/components/TokenWarning.tsx +179 -0
- package/src/components/ToolUseLoader.tsx +42 -0
- package/src/components/TrustDialog/TrustDialog.tsx +290 -0
- package/src/components/TrustDialog/utils.ts +245 -0
- package/src/components/ValidationErrorsList.tsx +148 -0
- package/src/components/VimTextInput.tsx +140 -0
- package/src/components/VirtualMessageList.tsx +1082 -0
- package/src/components/WorkflowMultiselectDialog.tsx +128 -0
- package/src/components/WorktreeExitDialog.tsx +231 -0
- package/src/components/agents/AgentDetail.tsx +220 -0
- package/src/components/agents/AgentEditor.tsx +178 -0
- package/src/components/agents/AgentNavigationFooter.tsx +26 -0
- package/src/components/agents/AgentsList.tsx +440 -0
- package/src/components/agents/AgentsMenu.tsx +800 -0
- package/src/components/agents/ColorPicker.tsx +112 -0
- package/src/components/agents/ModelSelector.tsx +68 -0
- package/src/components/agents/ToolSelector.tsx +562 -0
- package/src/components/agents/agentFileUtils.ts +272 -0
- package/src/components/agents/generateAgent.ts +197 -0
- package/src/components/agents/new-agent-creation/CreateAgentWizard.tsx +97 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ColorStep.tsx +84 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx +378 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx +74 -0
- package/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx +123 -0
- package/src/components/agents/new-agent-creation/wizard-steps/GenerateStep.tsx +143 -0
- package/src/components/agents/new-agent-creation/wizard-steps/LocationStep.tsx +80 -0
- package/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.tsx +113 -0
- package/src/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx +80 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ModelStep.tsx +52 -0
- package/src/components/agents/new-agent-creation/wizard-steps/PromptStep.tsx +128 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.tsx +61 -0
- package/src/components/agents/new-agent-creation/wizard-steps/TypeStep.tsx +103 -0
- package/src/components/agents/types.ts +27 -0
- package/src/components/agents/utils.ts +18 -0
- package/src/components/agents/validateAgent.ts +109 -0
- package/src/components/design-system/Byline.tsx +77 -0
- package/src/components/design-system/Dialog.tsx +138 -0
- package/src/components/design-system/Divider.tsx +149 -0
- package/src/components/design-system/FuzzyPicker.tsx +312 -0
- package/src/components/design-system/KeyboardShortcutHint.tsx +81 -0
- package/src/components/design-system/ListItem.tsx +244 -0
- package/src/components/design-system/LoadingState.tsx +94 -0
- package/src/components/design-system/Pane.tsx +77 -0
- package/src/components/design-system/ProgressBar.tsx +86 -0
- package/src/components/design-system/Ratchet.tsx +80 -0
- package/src/components/design-system/StatusIcon.tsx +95 -0
- package/src/components/design-system/Tabs.tsx +340 -0
- package/src/components/design-system/ThemeProvider.tsx +174 -0
- package/src/components/design-system/ThemedBox.tsx +156 -0
- package/src/components/design-system/ThemedText.tsx +124 -0
- package/src/components/design-system/color.ts +30 -0
- package/src/components/diff/DiffDetailView.tsx +281 -0
- package/src/components/diff/DiffDialog.tsx +383 -0
- package/src/components/diff/DiffFileList.tsx +292 -0
- package/src/components/grove/Grove.tsx +463 -0
- package/src/components/hooks/HooksConfigMenu.tsx +578 -0
- package/src/components/hooks/PromptDialog.tsx +90 -0
- package/src/components/hooks/SelectEventMode.tsx +127 -0
- package/src/components/hooks/SelectHookMode.tsx +112 -0
- package/src/components/hooks/SelectMatcherMode.tsx +144 -0
- package/src/components/hooks/ViewHookMode.tsx +199 -0
- package/src/components/mcp/CapabilitiesSection.tsx +61 -0
- package/src/components/mcp/ElicitationDialog.tsx +1169 -0
- package/src/components/mcp/MCPAgentServerMenu.tsx +183 -0
- package/src/components/mcp/MCPListPanel.tsx +504 -0
- package/src/components/mcp/MCPReconnect.tsx +167 -0
- package/src/components/mcp/MCPRemoteServerMenu.tsx +649 -0
- package/src/components/mcp/MCPSettings.tsx +398 -0
- package/src/components/mcp/MCPStdioServerMenu.tsx +177 -0
- package/src/components/mcp/MCPToolDetailView.tsx +212 -0
- package/src/components/mcp/MCPToolListView.tsx +141 -0
- package/src/components/mcp/McpParsingWarnings.tsx +213 -0
- package/src/components/mcp/index.ts +9 -0
- package/src/components/mcp/utils/reconnectHelpers.tsx +49 -0
- package/src/components/memory/MemoryFileSelector.tsx +438 -0
- package/src/components/memory/MemoryUpdateNotification.tsx +45 -0
- package/src/components/messageActions.tsx +450 -0
- package/src/components/messages/AdvisorMessage.tsx +158 -0
- package/src/components/messages/AssistantRedactedThinkingMessage.tsx +31 -0
- package/src/components/messages/AssistantTextMessage.tsx +270 -0
- package/src/components/messages/AssistantThinkingMessage.tsx +86 -0
- package/src/components/messages/AssistantToolUseMessage.tsx +368 -0
- package/src/components/messages/AttachmentMessage.tsx +536 -0
- package/src/components/messages/CollapsedReadSearchContent.tsx +484 -0
- package/src/components/messages/CompactBoundaryMessage.tsx +18 -0
- package/src/components/messages/GroupedToolUseContent.tsx +58 -0
- package/src/components/messages/HighlightedThinkingText.tsx +162 -0
- package/src/components/messages/HookProgressMessage.tsx +116 -0
- package/src/components/messages/PlanApprovalMessage.tsx +222 -0
- package/src/components/messages/RateLimitMessage.tsx +161 -0
- package/src/components/messages/ShutdownMessage.tsx +132 -0
- package/src/components/messages/SystemAPIErrorMessage.tsx +141 -0
- package/src/components/messages/SystemTextMessage.tsx +827 -0
- package/src/components/messages/TaskAssignmentMessage.tsx +76 -0
- package/src/components/messages/UserAgentNotificationMessage.tsx +83 -0
- package/src/components/messages/UserBashInputMessage.tsx +58 -0
- package/src/components/messages/UserBashOutputMessage.tsx +54 -0
- package/src/components/messages/UserChannelMessage.tsx +137 -0
- package/src/components/messages/UserCommandMessage.tsx +108 -0
- package/src/components/messages/UserImageMessage.tsx +59 -0
- package/src/components/messages/UserLocalCommandOutputMessage.tsx +167 -0
- package/src/components/messages/UserMemoryInputMessage.tsx +75 -0
- package/src/components/messages/UserPlanMessage.tsx +42 -0
- package/src/components/messages/UserPromptMessage.tsx +80 -0
- package/src/components/messages/UserResourceUpdateMessage.tsx +121 -0
- package/src/components/messages/UserTeammateMessage.tsx +206 -0
- package/src/components/messages/UserTextMessage.tsx +275 -0
- package/src/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx +31 -0
- package/src/components/messages/UserToolResultMessage/RejectedToolUseMessage.tsx +16 -0
- package/src/components/messages/UserToolResultMessage/UserToolCanceledMessage.tsx +16 -0
- package/src/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx +103 -0
- package/src/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx +95 -0
- package/src/components/messages/UserToolResultMessage/UserToolResultMessage.tsx +106 -0
- package/src/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx +104 -0
- package/src/components/messages/UserToolResultMessage/utils.tsx +44 -0
- package/src/components/messages/nullRenderingAttachments.ts +70 -0
- package/src/components/messages/teamMemCollapsed.tsx +140 -0
- package/src/components/messages/teamMemSaved.ts +19 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx +645 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx +229 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx +328 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx +178 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx +465 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx +144 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.ts +179 -0
- package/src/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx +482 -0
- package/src/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx +147 -0
- package/src/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx +441 -0
- package/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx +122 -0
- package/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx +768 -0
- package/src/components/permissions/FallbackPermissionRequest.tsx +333 -0
- package/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx +182 -0
- package/src/components/permissions/FilePermissionDialog/FilePermissionDialog.tsx +204 -0
- package/src/components/permissions/FilePermissionDialog/ideDiffConfig.ts +42 -0
- package/src/components/permissions/FilePermissionDialog/permissionOptions.tsx +177 -0
- package/src/components/permissions/FilePermissionDialog/useFilePermissionDialog.ts +212 -0
- package/src/components/permissions/FilePermissionDialog/usePermissionHandler.ts +185 -0
- package/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx +161 -0
- package/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx +89 -0
- package/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx +115 -0
- package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx +166 -0
- package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx +235 -0
- package/src/components/permissions/PermissionDecisionDebugInfo.tsx +460 -0
- package/src/components/permissions/PermissionDialog.tsx +72 -0
- package/src/components/permissions/PermissionExplanation.tsx +272 -0
- package/src/components/permissions/PermissionPrompt.tsx +336 -0
- package/src/components/permissions/PermissionRequest.tsx +217 -0
- package/src/components/permissions/PermissionRequestTitle.tsx +66 -0
- package/src/components/permissions/PermissionRuleExplanation.tsx +121 -0
- package/src/components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx +235 -0
- package/src/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx +91 -0
- package/src/components/permissions/SandboxPermissionRequest.tsx +163 -0
- package/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx +230 -0
- package/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx +369 -0
- package/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx +258 -0
- package/src/components/permissions/WorkerBadge.tsx +49 -0
- package/src/components/permissions/WorkerPendingPermission.tsx +105 -0
- package/src/components/permissions/hooks.ts +209 -0
- package/src/components/permissions/rules/AddPermissionRules.tsx +180 -0
- package/src/components/permissions/rules/AddWorkspaceDirectory.tsx +340 -0
- package/src/components/permissions/rules/PermissionRuleDescription.tsx +76 -0
- package/src/components/permissions/rules/PermissionRuleInput.tsx +138 -0
- package/src/components/permissions/rules/PermissionRuleList.tsx +1179 -0
- package/src/components/permissions/rules/RecentDenialsTab.tsx +207 -0
- package/src/components/permissions/rules/RemoveWorkspaceDirectory.tsx +110 -0
- package/src/components/permissions/rules/WorkspaceTab.tsx +150 -0
- package/src/components/permissions/shellPermissionHelpers.tsx +164 -0
- package/src/components/permissions/useShellPermissionFeedback.ts +148 -0
- package/src/components/permissions/utils.ts +25 -0
- package/src/components/sandbox/SandboxConfigTab.tsx +45 -0
- package/src/components/sandbox/SandboxDependenciesTab.tsx +120 -0
- package/src/components/sandbox/SandboxDoctorSection.tsx +46 -0
- package/src/components/sandbox/SandboxOverridesTab.tsx +193 -0
- package/src/components/sandbox/SandboxSettings.tsx +296 -0
- package/src/components/shell/ExpandShellOutputContext.tsx +36 -0
- package/src/components/shell/OutputLine.tsx +118 -0
- package/src/components/shell/ShellProgressMessage.tsx +150 -0
- package/src/components/shell/ShellTimeDisplay.tsx +74 -0
- package/src/components/skills/SkillsMenu.tsx +237 -0
- package/src/components/tasks/AsyncAgentDetailDialog.tsx +229 -0
- package/src/components/tasks/BackgroundTask.tsx +345 -0
- package/src/components/tasks/BackgroundTaskStatus.tsx +429 -0
- package/src/components/tasks/BackgroundTasksDialog.tsx +652 -0
- package/src/components/tasks/DreamDetailDialog.tsx +251 -0
- package/src/components/tasks/InProcessTeammateDetailDialog.tsx +266 -0
- package/src/components/tasks/RemoteSessionDetailDialog.tsx +904 -0
- package/src/components/tasks/RemoteSessionProgress.tsx +243 -0
- package/src/components/tasks/ShellDetailDialog.tsx +404 -0
- package/src/components/tasks/ShellProgress.tsx +87 -0
- package/src/components/tasks/renderToolActivity.tsx +33 -0
- package/src/components/tasks/taskStatusUtils.tsx +107 -0
- package/src/components/teams/TeamStatus.tsx +80 -0
- package/src/components/teams/TeamsDialog.tsx +715 -0
- package/src/components/ui/OrderedList.tsx +71 -0
- package/src/components/ui/OrderedListItem.tsx +45 -0
- package/src/components/ui/TreeSelect.tsx +397 -0
- package/src/components/wizard/WizardDialogLayout.tsx +65 -0
- package/src/components/wizard/WizardNavigationFooter.tsx +24 -0
- package/src/components/wizard/WizardProvider.tsx +213 -0
- package/src/components/wizard/index.ts +9 -0
- package/src/components/wizard/useWizard.ts +13 -0
- package/src/constants/apiLimits.ts +94 -0
- package/src/constants/betas.ts +52 -0
- package/src/constants/common.ts +33 -0
- package/src/constants/cyberRiskInstruction.ts +24 -0
- package/src/constants/errorIds.ts +15 -0
- package/src/constants/figures.ts +45 -0
- package/src/constants/files.ts +156 -0
- package/src/constants/github-app.ts +144 -0
- package/src/constants/keys.ts +11 -0
- package/src/constants/messages.ts +1 -0
- package/src/constants/oauth.ts +234 -0
- package/src/constants/outputStyles.ts +216 -0
- package/src/constants/product.ts +76 -0
- package/src/constants/prompts.ts +914 -0
- package/src/constants/spinnerVerbs.ts +204 -0
- package/src/constants/system.ts +95 -0
- package/src/constants/systemPromptSections.ts +68 -0
- package/src/constants/toolLimits.ts +56 -0
- package/src/constants/tools.ts +112 -0
- package/src/constants/turnCompletionVerbs.ts +12 -0
- package/src/constants/xml.ts +86 -0
- package/src/context/QueuedMessageContext.tsx +63 -0
- package/src/context/fpsMetrics.tsx +30 -0
- package/src/context/mailbox.tsx +38 -0
- package/src/context/modalContext.tsx +58 -0
- package/src/context/notifications.tsx +240 -0
- package/src/context/overlayContext.tsx +151 -0
- package/src/context/promptOverlayContext.tsx +125 -0
- package/src/context/stats.tsx +220 -0
- package/src/context/voice.tsx +88 -0
- package/src/context.ts +189 -0
- package/src/coordinator/coordinatorMode.ts +369 -0
- package/src/cost-tracker.ts +323 -0
- package/src/costHook.ts +22 -0
- package/src/dialogLaunchers.tsx +133 -0
- package/src/entrypoints/agentSdkTypes.ts +443 -0
- package/src/entrypoints/cli.tsx +303 -0
- package/src/entrypoints/init.ts +340 -0
- package/src/entrypoints/mcp.ts +196 -0
- package/src/entrypoints/sandboxTypes.ts +156 -0
- package/src/entrypoints/sdk/controlSchemas.ts +663 -0
- package/src/entrypoints/sdk/coreSchemas.ts +1889 -0
- package/src/entrypoints/sdk/coreTypes.ts +62 -0
- package/src/history.ts +464 -0
- package/src/hooks/fileSuggestions.ts +811 -0
- package/src/hooks/notifs/useAutoModeUnavailableNotification.ts +56 -0
- package/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx +60 -0
- package/src/hooks/notifs/useDeprecationWarningNotification.tsx +44 -0
- package/src/hooks/notifs/useFastModeNotification.tsx +162 -0
- package/src/hooks/notifs/useIDEStatusIndicator.tsx +186 -0
- package/src/hooks/notifs/useInstallMessages.tsx +26 -0
- package/src/hooks/notifs/useLspInitializationNotification.tsx +143 -0
- package/src/hooks/notifs/useMcpConnectivityStatus.tsx +88 -0
- package/src/hooks/notifs/useModelMigrationNotifications.tsx +52 -0
- package/src/hooks/notifs/useNpmDeprecationNotification.tsx +25 -0
- package/src/hooks/notifs/usePluginAutoupdateNotification.tsx +83 -0
- package/src/hooks/notifs/usePluginInstallationStatus.tsx +128 -0
- package/src/hooks/notifs/useRateLimitWarningNotification.tsx +114 -0
- package/src/hooks/notifs/useSettingsErrors.tsx +69 -0
- package/src/hooks/notifs/useStartupNotification.ts +41 -0
- package/src/hooks/notifs/useTeammateShutdownNotification.ts +78 -0
- package/src/hooks/renderPlaceholder.ts +51 -0
- package/src/hooks/toolPermission/PermissionContext.ts +388 -0
- package/src/hooks/toolPermission/handlers/coordinatorHandler.ts +65 -0
- package/src/hooks/toolPermission/handlers/interactiveHandler.ts +536 -0
- package/src/hooks/toolPermission/handlers/swarmWorkerHandler.ts +159 -0
- package/src/hooks/toolPermission/permissionLogging.ts +238 -0
- package/src/hooks/unifiedSuggestions.ts +202 -0
- package/src/hooks/useAfterFirstRender.ts +17 -0
- package/src/hooks/useApiKeyVerification.ts +84 -0
- package/src/hooks/useArrowKeyHistory.tsx +229 -0
- package/src/hooks/useAssistantHistory.ts +250 -0
- package/src/hooks/useAwaySummary.ts +125 -0
- package/src/hooks/useBackgroundTaskNavigation.ts +251 -0
- package/src/hooks/useBlink.ts +34 -0
- package/src/hooks/useCanUseTool.tsx +204 -0
- package/src/hooks/useCancelRequest.ts +276 -0
- package/src/hooks/useChromeExtensionNotification.tsx +50 -0
- package/src/hooks/useClaudeCodeHintRecommendation.tsx +129 -0
- package/src/hooks/useClipboardImageHint.ts +77 -0
- package/src/hooks/useCommandKeybindings.tsx +108 -0
- package/src/hooks/useCommandQueue.ts +15 -0
- package/src/hooks/useCopyOnSelect.ts +98 -0
- package/src/hooks/useDeferredHookMessages.ts +46 -0
- package/src/hooks/useDiffData.ts +110 -0
- package/src/hooks/useDiffInIDE.ts +379 -0
- package/src/hooks/useDirectConnect.ts +229 -0
- package/src/hooks/useDoublePress.ts +62 -0
- package/src/hooks/useDynamicConfig.ts +22 -0
- package/src/hooks/useElapsedTime.ts +37 -0
- package/src/hooks/useExitOnCtrlCD.ts +95 -0
- package/src/hooks/useExitOnCtrlCDWithKeybindings.ts +24 -0
- package/src/hooks/useFileHistorySnapshotInit.ts +25 -0
- package/src/hooks/useGlobalKeybindings.tsx +249 -0
- package/src/hooks/useHistorySearch.ts +303 -0
- package/src/hooks/useIDEIntegration.tsx +70 -0
- package/src/hooks/useIdeAtMentioned.ts +76 -0
- package/src/hooks/useIdeConnectionStatus.ts +33 -0
- package/src/hooks/useIdeLogging.ts +41 -0
- package/src/hooks/useIdeSelection.ts +150 -0
- package/src/hooks/useInboxPoller.ts +969 -0
- package/src/hooks/useInputBuffer.ts +132 -0
- package/src/hooks/useIssueFlagBanner.ts +133 -0
- package/src/hooks/useLogMessages.ts +119 -0
- package/src/hooks/useLspPluginRecommendation.tsx +194 -0
- package/src/hooks/useMailboxBridge.ts +21 -0
- package/src/hooks/useMainLoopModel.ts +34 -0
- package/src/hooks/useManagePlugins.ts +304 -0
- package/src/hooks/useMemoryUsage.ts +39 -0
- package/src/hooks/useMergedClients.ts +23 -0
- package/src/hooks/useMergedCommands.ts +15 -0
- package/src/hooks/useMergedTools.ts +44 -0
- package/src/hooks/useMinDisplayTime.ts +35 -0
- package/src/hooks/useNotifyAfterTimeout.ts +65 -0
- package/src/hooks/useOfficialMarketplaceNotification.tsx +48 -0
- package/src/hooks/usePasteHandler.ts +285 -0
- package/src/hooks/usePluginRecommendationBase.tsx +105 -0
- package/src/hooks/usePrStatus.ts +106 -0
- package/src/hooks/usePromptSuggestion.ts +177 -0
- package/src/hooks/usePromptsFromClaudeInChrome.tsx +71 -0
- package/src/hooks/useQueueProcessor.ts +68 -0
- package/src/hooks/useRemoteSession.ts +605 -0
- package/src/hooks/useReplBridge.tsx +723 -0
- package/src/hooks/useSSHSession.ts +241 -0
- package/src/hooks/useScheduledTasks.ts +139 -0
- package/src/hooks/useSearchInput.ts +364 -0
- package/src/hooks/useSessionBackgrounding.ts +158 -0
- package/src/hooks/useSettings.ts +17 -0
- package/src/hooks/useSettingsChange.ts +25 -0
- package/src/hooks/useSkillImprovementSurvey.ts +105 -0
- package/src/hooks/useSkillsChange.ts +62 -0
- package/src/hooks/useSwarmInitialization.ts +81 -0
- package/src/hooks/useSwarmPermissionPoller.ts +330 -0
- package/src/hooks/useTaskListWatcher.ts +221 -0
- package/src/hooks/useTasksV2.ts +250 -0
- package/src/hooks/useTeammateViewAutoExit.ts +63 -0
- package/src/hooks/useTeleportResume.tsx +85 -0
- package/src/hooks/useTerminalSize.ts +15 -0
- package/src/hooks/useTextInput.ts +529 -0
- package/src/hooks/useTimeout.ts +14 -0
- package/src/hooks/useTurnDiffs.ts +213 -0
- package/src/hooks/useTypeahead.tsx +1385 -0
- package/src/hooks/useUpdateNotification.ts +34 -0
- package/src/hooks/useVimInput.ts +316 -0
- package/src/hooks/useVirtualScroll.ts +721 -0
- package/src/hooks/useVoice.ts +1144 -0
- package/src/hooks/useVoiceEnabled.ts +25 -0
- package/src/hooks/useVoiceIntegration.tsx +677 -0
- package/src/ink/Ansi.tsx +292 -0
- package/src/ink/bidi.ts +139 -0
- package/src/ink/clearTerminal.ts +74 -0
- package/src/ink/colorize.ts +231 -0
- package/src/ink/components/AlternateScreen.tsx +80 -0
- package/src/ink/components/App.tsx +659 -0
- package/src/ink/components/AppContext.ts +21 -0
- package/src/ink/components/Box.tsx +214 -0
- package/src/ink/components/Button.tsx +192 -0
- package/src/ink/components/ClockContext.tsx +112 -0
- package/src/ink/components/CursorDeclarationContext.ts +32 -0
- package/src/ink/components/ErrorOverview.tsx +109 -0
- package/src/ink/components/Link.tsx +42 -0
- package/src/ink/components/Newline.tsx +39 -0
- package/src/ink/components/NoSelect.tsx +68 -0
- package/src/ink/components/RawAnsi.tsx +57 -0
- package/src/ink/components/ScrollBox.tsx +237 -0
- package/src/ink/components/Spacer.tsx +20 -0
- package/src/ink/components/StdinContext.ts +49 -0
- package/src/ink/components/TerminalFocusContext.tsx +52 -0
- package/src/ink/components/TerminalSizeContext.tsx +7 -0
- package/src/ink/components/Text.tsx +254 -0
- package/src/ink/constants.ts +2 -0
- package/src/ink/dom.ts +484 -0
- package/src/ink/events/click-event.ts +38 -0
- package/src/ink/events/dispatcher.ts +233 -0
- package/src/ink/events/emitter.ts +39 -0
- package/src/ink/events/event-handlers.ts +73 -0
- package/src/ink/events/event.ts +11 -0
- package/src/ink/events/focus-event.ts +21 -0
- package/src/ink/events/input-event.ts +205 -0
- package/src/ink/events/keyboard-event.ts +51 -0
- package/src/ink/events/terminal-event.ts +107 -0
- package/src/ink/events/terminal-focus-event.ts +19 -0
- package/src/ink/focus.ts +181 -0
- package/src/ink/frame.ts +124 -0
- package/src/ink/get-max-width.ts +27 -0
- package/src/ink/hit-test.ts +130 -0
- package/src/ink/hooks/use-animation-frame.ts +57 -0
- package/src/ink/hooks/use-app.ts +8 -0
- package/src/ink/hooks/use-declared-cursor.ts +73 -0
- package/src/ink/hooks/use-input.ts +92 -0
- package/src/ink/hooks/use-interval.ts +67 -0
- package/src/ink/hooks/use-search-highlight.ts +53 -0
- package/src/ink/hooks/use-selection.ts +104 -0
- package/src/ink/hooks/use-stdin.ts +8 -0
- package/src/ink/hooks/use-tab-status.ts +72 -0
- package/src/ink/hooks/use-terminal-focus.ts +16 -0
- package/src/ink/hooks/use-terminal-title.ts +31 -0
- package/src/ink/hooks/use-terminal-viewport.ts +96 -0
- package/src/ink/ink.tsx +1728 -0
- package/src/ink/instances.ts +10 -0
- package/src/ink/layout/engine.ts +6 -0
- package/src/ink/layout/geometry.ts +97 -0
- package/src/ink/layout/node.ts +152 -0
- package/src/ink/layout/yoga.ts +308 -0
- package/src/ink/line-width-cache.ts +24 -0
- package/src/ink/log-update.ts +773 -0
- package/src/ink/measure-element.ts +23 -0
- package/src/ink/measure-text.ts +47 -0
- package/src/ink/node-cache.ts +54 -0
- package/src/ink/optimizer.ts +93 -0
- package/src/ink/output.ts +797 -0
- package/src/ink/parse-keypress.ts +801 -0
- package/src/ink/reconciler.ts +512 -0
- package/src/ink/render-border.ts +231 -0
- package/src/ink/render-node-to-output.ts +1462 -0
- package/src/ink/render-to-screen.ts +231 -0
- package/src/ink/renderer.ts +178 -0
- package/src/ink/root.ts +184 -0
- package/src/ink/screen.ts +1486 -0
- package/src/ink/searchHighlight.ts +93 -0
- package/src/ink/selection.ts +917 -0
- package/src/ink/squash-text-nodes.ts +92 -0
- package/src/ink/stringWidth.ts +222 -0
- package/src/ink/styles.ts +771 -0
- package/src/ink/supports-hyperlinks.ts +57 -0
- package/src/ink/tabstops.ts +46 -0
- package/src/ink/terminal-focus-state.ts +47 -0
- package/src/ink/terminal-querier.ts +212 -0
- package/src/ink/terminal.ts +248 -0
- package/src/ink/termio/ansi.ts +75 -0
- package/src/ink/termio/csi.ts +319 -0
- package/src/ink/termio/dec.ts +60 -0
- package/src/ink/termio/esc.ts +67 -0
- package/src/ink/termio/osc.ts +493 -0
- package/src/ink/termio/parser.ts +394 -0
- package/src/ink/termio/sgr.ts +308 -0
- package/src/ink/termio/tokenize.ts +319 -0
- package/src/ink/termio/types.ts +236 -0
- package/src/ink/termio.ts +42 -0
- package/src/ink/useTerminalNotification.ts +126 -0
- package/src/ink/warn.ts +9 -0
- package/src/ink/widest-line.ts +19 -0
- package/src/ink/wrap-text.ts +74 -0
- package/src/ink/wrapAnsi.ts +20 -0
- package/src/ink.ts +85 -0
- package/src/interactiveHelpers.tsx +367 -0
- package/src/keybindings/KeybindingContext.tsx +243 -0
- package/src/keybindings/KeybindingProviderSetup.tsx +308 -0
- package/src/keybindings/defaultBindings.ts +340 -0
- package/src/keybindings/loadUserBindings.ts +472 -0
- package/src/keybindings/match.ts +120 -0
- package/src/keybindings/parser.ts +203 -0
- package/src/keybindings/reservedShortcuts.ts +127 -0
- package/src/keybindings/resolver.ts +244 -0
- package/src/keybindings/schema.ts +236 -0
- package/src/keybindings/shortcutFormat.ts +63 -0
- package/src/keybindings/template.ts +52 -0
- package/src/keybindings/useKeybinding.ts +196 -0
- package/src/keybindings/useShortcutDisplay.ts +59 -0
- package/src/keybindings/validate.ts +498 -0
- package/src/main.tsx +4684 -0
- package/src/memdir/findRelevantMemories.ts +141 -0
- package/src/memdir/memdir.ts +507 -0
- package/src/memdir/memoryAge.ts +53 -0
- package/src/memdir/memoryScan.ts +94 -0
- package/src/memdir/memoryTypes.ts +271 -0
- package/src/memdir/paths.ts +278 -0
- package/src/memdir/teamMemPaths.ts +292 -0
- package/src/memdir/teamMemPrompts.ts +100 -0
- package/src/migrations/migrateAutoUpdatesToSettings.ts +61 -0
- package/src/migrations/migrateBypassPermissionsAcceptedToSettings.ts +40 -0
- package/src/migrations/migrateEnableAllProjectMcpServersToSettings.ts +118 -0
- package/src/migrations/migrateFennecToOpus.ts +45 -0
- package/src/migrations/migrateLegacyOpusToCurrent.ts +57 -0
- package/src/migrations/migrateOpusToOpus1m.ts +43 -0
- package/src/migrations/migrateReplBridgeEnabledToRemoteControlAtStartup.ts +22 -0
- package/src/migrations/migrateSonnet1mToSonnet45.ts +48 -0
- package/src/migrations/migrateSonnet45ToSonnet46.ts +67 -0
- package/src/migrations/resetAutoModeOptInForDefaultOffer.ts +51 -0
- package/src/migrations/resetProToOpusDefault.ts +51 -0
- package/src/moreright/useMoreRight.tsx +26 -0
- package/src/native-ts/color-diff/index.ts +999 -0
- package/src/native-ts/file-index/index.ts +370 -0
- package/src/native-ts/yoga-layout/enums.ts +134 -0
- package/src/native-ts/yoga-layout/index.ts +2578 -0
- package/src/outputStyles/loadOutputStylesDir.ts +98 -0
- package/src/plugins/builtinPlugins.ts +159 -0
- package/src/plugins/bundled/index.ts +23 -0
- package/src/projectOnboardingState.ts +83 -0
- package/src/query/config.ts +46 -0
- package/src/query/deps.ts +40 -0
- package/src/query/stopHooks.ts +473 -0
- package/src/query/tokenBudget.ts +93 -0
- package/src/query.ts +1729 -0
- package/src/remote/RemoteSessionManager.ts +343 -0
- package/src/remote/SessionsWebSocket.ts +404 -0
- package/src/remote/remotePermissionBridge.ts +78 -0
- package/src/remote/sdkMessageAdapter.ts +302 -0
- package/src/replLauncher.tsx +23 -0
- package/src/schemas/hooks.ts +222 -0
- package/src/screens/Doctor.tsx +575 -0
- package/src/screens/REPL.tsx +5006 -0
- package/src/screens/ResumeConversation.tsx +399 -0
- package/src/server/createDirectConnectSession.ts +88 -0
- package/src/server/directConnectManager.ts +213 -0
- package/src/server/types.ts +57 -0
- package/src/services/AgentSummary/agentSummary.ts +179 -0
- package/src/services/MagicDocs/magicDocs.ts +254 -0
- package/src/services/MagicDocs/prompts.ts +127 -0
- package/src/services/PromptSuggestion/promptSuggestion.ts +523 -0
- package/src/services/PromptSuggestion/speculation.ts +991 -0
- package/src/services/SessionMemory/prompts.ts +324 -0
- package/src/services/SessionMemory/sessionMemory.ts +495 -0
- package/src/services/SessionMemory/sessionMemoryUtils.ts +207 -0
- package/src/services/analytics/config.ts +38 -0
- package/src/services/analytics/datadog.ts +307 -0
- package/src/services/analytics/firstPartyEventLogger.ts +449 -0
- package/src/services/analytics/firstPartyEventLoggingExporter.ts +806 -0
- package/src/services/analytics/growthbook.ts +1157 -0
- package/src/services/analytics/index.ts +173 -0
- package/src/services/analytics/metadata.ts +973 -0
- package/src/services/analytics/sink.ts +114 -0
- package/src/services/analytics/sinkKillswitch.ts +25 -0
- package/src/services/api/adminRequests.ts +119 -0
- package/src/services/api/bootstrap.ts +142 -0
- package/src/services/api/claude.ts +3433 -0
- package/src/services/api/client.ts +395 -0
- package/src/services/api/dumpPrompts.ts +226 -0
- package/src/services/api/emptyUsage.ts +22 -0
- package/src/services/api/errorUtils.ts +260 -0
- package/src/services/api/errors.ts +1207 -0
- package/src/services/api/filesApi.ts +748 -0
- package/src/services/api/firstTokenDate.ts +60 -0
- package/src/services/api/grove.ts +357 -0
- package/src/services/api/logging.ts +788 -0
- package/src/services/api/metricsOptOut.ts +159 -0
- package/src/services/api/overageCreditGrant.ts +137 -0
- package/src/services/api/promptCacheBreakDetection.ts +727 -0
- package/src/services/api/referral.ts +281 -0
- package/src/services/api/sessionIngress.ts +514 -0
- package/src/services/api/ultrareviewQuota.ts +38 -0
- package/src/services/api/usage.ts +63 -0
- package/src/services/api/withRetry.ts +826 -0
- package/src/services/autoDream/autoDream.ts +324 -0
- package/src/services/autoDream/config.ts +21 -0
- package/src/services/autoDream/consolidationLock.ts +140 -0
- package/src/services/autoDream/consolidationPrompt.ts +65 -0
- package/src/services/awaySummary.ts +74 -0
- package/src/services/claudeAiLimits.ts +515 -0
- package/src/services/claudeAiLimitsHook.ts +23 -0
- package/src/services/compact/apiMicrocompact.ts +153 -0
- package/src/services/compact/autoCompact.ts +351 -0
- package/src/services/compact/compact.ts +1705 -0
- package/src/services/compact/compactWarningHook.ts +16 -0
- package/src/services/compact/compactWarningState.ts +18 -0
- package/src/services/compact/grouping.ts +63 -0
- package/src/services/compact/microCompact.ts +530 -0
- package/src/services/compact/postCompactCleanup.ts +77 -0
- package/src/services/compact/prompt.ts +374 -0
- package/src/services/compact/sessionMemoryCompact.ts +630 -0
- package/src/services/compact/timeBasedMCConfig.ts +43 -0
- package/src/services/diagnosticTracking.ts +397 -0
- package/src/services/extractMemories/extractMemories.ts +615 -0
- package/src/services/extractMemories/prompts.ts +154 -0
- package/src/services/internalLogging.ts +90 -0
- package/src/services/lsp/LSPClient.ts +447 -0
- package/src/services/lsp/LSPDiagnosticRegistry.ts +386 -0
- package/src/services/lsp/LSPServerInstance.ts +511 -0
- package/src/services/lsp/LSPServerManager.ts +420 -0
- package/src/services/lsp/config.ts +79 -0
- package/src/services/lsp/manager.ts +289 -0
- package/src/services/lsp/passiveFeedback.ts +328 -0
- package/src/services/mcp/InProcessTransport.ts +63 -0
- package/src/services/mcp/MCPConnectionManager.tsx +73 -0
- package/src/services/mcp/SdkControlTransport.ts +136 -0
- package/src/services/mcp/auth.ts +2465 -0
- package/src/services/mcp/channelAllowlist.ts +76 -0
- package/src/services/mcp/channelNotification.ts +316 -0
- package/src/services/mcp/channelPermissions.ts +240 -0
- package/src/services/mcp/claudeai.ts +164 -0
- package/src/services/mcp/client.ts +3348 -0
- package/src/services/mcp/config.ts +1578 -0
- package/src/services/mcp/elicitationHandler.ts +313 -0
- package/src/services/mcp/envExpansion.ts +38 -0
- package/src/services/mcp/headersHelper.ts +138 -0
- package/src/services/mcp/mcpStringUtils.ts +106 -0
- package/src/services/mcp/normalization.ts +23 -0
- package/src/services/mcp/oauthPort.ts +78 -0
- package/src/services/mcp/officialRegistry.ts +72 -0
- package/src/services/mcp/types.ts +258 -0
- package/src/services/mcp/useManageMCPConnections.ts +1141 -0
- package/src/services/mcp/utils.ts +575 -0
- package/src/services/mcp/vscodeSdkMcp.ts +112 -0
- package/src/services/mcp/xaa.ts +511 -0
- package/src/services/mcp/xaaIdpLogin.ts +487 -0
- package/src/services/mcpServerApproval.tsx +41 -0
- package/src/services/mockRateLimits.ts +882 -0
- package/src/services/notifier.ts +156 -0
- package/src/services/oauth/auth-code-listener.ts +211 -0
- package/src/services/oauth/client.ts +566 -0
- package/src/services/oauth/crypto.ts +23 -0
- package/src/services/oauth/getOauthProfile.ts +53 -0
- package/src/services/oauth/index.ts +198 -0
- package/src/services/plugins/PluginInstallationManager.ts +184 -0
- package/src/services/plugins/pluginCliCommands.ts +344 -0
- package/src/services/plugins/pluginOperations.ts +1088 -0
- package/src/services/policyLimits/index.ts +664 -0
- package/src/services/policyLimits/types.ts +27 -0
- package/src/services/preventSleep.ts +165 -0
- package/src/services/rateLimitMessages.ts +344 -0
- package/src/services/rateLimitMocking.ts +144 -0
- package/src/services/remoteManagedSettings/index.ts +639 -0
- package/src/services/remoteManagedSettings/securityCheck.tsx +74 -0
- package/src/services/remoteManagedSettings/syncCache.ts +112 -0
- package/src/services/remoteManagedSettings/syncCacheState.ts +96 -0
- package/src/services/remoteManagedSettings/types.ts +31 -0
- package/src/services/settingsSync/index.ts +581 -0
- package/src/services/settingsSync/types.ts +67 -0
- package/src/services/teamMemorySync/index.ts +1256 -0
- package/src/services/teamMemorySync/secretScanner.ts +324 -0
- package/src/services/teamMemorySync/teamMemSecretGuard.ts +44 -0
- package/src/services/teamMemorySync/types.ts +156 -0
- package/src/services/teamMemorySync/watcher.ts +387 -0
- package/src/services/tips/tipHistory.ts +17 -0
- package/src/services/tips/tipRegistry.ts +686 -0
- package/src/services/tips/tipScheduler.ts +58 -0
- package/src/services/tokenEstimation.ts +495 -0
- package/src/services/toolUseSummary/toolUseSummaryGenerator.ts +112 -0
- package/src/services/tools/StreamingToolExecutor.ts +530 -0
- package/src/services/tools/toolExecution.ts +1745 -0
- package/src/services/tools/toolHooks.ts +650 -0
- package/src/services/tools/toolOrchestration.ts +188 -0
- package/src/services/vcr.ts +406 -0
- package/src/services/voice.ts +525 -0
- package/src/services/voiceKeyterms.ts +106 -0
- package/src/services/voiceStreamSTT.ts +544 -0
- package/src/setup.ts +477 -0
- package/src/skills/bundled/batch.ts +124 -0
- package/src/skills/bundled/claudeApi.ts +196 -0
- package/src/skills/bundled/claudeApiContent.ts +75 -0
- package/src/skills/bundled/claudeInChrome.ts +34 -0
- package/src/skills/bundled/debug.ts +103 -0
- package/src/skills/bundled/index.ts +79 -0
- package/src/skills/bundled/keybindings.ts +339 -0
- package/src/skills/bundled/loop.ts +92 -0
- package/src/skills/bundled/loremIpsum.ts +282 -0
- package/src/skills/bundled/remember.ts +82 -0
- package/src/skills/bundled/scheduleRemoteAgents.ts +447 -0
- package/src/skills/bundled/simplify.ts +69 -0
- package/src/skills/bundled/skillify.ts +197 -0
- package/src/skills/bundled/stuck.ts +79 -0
- package/src/skills/bundled/updateConfig.ts +475 -0
- package/src/skills/bundled/verify.ts +30 -0
- package/src/skills/bundled/verifyContent.ts +13 -0
- package/src/skills/bundledSkills.ts +220 -0
- package/src/skills/loadSkillsDir.ts +1086 -0
- package/src/skills/mcpSkillBuilders.ts +44 -0
- package/src/state/AppState.tsx +200 -0
- package/src/state/AppStateStore.ts +569 -0
- package/src/state/onChangeAppState.ts +171 -0
- package/src/state/selectors.ts +76 -0
- package/src/state/store.ts +34 -0
- package/src/state/teammateViewHelpers.ts +141 -0
- package/src/tasks/DreamTask/DreamTask.ts +157 -0
- package/src/tasks/InProcessTeammateTask/InProcessTeammateTask.tsx +126 -0
- package/src/tasks/InProcessTeammateTask/types.ts +121 -0
- package/src/tasks/LocalAgentTask/LocalAgentTask.tsx +683 -0
- package/src/tasks/LocalMainSessionTask.ts +479 -0
- package/src/tasks/LocalShellTask/LocalShellTask.tsx +523 -0
- package/src/tasks/LocalShellTask/guards.ts +41 -0
- package/src/tasks/LocalShellTask/killShellTasks.ts +76 -0
- package/src/tasks/RemoteAgentTask/RemoteAgentTask.tsx +856 -0
- package/src/tasks/pillLabel.ts +82 -0
- package/src/tasks/stopTask.ts +100 -0
- package/src/tasks/types.ts +46 -0
- package/src/tasks.ts +39 -0
- package/src/tools/AgentTool/AgentTool.tsx +1398 -0
- package/src/tools/AgentTool/UI.tsx +872 -0
- package/src/tools/AgentTool/agentColorManager.ts +66 -0
- package/src/tools/AgentTool/agentDisplay.ts +104 -0
- package/src/tools/AgentTool/agentMemory.ts +177 -0
- package/src/tools/AgentTool/agentMemorySnapshot.ts +197 -0
- package/src/tools/AgentTool/agentToolUtils.ts +686 -0
- package/src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts +205 -0
- package/src/tools/AgentTool/built-in/exploreAgent.ts +83 -0
- package/src/tools/AgentTool/built-in/generalPurposeAgent.ts +34 -0
- package/src/tools/AgentTool/built-in/planAgent.ts +92 -0
- package/src/tools/AgentTool/built-in/statuslineSetup.ts +144 -0
- package/src/tools/AgentTool/built-in/verificationAgent.ts +152 -0
- package/src/tools/AgentTool/builtInAgents.ts +72 -0
- package/src/tools/AgentTool/constants.ts +12 -0
- package/src/tools/AgentTool/forkSubagent.ts +210 -0
- package/src/tools/AgentTool/loadAgentsDir.ts +755 -0
- package/src/tools/AgentTool/prompt.ts +287 -0
- package/src/tools/AgentTool/resumeAgent.ts +265 -0
- package/src/tools/AgentTool/runAgent.ts +973 -0
- package/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx +266 -0
- package/src/tools/AskUserQuestionTool/prompt.ts +44 -0
- package/src/tools/BashTool/BashTool.tsx +1144 -0
- package/src/tools/BashTool/BashToolResultMessage.tsx +191 -0
- package/src/tools/BashTool/UI.tsx +185 -0
- package/src/tools/BashTool/bashCommandHelpers.ts +265 -0
- package/src/tools/BashTool/bashPermissions.ts +2621 -0
- package/src/tools/BashTool/bashSecurity.ts +2592 -0
- package/src/tools/BashTool/commandSemantics.ts +140 -0
- package/src/tools/BashTool/commentLabel.ts +13 -0
- package/src/tools/BashTool/destructiveCommandWarning.ts +102 -0
- package/src/tools/BashTool/modeValidation.ts +115 -0
- package/src/tools/BashTool/pathValidation.ts +1303 -0
- package/src/tools/BashTool/prompt.ts +369 -0
- package/src/tools/BashTool/readOnlyValidation.ts +1990 -0
- package/src/tools/BashTool/sedEditParser.ts +322 -0
- package/src/tools/BashTool/sedValidation.ts +684 -0
- package/src/tools/BashTool/shouldUseSandbox.ts +153 -0
- package/src/tools/BashTool/toolName.ts +2 -0
- package/src/tools/BashTool/utils.ts +223 -0
- package/src/tools/BriefTool/BriefTool.ts +204 -0
- package/src/tools/BriefTool/UI.tsx +101 -0
- package/src/tools/BriefTool/attachments.ts +110 -0
- package/src/tools/BriefTool/prompt.ts +22 -0
- package/src/tools/BriefTool/upload.ts +174 -0
- package/src/tools/ConfigTool/ConfigTool.ts +467 -0
- package/src/tools/ConfigTool/UI.tsx +38 -0
- package/src/tools/ConfigTool/constants.ts +1 -0
- package/src/tools/ConfigTool/prompt.ts +93 -0
- package/src/tools/ConfigTool/supportedSettings.ts +211 -0
- package/src/tools/EnterPlanModeTool/EnterPlanModeTool.ts +126 -0
- package/src/tools/EnterPlanModeTool/UI.tsx +33 -0
- package/src/tools/EnterPlanModeTool/constants.ts +1 -0
- package/src/tools/EnterPlanModeTool/prompt.ts +170 -0
- package/src/tools/EnterWorktreeTool/EnterWorktreeTool.ts +127 -0
- package/src/tools/EnterWorktreeTool/UI.tsx +20 -0
- package/src/tools/EnterWorktreeTool/constants.ts +1 -0
- package/src/tools/EnterWorktreeTool/prompt.ts +30 -0
- package/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts +493 -0
- package/src/tools/ExitPlanModeTool/UI.tsx +82 -0
- package/src/tools/ExitPlanModeTool/constants.ts +2 -0
- package/src/tools/ExitPlanModeTool/prompt.ts +29 -0
- package/src/tools/ExitWorktreeTool/ExitWorktreeTool.ts +329 -0
- package/src/tools/ExitWorktreeTool/UI.tsx +25 -0
- package/src/tools/ExitWorktreeTool/constants.ts +1 -0
- package/src/tools/ExitWorktreeTool/prompt.ts +32 -0
- package/src/tools/FileEditTool/FileEditTool.ts +625 -0
- package/src/tools/FileEditTool/UI.tsx +289 -0
- package/src/tools/FileEditTool/constants.ts +11 -0
- package/src/tools/FileEditTool/prompt.ts +28 -0
- package/src/tools/FileEditTool/types.ts +85 -0
- package/src/tools/FileEditTool/utils.ts +775 -0
- package/src/tools/FileReadTool/FileReadTool.ts +1183 -0
- package/src/tools/FileReadTool/UI.tsx +185 -0
- package/src/tools/FileReadTool/imageProcessor.ts +94 -0
- package/src/tools/FileReadTool/limits.ts +92 -0
- package/src/tools/FileReadTool/prompt.ts +49 -0
- package/src/tools/FileWriteTool/FileWriteTool.ts +434 -0
- package/src/tools/FileWriteTool/UI.tsx +405 -0
- package/src/tools/FileWriteTool/prompt.ts +18 -0
- package/src/tools/GlobTool/GlobTool.ts +198 -0
- package/src/tools/GlobTool/UI.tsx +63 -0
- package/src/tools/GlobTool/prompt.ts +7 -0
- package/src/tools/GrepTool/GrepTool.ts +577 -0
- package/src/tools/GrepTool/UI.tsx +201 -0
- package/src/tools/GrepTool/prompt.ts +18 -0
- package/src/tools/LSPTool/LSPTool.ts +860 -0
- package/src/tools/LSPTool/UI.tsx +228 -0
- package/src/tools/LSPTool/formatters.ts +592 -0
- package/src/tools/LSPTool/prompt.ts +21 -0
- package/src/tools/LSPTool/schemas.ts +215 -0
- package/src/tools/LSPTool/symbolContext.ts +90 -0
- package/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts +123 -0
- package/src/tools/ListMcpResourcesTool/UI.tsx +29 -0
- package/src/tools/ListMcpResourcesTool/prompt.ts +20 -0
- package/src/tools/MCPTool/MCPTool.ts +77 -0
- package/src/tools/MCPTool/UI.tsx +403 -0
- package/src/tools/MCPTool/classifyForCollapse.ts +604 -0
- package/src/tools/MCPTool/prompt.ts +3 -0
- package/src/tools/McpAuthTool/McpAuthTool.ts +215 -0
- package/src/tools/NotebookEditTool/NotebookEditTool.ts +490 -0
- package/src/tools/NotebookEditTool/UI.tsx +93 -0
- package/src/tools/NotebookEditTool/constants.ts +2 -0
- package/src/tools/NotebookEditTool/prompt.ts +3 -0
- package/src/tools/PowerShellTool/PowerShellTool.tsx +1001 -0
- package/src/tools/PowerShellTool/UI.tsx +131 -0
- package/src/tools/PowerShellTool/clmTypes.ts +211 -0
- package/src/tools/PowerShellTool/commandSemantics.ts +142 -0
- package/src/tools/PowerShellTool/commonParameters.ts +30 -0
- package/src/tools/PowerShellTool/destructiveCommandWarning.ts +109 -0
- package/src/tools/PowerShellTool/gitSafety.ts +176 -0
- package/src/tools/PowerShellTool/modeValidation.ts +404 -0
- package/src/tools/PowerShellTool/pathValidation.ts +2049 -0
- package/src/tools/PowerShellTool/powershellPermissions.ts +1648 -0
- package/src/tools/PowerShellTool/powershellSecurity.ts +1090 -0
- package/src/tools/PowerShellTool/prompt.ts +145 -0
- package/src/tools/PowerShellTool/readOnlyValidation.ts +1823 -0
- package/src/tools/PowerShellTool/toolName.ts +2 -0
- package/src/tools/REPLTool/constants.ts +46 -0
- package/src/tools/REPLTool/primitiveTools.ts +39 -0
- package/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts +158 -0
- package/src/tools/ReadMcpResourceTool/UI.tsx +37 -0
- package/src/tools/ReadMcpResourceTool/prompt.ts +16 -0
- package/src/tools/RemoteTriggerTool/RemoteTriggerTool.ts +161 -0
- package/src/tools/RemoteTriggerTool/UI.tsx +17 -0
- package/src/tools/RemoteTriggerTool/prompt.ts +15 -0
- package/src/tools/ScheduleCronTool/CronCreateTool.ts +157 -0
- package/src/tools/ScheduleCronTool/CronDeleteTool.ts +95 -0
- package/src/tools/ScheduleCronTool/CronListTool.ts +97 -0
- package/src/tools/ScheduleCronTool/UI.tsx +60 -0
- package/src/tools/ScheduleCronTool/prompt.ts +135 -0
- package/src/tools/SendMessageTool/SendMessageTool.ts +917 -0
- package/src/tools/SendMessageTool/UI.tsx +31 -0
- package/src/tools/SendMessageTool/constants.ts +1 -0
- package/src/tools/SendMessageTool/prompt.ts +49 -0
- package/src/tools/SkillTool/SkillTool.ts +1108 -0
- package/src/tools/SkillTool/UI.tsx +128 -0
- package/src/tools/SkillTool/constants.ts +1 -0
- package/src/tools/SkillTool/prompt.ts +241 -0
- package/src/tools/SleepTool/prompt.ts +17 -0
- package/src/tools/SyntheticOutputTool/SyntheticOutputTool.ts +163 -0
- package/src/tools/TaskCreateTool/TaskCreateTool.ts +138 -0
- package/src/tools/TaskCreateTool/constants.ts +1 -0
- package/src/tools/TaskCreateTool/prompt.ts +56 -0
- package/src/tools/TaskGetTool/TaskGetTool.ts +128 -0
- package/src/tools/TaskGetTool/constants.ts +1 -0
- package/src/tools/TaskGetTool/prompt.ts +24 -0
- package/src/tools/TaskListTool/TaskListTool.ts +116 -0
- package/src/tools/TaskListTool/constants.ts +1 -0
- package/src/tools/TaskListTool/prompt.ts +49 -0
- package/src/tools/TaskOutputTool/TaskOutputTool.tsx +584 -0
- package/src/tools/TaskOutputTool/constants.ts +1 -0
- package/src/tools/TaskStopTool/TaskStopTool.ts +131 -0
- package/src/tools/TaskStopTool/UI.tsx +41 -0
- package/src/tools/TaskStopTool/prompt.ts +8 -0
- package/src/tools/TaskUpdateTool/TaskUpdateTool.ts +406 -0
- package/src/tools/TaskUpdateTool/constants.ts +1 -0
- package/src/tools/TaskUpdateTool/prompt.ts +77 -0
- package/src/tools/TeamCreateTool/TeamCreateTool.ts +240 -0
- package/src/tools/TeamCreateTool/UI.tsx +6 -0
- package/src/tools/TeamCreateTool/constants.ts +1 -0
- package/src/tools/TeamCreateTool/prompt.ts +113 -0
- package/src/tools/TeamDeleteTool/TeamDeleteTool.ts +139 -0
- package/src/tools/TeamDeleteTool/UI.tsx +20 -0
- package/src/tools/TeamDeleteTool/constants.ts +1 -0
- package/src/tools/TeamDeleteTool/prompt.ts +16 -0
- package/src/tools/TodoWriteTool/TodoWriteTool.ts +115 -0
- package/src/tools/TodoWriteTool/constants.ts +1 -0
- package/src/tools/TodoWriteTool/prompt.ts +184 -0
- package/src/tools/ToolSearchTool/ToolSearchTool.ts +471 -0
- package/src/tools/ToolSearchTool/constants.ts +1 -0
- package/src/tools/ToolSearchTool/prompt.ts +121 -0
- package/src/tools/TungstenTool/TungstenTool.js +2 -0
- package/src/tools/TungstenTool/TungstenTool.ts +1 -0
- package/src/tools/WebFetchTool/UI.tsx +72 -0
- package/src/tools/WebFetchTool/WebFetchTool.ts +318 -0
- package/src/tools/WebFetchTool/preapproved.ts +166 -0
- package/src/tools/WebFetchTool/prompt.ts +46 -0
- package/src/tools/WebFetchTool/utils.ts +530 -0
- package/src/tools/WebSearchTool/UI.tsx +101 -0
- package/src/tools/WebSearchTool/WebSearchTool.ts +435 -0
- package/src/tools/WebSearchTool/prompt.ts +34 -0
- package/src/tools/shared/gitOperationTracking.ts +277 -0
- package/src/tools/shared/spawnMultiAgent.ts +1093 -0
- package/src/tools/testing/TestingPermissionTool.tsx +74 -0
- package/src/tools/utils.ts +40 -0
- package/src/tools.ts +389 -0
- package/src/types/command.ts +216 -0
- package/src/types/connectorText.js +5 -0
- package/src/types/connectorText.ts +1 -0
- package/src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.ts +865 -0
- package/src/types/generated/events_mono/common/v1/auth.ts +100 -0
- package/src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.ts +223 -0
- package/src/types/generated/google/protobuf/timestamp.ts +187 -0
- package/src/types/hooks.ts +290 -0
- package/src/types/ids.ts +44 -0
- package/src/types/logs.ts +330 -0
- package/src/types/permissions.ts +441 -0
- package/src/types/plugin.ts +363 -0
- package/src/types/textInputTypes.ts +387 -0
- package/src/upstreamproxy/relay.ts +455 -0
- package/src/upstreamproxy/upstreamproxy.ts +285 -0
- package/src/utils/CircularBuffer.ts +84 -0
- package/src/utils/Cursor.ts +1530 -0
- package/src/utils/QueryGuard.ts +121 -0
- package/src/utils/Shell.ts +474 -0
- package/src/utils/ShellCommand.ts +465 -0
- package/src/utils/abortController.ts +99 -0
- package/src/utils/activityManager.ts +164 -0
- package/src/utils/advisor.ts +145 -0
- package/src/utils/agentContext.ts +178 -0
- package/src/utils/agentId.ts +99 -0
- package/src/utils/agentSwarmsEnabled.ts +44 -0
- package/src/utils/agenticSessionSearch.ts +307 -0
- package/src/utils/analyzeContext.ts +1382 -0
- package/src/utils/ansiToPng.ts +334 -0
- package/src/utils/ansiToSvg.ts +272 -0
- package/src/utils/api.ts +718 -0
- package/src/utils/apiPreconnect.ts +72 -0
- package/src/utils/appleTerminalBackup.ts +124 -0
- package/src/utils/argumentSubstitution.ts +145 -0
- package/src/utils/array.ts +13 -0
- package/src/utils/asciicast.ts +239 -0
- package/src/utils/attachments.ts +3997 -0
- package/src/utils/attribution.ts +393 -0
- package/src/utils/auth.ts +2007 -0
- package/src/utils/authFileDescriptor.ts +196 -0
- package/src/utils/authPortable.ts +19 -0
- package/src/utils/autoModeDenials.ts +26 -0
- package/src/utils/autoRunIssue.tsx +122 -0
- package/src/utils/autoUpdater.ts +562 -0
- package/src/utils/aws.ts +74 -0
- package/src/utils/awsAuthStatusManager.ts +81 -0
- package/src/utils/background/remote/preconditions.ts +235 -0
- package/src/utils/background/remote/remoteSession.ts +98 -0
- package/src/utils/backgroundHousekeeping.ts +94 -0
- package/src/utils/bash/ParsedCommand.ts +318 -0
- package/src/utils/bash/ShellSnapshot.ts +582 -0
- package/src/utils/bash/ast.ts +2679 -0
- package/src/utils/bash/bashParser.ts +4436 -0
- package/src/utils/bash/bashPipeCommand.ts +294 -0
- package/src/utils/bash/commands.ts +1339 -0
- package/src/utils/bash/heredoc.ts +733 -0
- package/src/utils/bash/parser.ts +230 -0
- package/src/utils/bash/prefix.ts +204 -0
- package/src/utils/bash/registry.ts +53 -0
- package/src/utils/bash/shellCompletion.ts +259 -0
- package/src/utils/bash/shellPrefix.ts +28 -0
- package/src/utils/bash/shellQuote.ts +304 -0
- package/src/utils/bash/shellQuoting.ts +128 -0
- package/src/utils/bash/specs/alias.ts +14 -0
- package/src/utils/bash/specs/index.ts +18 -0
- package/src/utils/bash/specs/nohup.ts +13 -0
- package/src/utils/bash/specs/pyright.ts +91 -0
- package/src/utils/bash/specs/sleep.ts +13 -0
- package/src/utils/bash/specs/srun.ts +31 -0
- package/src/utils/bash/specs/time.ts +13 -0
- package/src/utils/bash/specs/timeout.ts +20 -0
- package/src/utils/bash/treeSitterAnalysis.ts +506 -0
- package/src/utils/betas.ts +438 -0
- package/src/utils/billing.ts +78 -0
- package/src/utils/binaryCheck.ts +53 -0
- package/src/utils/browser.ts +68 -0
- package/src/utils/bufferedWriter.ts +100 -0
- package/src/utils/bundledMode.ts +22 -0
- package/src/utils/caCerts.ts +115 -0
- package/src/utils/caCertsConfig.ts +88 -0
- package/src/utils/cachePaths.ts +38 -0
- package/src/utils/classifierApprovals.ts +88 -0
- package/src/utils/classifierApprovalsHook.ts +17 -0
- package/src/utils/claudeCodeHints.ts +193 -0
- package/src/utils/claudeDesktop.ts +152 -0
- package/src/utils/claudeInChrome/chromeNativeHost.ts +527 -0
- package/src/utils/claudeInChrome/common.ts +540 -0
- package/src/utils/claudeInChrome/mcpServer.ts +293 -0
- package/src/utils/claudeInChrome/prompt.ts +83 -0
- package/src/utils/claudeInChrome/setup.ts +400 -0
- package/src/utils/claudeInChrome/setupPortable.ts +233 -0
- package/src/utils/claudeInChrome/toolRendering.tsx +262 -0
- package/src/utils/claudemd.ts +1479 -0
- package/src/utils/cleanup.ts +602 -0
- package/src/utils/cleanupRegistry.ts +25 -0
- package/src/utils/cliArgs.ts +60 -0
- package/src/utils/cliHighlight.ts +54 -0
- package/src/utils/codeIndexing.ts +206 -0
- package/src/utils/collapseBackgroundBashNotifications.ts +84 -0
- package/src/utils/collapseHookSummaries.ts +59 -0
- package/src/utils/collapseReadSearch.ts +1109 -0
- package/src/utils/collapseTeammateShutdowns.ts +55 -0
- package/src/utils/combinedAbortSignal.ts +47 -0
- package/src/utils/commandLifecycle.ts +21 -0
- package/src/utils/commitAttribution.ts +961 -0
- package/src/utils/completionCache.ts +166 -0
- package/src/utils/computerUse/appNames.ts +196 -0
- package/src/utils/computerUse/cleanup.ts +86 -0
- package/src/utils/computerUse/common.ts +61 -0
- package/src/utils/computerUse/computerUseLock.ts +215 -0
- package/src/utils/computerUse/drainRunLoop.ts +79 -0
- package/src/utils/computerUse/escHotkey.ts +54 -0
- package/src/utils/computerUse/executor.ts +658 -0
- package/src/utils/computerUse/gates.ts +72 -0
- package/src/utils/computerUse/hostAdapter.ts +69 -0
- package/src/utils/computerUse/inputLoader.ts +30 -0
- package/src/utils/computerUse/mcpServer.ts +106 -0
- package/src/utils/computerUse/setup.ts +53 -0
- package/src/utils/computerUse/swiftLoader.ts +23 -0
- package/src/utils/computerUse/toolRendering.tsx +125 -0
- package/src/utils/computerUse/wrapper.tsx +336 -0
- package/src/utils/concurrentSessions.ts +204 -0
- package/src/utils/config.ts +1817 -0
- package/src/utils/configConstants.ts +21 -0
- package/src/utils/contentArray.ts +51 -0
- package/src/utils/context.ts +221 -0
- package/src/utils/contextAnalysis.ts +272 -0
- package/src/utils/contextSuggestions.ts +235 -0
- package/src/utils/controlMessageCompat.ts +32 -0
- package/src/utils/conversationRecovery.ts +597 -0
- package/src/utils/cron.ts +308 -0
- package/src/utils/cronJitterConfig.ts +75 -0
- package/src/utils/cronScheduler.ts +565 -0
- package/src/utils/cronTasks.ts +458 -0
- package/src/utils/cronTasksLock.ts +195 -0
- package/src/utils/crossProjectResume.ts +75 -0
- package/src/utils/crypto.ts +13 -0
- package/src/utils/cwd.ts +32 -0
- package/src/utils/debug.ts +268 -0
- package/src/utils/debugFilter.ts +157 -0
- package/src/utils/deepLink/banner.ts +123 -0
- package/src/utils/deepLink/parseDeepLink.ts +170 -0
- package/src/utils/deepLink/protocolHandler.ts +136 -0
- package/src/utils/deepLink/registerProtocol.ts +348 -0
- package/src/utils/deepLink/terminalLauncher.ts +557 -0
- package/src/utils/deepLink/terminalPreference.ts +54 -0
- package/src/utils/desktopDeepLink.ts +236 -0
- package/src/utils/detectRepository.ts +178 -0
- package/src/utils/diagLogs.ts +94 -0
- package/src/utils/diff.ts +177 -0
- package/src/utils/directMemberMessage.ts +69 -0
- package/src/utils/displayTags.ts +51 -0
- package/src/utils/doctorContextWarnings.ts +265 -0
- package/src/utils/doctorDiagnostic.ts +625 -0
- package/src/utils/dxt/helpers.ts +88 -0
- package/src/utils/dxt/zip.ts +226 -0
- package/src/utils/earlyInput.ts +191 -0
- package/src/utils/editor.ts +183 -0
- package/src/utils/effort.ts +329 -0
- package/src/utils/embeddedTools.ts +29 -0
- package/src/utils/env.ts +347 -0
- package/src/utils/envDynamic.ts +151 -0
- package/src/utils/envUtils.ts +183 -0
- package/src/utils/envValidation.ts +38 -0
- package/src/utils/errorLogSink.ts +235 -0
- package/src/utils/errors.ts +238 -0
- package/src/utils/exampleCommands.ts +184 -0
- package/src/utils/execFileNoThrow.ts +150 -0
- package/src/utils/execFileNoThrowPortable.ts +89 -0
- package/src/utils/execSyncWrapper.ts +38 -0
- package/src/utils/exportRenderer.tsx +98 -0
- package/src/utils/extraUsage.ts +23 -0
- package/src/utils/fastMode.ts +532 -0
- package/src/utils/file.ts +584 -0
- package/src/utils/fileHistory.ts +1115 -0
- package/src/utils/fileOperationAnalytics.ts +71 -0
- package/src/utils/filePersistence/filePersistence.ts +287 -0
- package/src/utils/filePersistence/outputsScanner.ts +126 -0
- package/src/utils/fileRead.ts +102 -0
- package/src/utils/fileReadCache.ts +96 -0
- package/src/utils/fileStateCache.ts +142 -0
- package/src/utils/findExecutable.ts +17 -0
- package/src/utils/fingerprint.ts +76 -0
- package/src/utils/forkedAgent.ts +689 -0
- package/src/utils/format.ts +308 -0
- package/src/utils/formatBriefTimestamp.ts +81 -0
- package/src/utils/fpsTracker.ts +47 -0
- package/src/utils/frontmatterParser.ts +370 -0
- package/src/utils/fsOperations.ts +770 -0
- package/src/utils/fullscreen.ts +202 -0
- package/src/utils/generatedFiles.ts +136 -0
- package/src/utils/generators.ts +88 -0
- package/src/utils/genericProcessUtils.ts +184 -0
- package/src/utils/getWorktreePaths.ts +70 -0
- package/src/utils/getWorktreePathsPortable.ts +27 -0
- package/src/utils/ghPrStatus.ts +106 -0
- package/src/utils/git/gitConfigParser.ts +277 -0
- package/src/utils/git/gitFilesystem.ts +699 -0
- package/src/utils/git/gitignore.ts +99 -0
- package/src/utils/git.ts +926 -0
- package/src/utils/gitDiff.ts +532 -0
- package/src/utils/gitSettings.ts +18 -0
- package/src/utils/github/ghAuthStatus.ts +29 -0
- package/src/utils/githubRepoPathMapping.ts +162 -0
- package/src/utils/glob.ts +130 -0
- package/src/utils/gracefulShutdown.ts +529 -0
- package/src/utils/groupToolUses.ts +182 -0
- package/src/utils/handlePromptSubmit.ts +610 -0
- package/src/utils/hash.ts +46 -0
- package/src/utils/headlessProfiler.ts +178 -0
- package/src/utils/heapDumpService.ts +303 -0
- package/src/utils/heatmap.ts +198 -0
- package/src/utils/highlightMatch.tsx +28 -0
- package/src/utils/hooks/AsyncHookRegistry.ts +309 -0
- package/src/utils/hooks/apiQueryHookHelper.ts +141 -0
- package/src/utils/hooks/execAgentHook.ts +339 -0
- package/src/utils/hooks/execHttpHook.ts +242 -0
- package/src/utils/hooks/execPromptHook.ts +211 -0
- package/src/utils/hooks/fileChangedWatcher.ts +191 -0
- package/src/utils/hooks/hookEvents.ts +192 -0
- package/src/utils/hooks/hookHelpers.ts +83 -0
- package/src/utils/hooks/hooksConfigManager.ts +400 -0
- package/src/utils/hooks/hooksConfigSnapshot.ts +133 -0
- package/src/utils/hooks/hooksSettings.ts +271 -0
- package/src/utils/hooks/postSamplingHooks.ts +70 -0
- package/src/utils/hooks/registerFrontmatterHooks.ts +67 -0
- package/src/utils/hooks/registerSkillHooks.ts +64 -0
- package/src/utils/hooks/sessionHooks.ts +447 -0
- package/src/utils/hooks/skillImprovement.ts +267 -0
- package/src/utils/hooks/ssrfGuard.ts +294 -0
- package/src/utils/hooks.ts +5022 -0
- package/src/utils/horizontalScroll.ts +137 -0
- package/src/utils/http.ts +136 -0
- package/src/utils/hyperlink.ts +39 -0
- package/src/utils/iTermBackup.ts +73 -0
- package/src/utils/ide.ts +1494 -0
- package/src/utils/idePathConversion.ts +90 -0
- package/src/utils/idleTimeout.ts +53 -0
- package/src/utils/imagePaste.ts +416 -0
- package/src/utils/imageResizer.ts +880 -0
- package/src/utils/imageStore.ts +167 -0
- package/src/utils/imageValidation.ts +104 -0
- package/src/utils/immediateCommand.ts +15 -0
- package/src/utils/inProcessTeammateHelpers.ts +102 -0
- package/src/utils/ink.ts +26 -0
- package/src/utils/intl.ts +94 -0
- package/src/utils/jetbrains.ts +191 -0
- package/src/utils/json.ts +277 -0
- package/src/utils/jsonRead.ts +16 -0
- package/src/utils/keyboardShortcuts.ts +14 -0
- package/src/utils/lazySchema.ts +8 -0
- package/src/utils/listSessionsImpl.ts +454 -0
- package/src/utils/localInstaller.ts +162 -0
- package/src/utils/lockfile.ts +43 -0
- package/src/utils/log.ts +362 -0
- package/src/utils/logoV2Utils.ts +350 -0
- package/src/utils/mailbox.ts +73 -0
- package/src/utils/managedEnv.ts +199 -0
- package/src/utils/managedEnvConstants.ts +191 -0
- package/src/utils/markdown.ts +381 -0
- package/src/utils/markdownConfigLoader.ts +600 -0
- package/src/utils/mcp/dateTimeParser.ts +121 -0
- package/src/utils/mcp/elicitationValidation.ts +336 -0
- package/src/utils/mcpInstructionsDelta.ts +130 -0
- package/src/utils/mcpOutputStorage.ts +189 -0
- package/src/utils/mcpValidation.ts +208 -0
- package/src/utils/mcpWebSocketTransport.ts +200 -0
- package/src/utils/memoize.ts +269 -0
- package/src/utils/memory/types.ts +12 -0
- package/src/utils/memory/versions.ts +8 -0
- package/src/utils/memoryFileDetection.ts +289 -0
- package/src/utils/messagePredicates.ts +8 -0
- package/src/utils/messageQueueManager.ts +547 -0
- package/src/utils/messages/mappers.ts +290 -0
- package/src/utils/messages/systemInit.ts +96 -0
- package/src/utils/messages.ts +5512 -0
- package/src/utils/model/agent.ts +157 -0
- package/src/utils/model/aliases.ts +25 -0
- package/src/utils/model/antModels.ts +64 -0
- package/src/utils/model/bedrock.ts +265 -0
- package/src/utils/model/check1mAccess.ts +72 -0
- package/src/utils/model/configs.ts +118 -0
- package/src/utils/model/contextWindowUpgradeCheck.ts +47 -0
- package/src/utils/model/deprecation.ts +101 -0
- package/src/utils/model/model.ts +634 -0
- package/src/utils/model/modelAllowlist.ts +170 -0
- package/src/utils/model/modelCapabilities.ts +118 -0
- package/src/utils/model/modelOptions.ts +540 -0
- package/src/utils/model/modelStrings.ts +166 -0
- package/src/utils/model/modelSupportOverrides.ts +50 -0
- package/src/utils/model/providers.ts +46 -0
- package/src/utils/model/validateModel.ts +159 -0
- package/src/utils/modelCost.ts +235 -0
- package/src/utils/modifiers.ts +36 -0
- package/src/utils/mtls.ts +179 -0
- package/src/utils/nativeInstaller/download.ts +523 -0
- package/src/utils/nativeInstaller/index.ts +18 -0
- package/src/utils/nativeInstaller/installer.ts +1708 -0
- package/src/utils/nativeInstaller/packageManagers.ts +336 -0
- package/src/utils/nativeInstaller/pidLock.ts +433 -0
- package/src/utils/notebook.ts +224 -0
- package/src/utils/objectGroupBy.ts +18 -0
- package/src/utils/pasteStore.ts +104 -0
- package/src/utils/path.ts +155 -0
- package/src/utils/pdf.ts +300 -0
- package/src/utils/pdfUtils.ts +70 -0
- package/src/utils/peerAddress.ts +21 -0
- package/src/utils/permissions/PermissionMode.ts +141 -0
- package/src/utils/permissions/PermissionPromptToolResultSchema.ts +127 -0
- package/src/utils/permissions/PermissionResult.ts +35 -0
- package/src/utils/permissions/PermissionRule.ts +40 -0
- package/src/utils/permissions/PermissionUpdate.ts +389 -0
- package/src/utils/permissions/PermissionUpdateSchema.ts +78 -0
- package/src/utils/permissions/autoModeState.ts +39 -0
- package/src/utils/permissions/bashClassifier.ts +61 -0
- package/src/utils/permissions/bypassPermissionsKillswitch.ts +155 -0
- package/src/utils/permissions/classifierDecision.ts +98 -0
- package/src/utils/permissions/classifierShared.ts +39 -0
- package/src/utils/permissions/dangerousPatterns.ts +80 -0
- package/src/utils/permissions/denialTracking.ts +45 -0
- package/src/utils/permissions/filesystem.ts +1777 -0
- package/src/utils/permissions/getNextPermissionMode.ts +101 -0
- package/src/utils/permissions/pathValidation.ts +485 -0
- package/src/utils/permissions/permissionExplainer.ts +250 -0
- package/src/utils/permissions/permissionRuleParser.ts +198 -0
- package/src/utils/permissions/permissionSetup.ts +1532 -0
- package/src/utils/permissions/permissions.ts +1486 -0
- package/src/utils/permissions/permissionsLoader.ts +296 -0
- package/src/utils/permissions/shadowedRuleDetection.ts +234 -0
- package/src/utils/permissions/shellRuleMatching.ts +228 -0
- package/src/utils/permissions/yoloClassifier.ts +1495 -0
- package/src/utils/planModeV2.ts +95 -0
- package/src/utils/plans.ts +397 -0
- package/src/utils/platform.ts +150 -0
- package/src/utils/plugins/addDirPluginSettings.ts +71 -0
- package/src/utils/plugins/cacheUtils.ts +196 -0
- package/src/utils/plugins/dependencyResolver.ts +305 -0
- package/src/utils/plugins/fetchTelemetry.ts +135 -0
- package/src/utils/plugins/gitAvailability.ts +69 -0
- package/src/utils/plugins/headlessPluginInstall.ts +174 -0
- package/src/utils/plugins/hintRecommendation.ts +164 -0
- package/src/utils/plugins/installCounts.ts +292 -0
- package/src/utils/plugins/installedPluginsManager.ts +1268 -0
- package/src/utils/plugins/loadPluginAgents.ts +348 -0
- package/src/utils/plugins/loadPluginCommands.ts +946 -0
- package/src/utils/plugins/loadPluginHooks.ts +287 -0
- package/src/utils/plugins/loadPluginOutputStyles.ts +178 -0
- package/src/utils/plugins/lspPluginIntegration.ts +387 -0
- package/src/utils/plugins/lspRecommendation.ts +374 -0
- package/src/utils/plugins/managedPlugins.ts +27 -0
- package/src/utils/plugins/marketplaceHelpers.ts +592 -0
- package/src/utils/plugins/marketplaceManager.ts +2643 -0
- package/src/utils/plugins/mcpPluginIntegration.ts +634 -0
- package/src/utils/plugins/mcpbHandler.ts +968 -0
- package/src/utils/plugins/officialMarketplace.ts +25 -0
- package/src/utils/plugins/officialMarketplaceGcs.ts +216 -0
- package/src/utils/plugins/officialMarketplaceStartupCheck.ts +439 -0
- package/src/utils/plugins/orphanedPluginFilter.ts +114 -0
- package/src/utils/plugins/parseMarketplaceInput.ts +162 -0
- package/src/utils/plugins/performStartupChecks.tsx +70 -0
- package/src/utils/plugins/pluginAutoupdate.ts +284 -0
- package/src/utils/plugins/pluginBlocklist.ts +127 -0
- package/src/utils/plugins/pluginDirectories.ts +178 -0
- package/src/utils/plugins/pluginFlagging.ts +208 -0
- package/src/utils/plugins/pluginIdentifier.ts +123 -0
- package/src/utils/plugins/pluginInstallationHelpers.ts +595 -0
- package/src/utils/plugins/pluginLoader.ts +3302 -0
- package/src/utils/plugins/pluginOptionsStorage.ts +400 -0
- package/src/utils/plugins/pluginPolicy.ts +20 -0
- package/src/utils/plugins/pluginStartupCheck.ts +341 -0
- package/src/utils/plugins/pluginVersioning.ts +157 -0
- package/src/utils/plugins/reconciler.ts +265 -0
- package/src/utils/plugins/refresh.ts +215 -0
- package/src/utils/plugins/schemas.ts +1681 -0
- package/src/utils/plugins/validatePlugin.ts +903 -0
- package/src/utils/plugins/walkPluginMarkdown.ts +69 -0
- package/src/utils/plugins/zipCache.ts +406 -0
- package/src/utils/plugins/zipCacheAdapters.ts +164 -0
- package/src/utils/powershell/dangerousCmdlets.ts +185 -0
- package/src/utils/powershell/parser.ts +1804 -0
- package/src/utils/powershell/staticPrefix.ts +316 -0
- package/src/utils/preflightChecks.tsx +151 -0
- package/src/utils/privacyLevel.ts +55 -0
- package/src/utils/process.ts +68 -0
- package/src/utils/processUserInput/processBashCommand.tsx +140 -0
- package/src/utils/processUserInput/processSlashCommand.tsx +922 -0
- package/src/utils/processUserInput/processTextPrompt.ts +100 -0
- package/src/utils/processUserInput/processUserInput.ts +605 -0
- package/src/utils/profilerBase.ts +46 -0
- package/src/utils/promptCategory.ts +49 -0
- package/src/utils/promptEditor.ts +188 -0
- package/src/utils/promptShellExecution.ts +183 -0
- package/src/utils/proxy.ts +426 -0
- package/src/utils/queryContext.ts +179 -0
- package/src/utils/queryHelpers.ts +552 -0
- package/src/utils/queryProfiler.ts +301 -0
- package/src/utils/queueProcessor.ts +95 -0
- package/src/utils/readEditContext.ts +227 -0
- package/src/utils/readFileInRange.ts +383 -0
- package/src/utils/releaseNotes.ts +360 -0
- package/src/utils/renderOptions.ts +77 -0
- package/src/utils/ripgrep.ts +679 -0
- package/src/utils/sandbox/sandbox-adapter.ts +985 -0
- package/src/utils/sandbox/sandbox-ui-utils.ts +12 -0
- package/src/utils/sanitization.ts +91 -0
- package/src/utils/screenshotClipboard.ts +121 -0
- package/src/utils/sdkEventQueue.ts +134 -0
- package/src/utils/secureStorage/fallbackStorage.ts +70 -0
- package/src/utils/secureStorage/index.ts +17 -0
- package/src/utils/secureStorage/keychainPrefetch.ts +116 -0
- package/src/utils/secureStorage/macOsKeychainHelpers.ts +111 -0
- package/src/utils/secureStorage/macOsKeychainStorage.ts +231 -0
- package/src/utils/secureStorage/plainTextStorage.ts +84 -0
- package/src/utils/semanticBoolean.ts +29 -0
- package/src/utils/semanticNumber.ts +36 -0
- package/src/utils/semver.ts +59 -0
- package/src/utils/sequential.ts +56 -0
- package/src/utils/sessionActivity.ts +133 -0
- package/src/utils/sessionEnvVars.ts +22 -0
- package/src/utils/sessionEnvironment.ts +166 -0
- package/src/utils/sessionFileAccessHooks.ts +250 -0
- package/src/utils/sessionIngressAuth.ts +140 -0
- package/src/utils/sessionRestore.ts +551 -0
- package/src/utils/sessionStart.ts +232 -0
- package/src/utils/sessionState.ts +150 -0
- package/src/utils/sessionStorage.ts +5105 -0
- package/src/utils/sessionStoragePortable.ts +793 -0
- package/src/utils/sessionTitle.ts +129 -0
- package/src/utils/sessionUrl.ts +64 -0
- package/src/utils/set.ts +53 -0
- package/src/utils/settings/allErrors.ts +32 -0
- package/src/utils/settings/applySettingsChange.ts +92 -0
- package/src/utils/settings/changeDetector.ts +488 -0
- package/src/utils/settings/constants.ts +202 -0
- package/src/utils/settings/internalWrites.ts +37 -0
- package/src/utils/settings/managedPath.ts +34 -0
- package/src/utils/settings/mdm/constants.ts +81 -0
- package/src/utils/settings/mdm/rawRead.ts +130 -0
- package/src/utils/settings/mdm/settings.ts +316 -0
- package/src/utils/settings/permissionValidation.ts +262 -0
- package/src/utils/settings/pluginOnlyPolicy.ts +60 -0
- package/src/utils/settings/schemaOutput.ts +8 -0
- package/src/utils/settings/settings.ts +1015 -0
- package/src/utils/settings/settingsCache.ts +80 -0
- package/src/utils/settings/toolValidationConfig.ts +103 -0
- package/src/utils/settings/types.ts +1148 -0
- package/src/utils/settings/validateEditTool.ts +45 -0
- package/src/utils/settings/validation.ts +265 -0
- package/src/utils/settings/validationTips.ts +164 -0
- package/src/utils/shell/bashProvider.ts +255 -0
- package/src/utils/shell/outputLimits.ts +14 -0
- package/src/utils/shell/powershellDetection.ts +107 -0
- package/src/utils/shell/powershellProvider.ts +123 -0
- package/src/utils/shell/prefix.ts +367 -0
- package/src/utils/shell/readOnlyCommandValidation.ts +1893 -0
- package/src/utils/shell/resolveDefaultShell.ts +14 -0
- package/src/utils/shell/shellProvider.ts +33 -0
- package/src/utils/shell/shellToolUtils.ts +22 -0
- package/src/utils/shell/specPrefix.ts +241 -0
- package/src/utils/shellConfig.ts +167 -0
- package/src/utils/sideQuery.ts +222 -0
- package/src/utils/sideQuestion.ts +155 -0
- package/src/utils/signal.ts +43 -0
- package/src/utils/sinks.ts +16 -0
- package/src/utils/skills/skillChangeDetector.ts +311 -0
- package/src/utils/slashCommandParsing.ts +60 -0
- package/src/utils/sleep.ts +84 -0
- package/src/utils/sliceAnsi.ts +91 -0
- package/src/utils/slowOperations.ts +286 -0
- package/src/utils/standaloneAgent.ts +23 -0
- package/src/utils/startupProfiler.ts +194 -0
- package/src/utils/staticRender.tsx +116 -0
- package/src/utils/stats.ts +1061 -0
- package/src/utils/statsCache.ts +434 -0
- package/src/utils/status.tsx +362 -0
- package/src/utils/statusNoticeDefinitions.tsx +198 -0
- package/src/utils/statusNoticeHelpers.ts +20 -0
- package/src/utils/stream.ts +76 -0
- package/src/utils/streamJsonStdoutGuard.ts +123 -0
- package/src/utils/streamlinedTransform.ts +201 -0
- package/src/utils/stringUtils.ts +235 -0
- package/src/utils/subprocessEnv.ts +99 -0
- package/src/utils/suggestions/commandSuggestions.ts +567 -0
- package/src/utils/suggestions/directoryCompletion.ts +263 -0
- package/src/utils/suggestions/shellHistoryCompletion.ts +119 -0
- package/src/utils/suggestions/skillUsageTracking.ts +55 -0
- package/src/utils/suggestions/slackChannelSuggestions.ts +209 -0
- package/src/utils/swarm/It2SetupPrompt.tsx +380 -0
- package/src/utils/swarm/backends/ITermBackend.ts +370 -0
- package/src/utils/swarm/backends/InProcessBackend.ts +339 -0
- package/src/utils/swarm/backends/PaneBackendExecutor.ts +354 -0
- package/src/utils/swarm/backends/TmuxBackend.ts +764 -0
- package/src/utils/swarm/backends/detection.ts +128 -0
- package/src/utils/swarm/backends/it2Setup.ts +245 -0
- package/src/utils/swarm/backends/registry.ts +464 -0
- package/src/utils/swarm/backends/teammateModeSnapshot.ts +87 -0
- package/src/utils/swarm/backends/types.ts +311 -0
- package/src/utils/swarm/constants.ts +33 -0
- package/src/utils/swarm/inProcessRunner.ts +1552 -0
- package/src/utils/swarm/leaderPermissionBridge.ts +54 -0
- package/src/utils/swarm/permissionSync.ts +928 -0
- package/src/utils/swarm/reconnection.ts +119 -0
- package/src/utils/swarm/spawnInProcess.ts +328 -0
- package/src/utils/swarm/spawnUtils.ts +146 -0
- package/src/utils/swarm/teamHelpers.ts +683 -0
- package/src/utils/swarm/teammateInit.ts +129 -0
- package/src/utils/swarm/teammateLayoutManager.ts +107 -0
- package/src/utils/swarm/teammateModel.ts +10 -0
- package/src/utils/swarm/teammatePromptAddendum.ts +18 -0
- package/src/utils/systemDirectories.ts +74 -0
- package/src/utils/systemPrompt.ts +123 -0
- package/src/utils/systemPromptType.ts +14 -0
- package/src/utils/systemTheme.ts +119 -0
- package/src/utils/taggedId.ts +54 -0
- package/src/utils/task/TaskOutput.ts +390 -0
- package/src/utils/task/diskOutput.ts +451 -0
- package/src/utils/task/framework.ts +308 -0
- package/src/utils/task/outputFormatting.ts +38 -0
- package/src/utils/task/sdkProgress.ts +36 -0
- package/src/utils/tasks.ts +862 -0
- package/src/utils/teamDiscovery.ts +81 -0
- package/src/utils/teamMemoryOps.ts +88 -0
- package/src/utils/teammate.ts +292 -0
- package/src/utils/teammateContext.ts +96 -0
- package/src/utils/teammateMailbox.ts +1183 -0
- package/src/utils/telemetry/betaSessionTracing.ts +491 -0
- package/src/utils/telemetry/bigqueryExporter.ts +252 -0
- package/src/utils/telemetry/events.ts +75 -0
- package/src/utils/telemetry/instrumentation.ts +825 -0
- package/src/utils/telemetry/logger.ts +26 -0
- package/src/utils/telemetry/perfettoTracing.ts +1120 -0
- package/src/utils/telemetry/pluginTelemetry.ts +289 -0
- package/src/utils/telemetry/sessionTracing.ts +927 -0
- package/src/utils/telemetry/skillLoadedEvent.ts +39 -0
- package/src/utils/telemetryAttributes.ts +71 -0
- package/src/utils/teleport/api.ts +466 -0
- package/src/utils/teleport/environmentSelection.ts +77 -0
- package/src/utils/teleport/environments.ts +120 -0
- package/src/utils/teleport/gitBundle.ts +292 -0
- package/src/utils/teleport.tsx +1226 -0
- package/src/utils/tempfile.ts +31 -0
- package/src/utils/terminal.ts +131 -0
- package/src/utils/terminalPanel.ts +191 -0
- package/src/utils/textHighlighting.ts +166 -0
- package/src/utils/theme.ts +639 -0
- package/src/utils/thinking.ts +162 -0
- package/src/utils/timeouts.ts +39 -0
- package/src/utils/tmuxSocket.ts +427 -0
- package/src/utils/todo/types.ts +18 -0
- package/src/utils/tokenBudget.ts +73 -0
- package/src/utils/tokens.ts +261 -0
- package/src/utils/toolErrors.ts +132 -0
- package/src/utils/toolPool.ts +79 -0
- package/src/utils/toolResultStorage.ts +1040 -0
- package/src/utils/toolSchemaCache.ts +26 -0
- package/src/utils/toolSearch.ts +756 -0
- package/src/utils/transcriptSearch.ts +202 -0
- package/src/utils/treeify.ts +170 -0
- package/src/utils/truncate.ts +179 -0
- package/src/utils/ultraplan/ccrSession.ts +349 -0
- package/src/utils/ultraplan/keyword.ts +127 -0
- package/src/utils/ultraplan/prompt.txt +1 -0
- package/src/utils/unaryLogging.ts +39 -0
- package/src/utils/undercover.ts +89 -0
- package/src/utils/user.ts +194 -0
- package/src/utils/userAgent.ts +10 -0
- package/src/utils/userPromptKeywords.ts +27 -0
- package/src/utils/uuid.ts +27 -0
- package/src/utils/warningHandler.ts +121 -0
- package/src/utils/which.ts +82 -0
- package/src/utils/windowsPaths.ts +173 -0
- package/src/utils/withResolvers.ts +13 -0
- package/src/utils/words.ts +800 -0
- package/src/utils/workloadContext.ts +57 -0
- package/src/utils/worktree.ts +1519 -0
- package/src/utils/worktreeModeEnabled.ts +11 -0
- package/src/utils/xdg.ts +65 -0
- package/src/utils/xml.ts +16 -0
- package/src/utils/yaml.ts +15 -0
- package/src/utils/zodToJsonSchema.ts +23 -0
- package/src/vim/motions.ts +82 -0
- package/src/vim/operators.ts +556 -0
- package/src/vim/textObjects.ts +186 -0
- package/src/vim/transitions.ts +490 -0
- package/src/vim/types.ts +199 -0
- package/src/voice/voiceModeEnabled.ts +54 -0
- package/start.js +1 -0
|
@@ -0,0 +1,1148 @@
|
|
|
1
|
+
import { feature } from 'bun:bundle'
|
|
2
|
+
import { z } from 'zod/v4'
|
|
3
|
+
import { SandboxSettingsSchema } from '../../entrypoints/sandboxTypes.js'
|
|
4
|
+
import { isEnvTruthy } from '../envUtils.js'
|
|
5
|
+
import { lazySchema } from '../lazySchema.js'
|
|
6
|
+
import {
|
|
7
|
+
EXTERNAL_PERMISSION_MODES,
|
|
8
|
+
PERMISSION_MODES,
|
|
9
|
+
} from '../permissions/PermissionMode.js'
|
|
10
|
+
import { MarketplaceSourceSchema } from '../plugins/schemas.js'
|
|
11
|
+
import { CLAUDE_CODE_SETTINGS_SCHEMA_URL } from './constants.js'
|
|
12
|
+
import { PermissionRuleSchema } from './permissionValidation.js'
|
|
13
|
+
|
|
14
|
+
// Re-export hook schemas and types from centralized location for backward compatibility
|
|
15
|
+
export {
|
|
16
|
+
type AgentHook,
|
|
17
|
+
type BashCommandHook,
|
|
18
|
+
type HookCommand,
|
|
19
|
+
HookCommandSchema,
|
|
20
|
+
type HookMatcher,
|
|
21
|
+
HookMatcherSchema,
|
|
22
|
+
HooksSchema,
|
|
23
|
+
type HooksSettings,
|
|
24
|
+
type HttpHook,
|
|
25
|
+
type PromptHook,
|
|
26
|
+
} from '../../schemas/hooks.js'
|
|
27
|
+
|
|
28
|
+
// Also import for use within this file
|
|
29
|
+
import { type HookCommand, HooksSchema } from '../../schemas/hooks.js'
|
|
30
|
+
import { count } from '../array.js'
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Schema for environment variables
|
|
34
|
+
*/
|
|
35
|
+
export const EnvironmentVariablesSchema = lazySchema(() =>
|
|
36
|
+
z.record(z.string(), z.coerce.string()),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Schema for permissions section
|
|
41
|
+
*/
|
|
42
|
+
export const PermissionsSchema = lazySchema(() =>
|
|
43
|
+
z
|
|
44
|
+
.object({
|
|
45
|
+
allow: z
|
|
46
|
+
.array(PermissionRuleSchema())
|
|
47
|
+
.optional()
|
|
48
|
+
.describe('List of permission rules for allowed operations'),
|
|
49
|
+
deny: z
|
|
50
|
+
.array(PermissionRuleSchema())
|
|
51
|
+
.optional()
|
|
52
|
+
.describe('List of permission rules for denied operations'),
|
|
53
|
+
ask: z
|
|
54
|
+
.array(PermissionRuleSchema())
|
|
55
|
+
.optional()
|
|
56
|
+
.describe(
|
|
57
|
+
'List of permission rules that should always prompt for confirmation',
|
|
58
|
+
),
|
|
59
|
+
defaultMode: z
|
|
60
|
+
.enum(
|
|
61
|
+
feature('TRANSCRIPT_CLASSIFIER')
|
|
62
|
+
? PERMISSION_MODES
|
|
63
|
+
: EXTERNAL_PERMISSION_MODES,
|
|
64
|
+
)
|
|
65
|
+
.optional()
|
|
66
|
+
.describe('Default permission mode when Claude Code needs access'),
|
|
67
|
+
disableBypassPermissionsMode: z
|
|
68
|
+
.enum(['disable'])
|
|
69
|
+
.optional()
|
|
70
|
+
.describe('Disable the ability to bypass permission prompts'),
|
|
71
|
+
...(feature('TRANSCRIPT_CLASSIFIER')
|
|
72
|
+
? {
|
|
73
|
+
disableAutoMode: z
|
|
74
|
+
.enum(['disable'])
|
|
75
|
+
.optional()
|
|
76
|
+
.describe('Disable auto mode'),
|
|
77
|
+
}
|
|
78
|
+
: {}),
|
|
79
|
+
additionalDirectories: z
|
|
80
|
+
.array(z.string())
|
|
81
|
+
.optional()
|
|
82
|
+
.describe('Additional directories to include in the permission scope'),
|
|
83
|
+
})
|
|
84
|
+
.passthrough(),
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Schema for extra marketplaces defined in repository settings
|
|
89
|
+
* Same as KnownMarketplace but without lastUpdated (which is managed automatically)
|
|
90
|
+
*/
|
|
91
|
+
export const ExtraKnownMarketplaceSchema = lazySchema(() =>
|
|
92
|
+
z.object({
|
|
93
|
+
source: MarketplaceSourceSchema().describe(
|
|
94
|
+
'Where to fetch the marketplace from',
|
|
95
|
+
),
|
|
96
|
+
installLocation: z
|
|
97
|
+
.string()
|
|
98
|
+
.optional()
|
|
99
|
+
.describe(
|
|
100
|
+
'Local cache path where marketplace manifest is stored (auto-generated if not provided)',
|
|
101
|
+
),
|
|
102
|
+
autoUpdate: z
|
|
103
|
+
.boolean()
|
|
104
|
+
.optional()
|
|
105
|
+
.describe(
|
|
106
|
+
'Whether to automatically update this marketplace and its installed plugins on startup',
|
|
107
|
+
),
|
|
108
|
+
}),
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Schema for allowed MCP server entry in enterprise allowlist.
|
|
113
|
+
* Supports matching by serverName, serverCommand, or serverUrl (mutually exclusive).
|
|
114
|
+
*/
|
|
115
|
+
export const AllowedMcpServerEntrySchema = lazySchema(() =>
|
|
116
|
+
z
|
|
117
|
+
.object({
|
|
118
|
+
serverName: z
|
|
119
|
+
.string()
|
|
120
|
+
.regex(
|
|
121
|
+
/^[a-zA-Z0-9_-]+$/,
|
|
122
|
+
'Server name can only contain letters, numbers, hyphens, and underscores',
|
|
123
|
+
)
|
|
124
|
+
.optional()
|
|
125
|
+
.describe('Name of the MCP server that users are allowed to configure'),
|
|
126
|
+
serverCommand: z
|
|
127
|
+
.array(z.string())
|
|
128
|
+
.min(1, 'Server command must have at least one element (the command)')
|
|
129
|
+
.optional()
|
|
130
|
+
.describe(
|
|
131
|
+
'Command array [command, ...args] to match exactly for allowed stdio servers',
|
|
132
|
+
),
|
|
133
|
+
serverUrl: z
|
|
134
|
+
.string()
|
|
135
|
+
.optional()
|
|
136
|
+
.describe(
|
|
137
|
+
'URL pattern with wildcard support (e.g., "https://*.example.com/*") for allowed remote MCP servers',
|
|
138
|
+
),
|
|
139
|
+
// Future extensibility: allowedTransports, requiredArgs, maxInstances, etc.
|
|
140
|
+
})
|
|
141
|
+
.refine(
|
|
142
|
+
data => {
|
|
143
|
+
const defined = count(
|
|
144
|
+
[
|
|
145
|
+
data.serverName !== undefined,
|
|
146
|
+
data.serverCommand !== undefined,
|
|
147
|
+
data.serverUrl !== undefined,
|
|
148
|
+
],
|
|
149
|
+
Boolean,
|
|
150
|
+
)
|
|
151
|
+
return defined === 1
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
message:
|
|
155
|
+
'Entry must have exactly one of "serverName", "serverCommand", or "serverUrl"',
|
|
156
|
+
},
|
|
157
|
+
),
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Schema for denied MCP server entry in enterprise denylist.
|
|
162
|
+
* Supports matching by serverName, serverCommand, or serverUrl (mutually exclusive).
|
|
163
|
+
*/
|
|
164
|
+
export const DeniedMcpServerEntrySchema = lazySchema(() =>
|
|
165
|
+
z
|
|
166
|
+
.object({
|
|
167
|
+
serverName: z
|
|
168
|
+
.string()
|
|
169
|
+
.regex(
|
|
170
|
+
/^[a-zA-Z0-9_-]+$/,
|
|
171
|
+
'Server name can only contain letters, numbers, hyphens, and underscores',
|
|
172
|
+
)
|
|
173
|
+
.optional()
|
|
174
|
+
.describe('Name of the MCP server that is explicitly blocked'),
|
|
175
|
+
serverCommand: z
|
|
176
|
+
.array(z.string())
|
|
177
|
+
.min(1, 'Server command must have at least one element (the command)')
|
|
178
|
+
.optional()
|
|
179
|
+
.describe(
|
|
180
|
+
'Command array [command, ...args] to match exactly for blocked stdio servers',
|
|
181
|
+
),
|
|
182
|
+
serverUrl: z
|
|
183
|
+
.string()
|
|
184
|
+
.optional()
|
|
185
|
+
.describe(
|
|
186
|
+
'URL pattern with wildcard support (e.g., "https://*.example.com/*") for blocked remote MCP servers',
|
|
187
|
+
),
|
|
188
|
+
// Future extensibility: reason, blockedSince, etc.
|
|
189
|
+
})
|
|
190
|
+
.refine(
|
|
191
|
+
data => {
|
|
192
|
+
const defined = count(
|
|
193
|
+
[
|
|
194
|
+
data.serverName !== undefined,
|
|
195
|
+
data.serverCommand !== undefined,
|
|
196
|
+
data.serverUrl !== undefined,
|
|
197
|
+
],
|
|
198
|
+
Boolean,
|
|
199
|
+
)
|
|
200
|
+
return defined === 1
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
message:
|
|
204
|
+
'Entry must have exactly one of "serverName", "serverCommand", or "serverUrl"',
|
|
205
|
+
},
|
|
206
|
+
),
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Unified schema for settings files
|
|
211
|
+
*
|
|
212
|
+
* ⚠️ BACKWARD COMPATIBILITY NOTICE ⚠️
|
|
213
|
+
*
|
|
214
|
+
* This schema defines the structure of user settings files (.claude/settings.json).
|
|
215
|
+
* We support backward-compatible changes! Here's how:
|
|
216
|
+
*
|
|
217
|
+
* ✅ ALLOWED CHANGES:
|
|
218
|
+
* - Adding new optional fields (always use .optional())
|
|
219
|
+
* - Adding new enum values (keeping existing ones)
|
|
220
|
+
* - Adding new properties to objects
|
|
221
|
+
* - Making validation more permissive
|
|
222
|
+
* - Using union types for gradual migration (e.g., z.union([oldType, newType]))
|
|
223
|
+
*
|
|
224
|
+
* ❌ BREAKING CHANGES TO AVOID:
|
|
225
|
+
* - Removing fields (mark as deprecated instead)
|
|
226
|
+
* - Removing enum values
|
|
227
|
+
* - Making optional fields required
|
|
228
|
+
* - Making types more restrictive
|
|
229
|
+
* - Renaming fields without keeping the old name
|
|
230
|
+
*
|
|
231
|
+
* TO ENSURE BACKWARD COMPATIBILITY:
|
|
232
|
+
* 1. Run: npm run test:file -- test/utils/settings/backward-compatibility.test.ts
|
|
233
|
+
* 2. If tests fail, you've introduced a breaking change
|
|
234
|
+
* 3. When adding new fields, add a test to BACKWARD_COMPATIBILITY_CONFIGS
|
|
235
|
+
*
|
|
236
|
+
* The settings system handles backward compatibility automatically:
|
|
237
|
+
* - When updating settings, invalid fields are preserved in the file (see settings.ts lines 233-249)
|
|
238
|
+
* - Type coercion via z.coerce (e.g., env vars convert numbers to strings)
|
|
239
|
+
* - .passthrough() preserves unknown fields in permissions object
|
|
240
|
+
* - Invalid settings are simply not used, but remain in the file to be fixed by the user
|
|
241
|
+
*/
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Surfaces lockable by `strictPluginOnlyCustomization`. Exported so the
|
|
245
|
+
* schema preprocess (below) and the runtime helper (pluginOnlyPolicy.ts)
|
|
246
|
+
* share one source of truth.
|
|
247
|
+
*/
|
|
248
|
+
export const CUSTOMIZATION_SURFACES = [
|
|
249
|
+
'skills',
|
|
250
|
+
'agents',
|
|
251
|
+
'hooks',
|
|
252
|
+
'mcp',
|
|
253
|
+
] as const
|
|
254
|
+
|
|
255
|
+
export const SettingsSchema = lazySchema(() =>
|
|
256
|
+
z
|
|
257
|
+
.object({
|
|
258
|
+
$schema: z
|
|
259
|
+
.literal(CLAUDE_CODE_SETTINGS_SCHEMA_URL)
|
|
260
|
+
.optional()
|
|
261
|
+
.describe('JSON Schema reference for Claude Code settings'),
|
|
262
|
+
apiKeyHelper: z
|
|
263
|
+
.string()
|
|
264
|
+
.optional()
|
|
265
|
+
.describe('Path to a script that outputs authentication values'),
|
|
266
|
+
awsCredentialExport: z
|
|
267
|
+
.string()
|
|
268
|
+
.optional()
|
|
269
|
+
.describe('Path to a script that exports AWS credentials'),
|
|
270
|
+
awsAuthRefresh: z
|
|
271
|
+
.string()
|
|
272
|
+
.optional()
|
|
273
|
+
.describe('Path to a script that refreshes AWS authentication'),
|
|
274
|
+
gcpAuthRefresh: z
|
|
275
|
+
.string()
|
|
276
|
+
.optional()
|
|
277
|
+
.describe(
|
|
278
|
+
'Command to refresh GCP authentication (e.g., gcloud auth application-default login)',
|
|
279
|
+
),
|
|
280
|
+
// Gated so the SDK generator (which runs without CLAUDE_CODE_ENABLE_XAA)
|
|
281
|
+
// doesn't surface this in GlobalClaudeSettings. Read via getXaaIdpSettings().
|
|
282
|
+
// .passthrough() on the outer object keeps an existing settings.json key
|
|
283
|
+
// alive across env-var-off sessions — it's just not schema-validated then.
|
|
284
|
+
...(isEnvTruthy(process.env.CLAUDE_CODE_ENABLE_XAA)
|
|
285
|
+
? {
|
|
286
|
+
xaaIdp: z
|
|
287
|
+
.object({
|
|
288
|
+
issuer: z
|
|
289
|
+
.string()
|
|
290
|
+
.url()
|
|
291
|
+
.describe('IdP issuer URL for OIDC discovery'),
|
|
292
|
+
clientId: z
|
|
293
|
+
.string()
|
|
294
|
+
.describe("Claude Code's client_id registered at the IdP"),
|
|
295
|
+
callbackPort: z
|
|
296
|
+
.number()
|
|
297
|
+
.int()
|
|
298
|
+
.positive()
|
|
299
|
+
.optional()
|
|
300
|
+
.describe(
|
|
301
|
+
'Fixed loopback callback port for the IdP OIDC login. ' +
|
|
302
|
+
'Only needed if the IdP does not honor RFC 8252 port-any matching.',
|
|
303
|
+
),
|
|
304
|
+
})
|
|
305
|
+
.optional()
|
|
306
|
+
.describe(
|
|
307
|
+
'XAA (SEP-990) IdP connection. Configure once; all XAA-enabled MCP servers reuse this.',
|
|
308
|
+
),
|
|
309
|
+
}
|
|
310
|
+
: {}),
|
|
311
|
+
fileSuggestion: z
|
|
312
|
+
.object({
|
|
313
|
+
type: z.literal('command'),
|
|
314
|
+
command: z.string(),
|
|
315
|
+
})
|
|
316
|
+
.optional()
|
|
317
|
+
.describe('Custom file suggestion configuration for @ mentions'),
|
|
318
|
+
respectGitignore: z
|
|
319
|
+
.boolean()
|
|
320
|
+
.optional()
|
|
321
|
+
.describe(
|
|
322
|
+
'Whether file picker should respect .gitignore files (default: true). ' +
|
|
323
|
+
'Note: .ignore files are always respected.',
|
|
324
|
+
),
|
|
325
|
+
cleanupPeriodDays: z
|
|
326
|
+
.number()
|
|
327
|
+
.nonnegative()
|
|
328
|
+
.int()
|
|
329
|
+
.optional()
|
|
330
|
+
.describe(
|
|
331
|
+
'Number of days to retain chat transcripts (default: 30). Setting to 0 disables session persistence entirely: no transcripts are written and existing transcripts are deleted at startup.',
|
|
332
|
+
),
|
|
333
|
+
env: EnvironmentVariablesSchema()
|
|
334
|
+
.optional()
|
|
335
|
+
.describe('Environment variables to set for Claude Code sessions'),
|
|
336
|
+
// Attribution for commits and PRs
|
|
337
|
+
attribution: z
|
|
338
|
+
.object({
|
|
339
|
+
commit: z
|
|
340
|
+
.string()
|
|
341
|
+
.optional()
|
|
342
|
+
.describe(
|
|
343
|
+
'Attribution text for git commits, including any trailers. ' +
|
|
344
|
+
'Empty string hides attribution.',
|
|
345
|
+
),
|
|
346
|
+
pr: z
|
|
347
|
+
.string()
|
|
348
|
+
.optional()
|
|
349
|
+
.describe(
|
|
350
|
+
'Attribution text for pull request descriptions. ' +
|
|
351
|
+
'Empty string hides attribution.',
|
|
352
|
+
),
|
|
353
|
+
})
|
|
354
|
+
.optional()
|
|
355
|
+
.describe(
|
|
356
|
+
'Customize attribution text for commits and PRs. ' +
|
|
357
|
+
'Each field defaults to the standard Claude Code attribution if not set.',
|
|
358
|
+
),
|
|
359
|
+
includeCoAuthoredBy: z
|
|
360
|
+
.boolean()
|
|
361
|
+
.optional()
|
|
362
|
+
.describe(
|
|
363
|
+
'Deprecated: Use attribution instead. ' +
|
|
364
|
+
"Whether to include Claude's co-authored by attribution in commits and PRs (defaults to true)",
|
|
365
|
+
),
|
|
366
|
+
includeGitInstructions: z
|
|
367
|
+
.boolean()
|
|
368
|
+
.optional()
|
|
369
|
+
.describe(
|
|
370
|
+
"Include built-in commit and PR workflow instructions in Claude's system prompt (default: true)",
|
|
371
|
+
),
|
|
372
|
+
permissions: PermissionsSchema()
|
|
373
|
+
.optional()
|
|
374
|
+
.describe('Tool usage permissions configuration'),
|
|
375
|
+
model: z
|
|
376
|
+
.string()
|
|
377
|
+
.optional()
|
|
378
|
+
.describe('Override the default model used by Claude Code'),
|
|
379
|
+
// Enterprise allowlist of models
|
|
380
|
+
availableModels: z
|
|
381
|
+
.array(z.string())
|
|
382
|
+
.optional()
|
|
383
|
+
.describe(
|
|
384
|
+
'Allowlist of models that users can select. ' +
|
|
385
|
+
'Accepts family aliases ("opus" allows any opus version), ' +
|
|
386
|
+
'version prefixes ("opus-4-5" allows only that version), ' +
|
|
387
|
+
'and full model IDs. ' +
|
|
388
|
+
'If undefined, all models are available. If empty array, only the default model is available. ' +
|
|
389
|
+
'Typically set in managed settings by enterprise administrators.',
|
|
390
|
+
),
|
|
391
|
+
modelOverrides: z
|
|
392
|
+
.record(z.string(), z.string())
|
|
393
|
+
.optional()
|
|
394
|
+
.describe(
|
|
395
|
+
'Override mapping from Anthropic model ID (e.g. "claude-opus-4-6") to provider-specific ' +
|
|
396
|
+
'model ID (e.g. a Bedrock inference profile ARN). Typically set in managed settings by ' +
|
|
397
|
+
'enterprise administrators.',
|
|
398
|
+
),
|
|
399
|
+
// Whether to automatically approve all MCP servers in the project
|
|
400
|
+
enableAllProjectMcpServers: z
|
|
401
|
+
.boolean()
|
|
402
|
+
.optional()
|
|
403
|
+
.describe(
|
|
404
|
+
'Whether to automatically approve all MCP servers in the project',
|
|
405
|
+
),
|
|
406
|
+
// List of approved MCP servers from .mcp.json
|
|
407
|
+
enabledMcpjsonServers: z
|
|
408
|
+
.array(z.string())
|
|
409
|
+
.optional()
|
|
410
|
+
.describe('List of approved MCP servers from .mcp.json'),
|
|
411
|
+
// List of rejected MCP servers from .mcp.json
|
|
412
|
+
disabledMcpjsonServers: z
|
|
413
|
+
.array(z.string())
|
|
414
|
+
.optional()
|
|
415
|
+
.describe('List of rejected MCP servers from .mcp.json'),
|
|
416
|
+
// Enterprise allowlist of MCP servers
|
|
417
|
+
allowedMcpServers: z
|
|
418
|
+
.array(AllowedMcpServerEntrySchema())
|
|
419
|
+
.optional()
|
|
420
|
+
.describe(
|
|
421
|
+
'Enterprise allowlist of MCP servers that can be used. ' +
|
|
422
|
+
'Applies to all scopes including enterprise servers from managed-mcp.json. ' +
|
|
423
|
+
'If undefined, all servers are allowed. If empty array, no servers are allowed. ' +
|
|
424
|
+
'Denylist takes precedence - if a server is on both lists, it is denied.',
|
|
425
|
+
),
|
|
426
|
+
// Enterprise denylist of MCP servers
|
|
427
|
+
deniedMcpServers: z
|
|
428
|
+
.array(DeniedMcpServerEntrySchema())
|
|
429
|
+
.optional()
|
|
430
|
+
.describe(
|
|
431
|
+
'Enterprise denylist of MCP servers that are explicitly blocked. ' +
|
|
432
|
+
'If a server is on the denylist, it will be blocked across all scopes including enterprise. ' +
|
|
433
|
+
'Denylist takes precedence over allowlist - if a server is on both lists, it is denied.',
|
|
434
|
+
),
|
|
435
|
+
hooks: HooksSchema()
|
|
436
|
+
.optional()
|
|
437
|
+
.describe('Custom commands to run before/after tool executions'),
|
|
438
|
+
worktree: z
|
|
439
|
+
.object({
|
|
440
|
+
symlinkDirectories: z
|
|
441
|
+
.array(z.string())
|
|
442
|
+
.optional()
|
|
443
|
+
.describe(
|
|
444
|
+
'Directories to symlink from main repository to worktrees to avoid disk bloat. ' +
|
|
445
|
+
'Must be explicitly configured - no directories are symlinked by default. ' +
|
|
446
|
+
'Common examples: "node_modules", ".cache", ".bin"',
|
|
447
|
+
),
|
|
448
|
+
sparsePaths: z
|
|
449
|
+
.array(z.string())
|
|
450
|
+
.optional()
|
|
451
|
+
.describe(
|
|
452
|
+
'Directories to include when creating worktrees, via git sparse-checkout (cone mode). ' +
|
|
453
|
+
'Dramatically faster in large monorepos — only the listed paths are written to disk.',
|
|
454
|
+
),
|
|
455
|
+
})
|
|
456
|
+
.optional()
|
|
457
|
+
.describe('Git worktree configuration for --worktree flag.'),
|
|
458
|
+
// Whether to disable all hooks and statusLine
|
|
459
|
+
disableAllHooks: z
|
|
460
|
+
.boolean()
|
|
461
|
+
.optional()
|
|
462
|
+
.describe('Disable all hooks and statusLine execution'),
|
|
463
|
+
// Which shell backs input-box `!` (see docs/design/ps-shell-selection.md §4.2)
|
|
464
|
+
defaultShell: z
|
|
465
|
+
.enum(['bash', 'powershell'])
|
|
466
|
+
.optional()
|
|
467
|
+
.describe(
|
|
468
|
+
'Default shell for input-box ! commands. ' +
|
|
469
|
+
"Defaults to 'bash' on all platforms (no Windows auto-flip).",
|
|
470
|
+
),
|
|
471
|
+
// Only run hooks defined in managed settings (managed-settings.json)
|
|
472
|
+
allowManagedHooksOnly: z
|
|
473
|
+
.boolean()
|
|
474
|
+
.optional()
|
|
475
|
+
.describe(
|
|
476
|
+
'When true (and set in managed settings), only hooks from managed settings run. ' +
|
|
477
|
+
'User, project, and local hooks are ignored.',
|
|
478
|
+
),
|
|
479
|
+
// Allowlist of URL patterns HTTP hooks may target (follows allowedMcpServers precedent)
|
|
480
|
+
allowedHttpHookUrls: z
|
|
481
|
+
.array(z.string())
|
|
482
|
+
.optional()
|
|
483
|
+
.describe(
|
|
484
|
+
'Allowlist of URL patterns that HTTP hooks may target. ' +
|
|
485
|
+
'Supports * as a wildcard (e.g. "https://hooks.example.com/*"). ' +
|
|
486
|
+
'When set, HTTP hooks with non-matching URLs are blocked. ' +
|
|
487
|
+
'If undefined, all URLs are allowed. If empty array, no HTTP hooks are allowed. ' +
|
|
488
|
+
'Arrays merge across settings sources (same semantics as allowedMcpServers).',
|
|
489
|
+
),
|
|
490
|
+
// Allowlist of env var names HTTP hooks may interpolate into headers
|
|
491
|
+
httpHookAllowedEnvVars: z
|
|
492
|
+
.array(z.string())
|
|
493
|
+
.optional()
|
|
494
|
+
.describe(
|
|
495
|
+
'Allowlist of environment variable names HTTP hooks may interpolate into headers. ' +
|
|
496
|
+
"When set, each hook's effective allowedEnvVars is the intersection with this list. " +
|
|
497
|
+
'If undefined, no restriction is applied. ' +
|
|
498
|
+
'Arrays merge across settings sources (same semantics as allowedMcpServers).',
|
|
499
|
+
),
|
|
500
|
+
// Only use permission rules defined in managed settings (managed-settings.json)
|
|
501
|
+
allowManagedPermissionRulesOnly: z
|
|
502
|
+
.boolean()
|
|
503
|
+
.optional()
|
|
504
|
+
.describe(
|
|
505
|
+
'When true (and set in managed settings), only permission rules (allow/deny/ask) from managed settings are respected. ' +
|
|
506
|
+
'User, project, local, and CLI argument permission rules are ignored.',
|
|
507
|
+
),
|
|
508
|
+
// Only read MCP allowlist policy from managed settings
|
|
509
|
+
allowManagedMcpServersOnly: z
|
|
510
|
+
.boolean()
|
|
511
|
+
.optional()
|
|
512
|
+
.describe(
|
|
513
|
+
'When true (and set in managed settings), allowedMcpServers is only read from managed settings. ' +
|
|
514
|
+
'deniedMcpServers still merges from all sources, so users can deny servers for themselves. ' +
|
|
515
|
+
'Users can still add their own MCP servers, but only the admin-defined allowlist applies.',
|
|
516
|
+
),
|
|
517
|
+
// Force customizations through plugins only (LinkedIn ask via GTM)
|
|
518
|
+
strictPluginOnlyCustomization: z
|
|
519
|
+
.preprocess(
|
|
520
|
+
// Forwards-compat: drop unknown surface names so a future enum
|
|
521
|
+
// value (e.g. 'commands') doesn't fail safeParse and null out the
|
|
522
|
+
// ENTIRE managed-settings file (settings.ts:101). ["skills",
|
|
523
|
+
// "commands"] on an old client → ["skills"] → locks what it knows,
|
|
524
|
+
// ignores what it doesn't. Degrades to less-locked, never to
|
|
525
|
+
// everything-unlocked.
|
|
526
|
+
v =>
|
|
527
|
+
Array.isArray(v)
|
|
528
|
+
? v.filter(x =>
|
|
529
|
+
(CUSTOMIZATION_SURFACES as readonly string[]).includes(x),
|
|
530
|
+
)
|
|
531
|
+
: v,
|
|
532
|
+
z.union([z.boolean(), z.array(z.enum(CUSTOMIZATION_SURFACES))]),
|
|
533
|
+
)
|
|
534
|
+
.optional()
|
|
535
|
+
// Non-array invalid values ("skills" string, {object}) pass through
|
|
536
|
+
// the preprocess unchanged and would fail the union → null the whole
|
|
537
|
+
// managed-settings file. .catch drops the field to undefined instead.
|
|
538
|
+
// Degrades to unlocked-for-this-field, never to everything-broken.
|
|
539
|
+
// Doctor flags the raw value.
|
|
540
|
+
.catch(undefined)
|
|
541
|
+
.describe(
|
|
542
|
+
'When set in managed settings, blocks non-plugin customization sources for the listed surfaces. ' +
|
|
543
|
+
'Array form locks specific surfaces (e.g. ["skills", "hooks"]); `true` locks all four; `false` is an explicit no-op. ' +
|
|
544
|
+
'Blocked: ~/.claude/{surface}/, .claude/{surface}/ (project), settings.json hooks, .mcp.json. ' +
|
|
545
|
+
'NOT blocked: managed (policySettings) sources, plugin-provided customizations. ' +
|
|
546
|
+
'Composes with strictKnownMarketplaces for end-to-end admin control — plugins gated by ' +
|
|
547
|
+
'marketplace allowlist, everything else blocked here.',
|
|
548
|
+
),
|
|
549
|
+
// Status line for custom status line display
|
|
550
|
+
statusLine: z
|
|
551
|
+
.object({
|
|
552
|
+
type: z.literal('command'),
|
|
553
|
+
command: z.string(),
|
|
554
|
+
padding: z.number().optional(),
|
|
555
|
+
})
|
|
556
|
+
.optional()
|
|
557
|
+
.describe('Custom status line display configuration'),
|
|
558
|
+
// Enabled plugins using marketplace-first format
|
|
559
|
+
enabledPlugins: z
|
|
560
|
+
.record(
|
|
561
|
+
z.string(),
|
|
562
|
+
z.union([z.array(z.string()), z.boolean(), z.undefined()]),
|
|
563
|
+
)
|
|
564
|
+
.optional()
|
|
565
|
+
.describe(
|
|
566
|
+
'Enabled plugins using plugin-id@marketplace-id format. Example: { "formatter@anthropic-tools": true }. Also supports extended format with version constraints.',
|
|
567
|
+
),
|
|
568
|
+
// Extra marketplaces for this repository (usually for project settings)
|
|
569
|
+
extraKnownMarketplaces: z
|
|
570
|
+
.record(z.string(), ExtraKnownMarketplaceSchema())
|
|
571
|
+
.check(ctx => {
|
|
572
|
+
// For settings sources, key must equal source.name. diffMarketplaces
|
|
573
|
+
// looks up materialized state by dict key; addMarketplaceSource stores
|
|
574
|
+
// under marketplace.name (= source.name for settings). A mismatch means
|
|
575
|
+
// the reconciler never converges — every session: key-lookup misses →
|
|
576
|
+
// 'missing' → source-idempotency returns alreadyMaterialized but
|
|
577
|
+
// installed++ anyway → pointless cache clears. For github/git/url the
|
|
578
|
+
// name comes from a fetched marketplace.json (mismatch is expected and
|
|
579
|
+
// benign); for settings, both key and name are user-authored in the
|
|
580
|
+
// same JSON object.
|
|
581
|
+
for (const [key, entry] of Object.entries(ctx.value)) {
|
|
582
|
+
if (
|
|
583
|
+
entry.source.source === 'settings' &&
|
|
584
|
+
entry.source.name !== key
|
|
585
|
+
) {
|
|
586
|
+
ctx.issues.push({
|
|
587
|
+
code: 'custom',
|
|
588
|
+
input: entry.source.name,
|
|
589
|
+
path: [key, 'source', 'name'],
|
|
590
|
+
message:
|
|
591
|
+
`Settings-sourced marketplace name must match its extraKnownMarketplaces key ` +
|
|
592
|
+
`(got key "${key}" but source.name "${entry.source.name}")`,
|
|
593
|
+
})
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
})
|
|
597
|
+
.optional()
|
|
598
|
+
.describe(
|
|
599
|
+
'Additional marketplaces to make available for this repository. Typically used in repository .claude/settings.json to ensure team members have required plugin sources.',
|
|
600
|
+
),
|
|
601
|
+
// Enterprise strict list of allowed marketplace sources (policy settings only)
|
|
602
|
+
// When set, ONLY these exact sources can be added. Check happens BEFORE download.
|
|
603
|
+
strictKnownMarketplaces: z
|
|
604
|
+
.array(MarketplaceSourceSchema())
|
|
605
|
+
.optional()
|
|
606
|
+
.describe(
|
|
607
|
+
'Enterprise strict list of allowed marketplace sources. When set in managed settings, ' +
|
|
608
|
+
'ONLY these exact sources can be added as marketplaces. The check happens BEFORE ' +
|
|
609
|
+
'downloading, so blocked sources never touch the filesystem. ' +
|
|
610
|
+
'Note: this is a policy gate only — it does NOT register marketplaces. ' +
|
|
611
|
+
'To pre-register allowed marketplaces for users, also set extraKnownMarketplaces.',
|
|
612
|
+
),
|
|
613
|
+
// Enterprise blocklist of marketplace sources (policy settings only)
|
|
614
|
+
// When set, these exact sources are blocked. Check happens BEFORE download.
|
|
615
|
+
blockedMarketplaces: z
|
|
616
|
+
.array(MarketplaceSourceSchema())
|
|
617
|
+
.optional()
|
|
618
|
+
.describe(
|
|
619
|
+
'Enterprise blocklist of marketplace sources. When set in managed settings, ' +
|
|
620
|
+
'these exact sources are blocked from being added as marketplaces. The check happens BEFORE ' +
|
|
621
|
+
'downloading, so blocked sources never touch the filesystem.',
|
|
622
|
+
),
|
|
623
|
+
// Force a specific login method: 'claudeai' for Claude Pro/Max, 'console' for Console billing
|
|
624
|
+
forceLoginMethod: z
|
|
625
|
+
.enum(['claudeai', 'console'])
|
|
626
|
+
.optional()
|
|
627
|
+
.describe(
|
|
628
|
+
'Force a specific login method: "claudeai" for Claude Pro/Max, "console" for Console billing',
|
|
629
|
+
),
|
|
630
|
+
// Organization UUID to use for OAuth login (will be added as URL param to authorization URL)
|
|
631
|
+
forceLoginOrgUUID: z
|
|
632
|
+
.string()
|
|
633
|
+
.optional()
|
|
634
|
+
.describe('Organization UUID to use for OAuth login'),
|
|
635
|
+
otelHeadersHelper: z
|
|
636
|
+
.string()
|
|
637
|
+
.optional()
|
|
638
|
+
.describe('Path to a script that outputs OpenTelemetry headers'),
|
|
639
|
+
outputStyle: z
|
|
640
|
+
.string()
|
|
641
|
+
.optional()
|
|
642
|
+
.describe('Controls the output style for assistant responses'),
|
|
643
|
+
language: z
|
|
644
|
+
.string()
|
|
645
|
+
.optional()
|
|
646
|
+
.describe(
|
|
647
|
+
'Preferred language for Claude responses and voice dictation (e.g., "japanese", "spanish")',
|
|
648
|
+
),
|
|
649
|
+
skipWebFetchPreflight: z
|
|
650
|
+
.boolean()
|
|
651
|
+
.optional()
|
|
652
|
+
.describe(
|
|
653
|
+
'Skip the WebFetch blocklist check for enterprise environments with restrictive security policies',
|
|
654
|
+
),
|
|
655
|
+
sandbox: SandboxSettingsSchema().optional(),
|
|
656
|
+
feedbackSurveyRate: z
|
|
657
|
+
.number()
|
|
658
|
+
.min(0)
|
|
659
|
+
.max(1)
|
|
660
|
+
.optional()
|
|
661
|
+
.describe(
|
|
662
|
+
'Probability (0–1) that the session quality survey appears when eligible. 0.05 is a reasonable starting point.',
|
|
663
|
+
),
|
|
664
|
+
spinnerTipsEnabled: z
|
|
665
|
+
.boolean()
|
|
666
|
+
.optional()
|
|
667
|
+
.describe('Whether to show tips in the spinner'),
|
|
668
|
+
spinnerVerbs: z
|
|
669
|
+
.object({
|
|
670
|
+
mode: z.enum(['append', 'replace']),
|
|
671
|
+
verbs: z.array(z.string()),
|
|
672
|
+
})
|
|
673
|
+
.optional()
|
|
674
|
+
.describe(
|
|
675
|
+
'Customize spinner verbs. mode: "append" adds verbs to defaults, "replace" uses only your verbs.',
|
|
676
|
+
),
|
|
677
|
+
spinnerTipsOverride: z
|
|
678
|
+
.object({
|
|
679
|
+
excludeDefault: z.boolean().optional(),
|
|
680
|
+
tips: z.array(z.string()),
|
|
681
|
+
})
|
|
682
|
+
.optional()
|
|
683
|
+
.describe(
|
|
684
|
+
'Override spinner tips. tips: array of tip strings. excludeDefault: if true, only show custom tips (default: false).',
|
|
685
|
+
),
|
|
686
|
+
syntaxHighlightingDisabled: z
|
|
687
|
+
.boolean()
|
|
688
|
+
.optional()
|
|
689
|
+
.describe('Whether to disable syntax highlighting in diffs'),
|
|
690
|
+
terminalTitleFromRename: z
|
|
691
|
+
.boolean()
|
|
692
|
+
.optional()
|
|
693
|
+
.describe(
|
|
694
|
+
'Whether /rename updates the terminal tab title (defaults to true). Set to false to keep auto-generated topic titles.',
|
|
695
|
+
),
|
|
696
|
+
alwaysThinkingEnabled: z
|
|
697
|
+
.boolean()
|
|
698
|
+
.optional()
|
|
699
|
+
.describe(
|
|
700
|
+
'When false, thinking is disabled. When absent or true, thinking is ' +
|
|
701
|
+
'enabled automatically for supported models.',
|
|
702
|
+
),
|
|
703
|
+
effortLevel: z
|
|
704
|
+
.enum(
|
|
705
|
+
process.env.USER_TYPE === 'ant'
|
|
706
|
+
? ['low', 'medium', 'high', 'max']
|
|
707
|
+
: ['low', 'medium', 'high'],
|
|
708
|
+
)
|
|
709
|
+
.optional()
|
|
710
|
+
.catch(undefined)
|
|
711
|
+
.describe('Persisted effort level for supported models.'),
|
|
712
|
+
advisorModel: z
|
|
713
|
+
.string()
|
|
714
|
+
.optional()
|
|
715
|
+
.describe('Advisor model for the server-side advisor tool.'),
|
|
716
|
+
fastMode: z
|
|
717
|
+
.boolean()
|
|
718
|
+
.optional()
|
|
719
|
+
.describe(
|
|
720
|
+
'When true, fast mode is enabled. When absent or false, fast mode is off.',
|
|
721
|
+
),
|
|
722
|
+
fastModePerSessionOptIn: z
|
|
723
|
+
.boolean()
|
|
724
|
+
.optional()
|
|
725
|
+
.describe(
|
|
726
|
+
'When true, fast mode does not persist across sessions. Each session starts with fast mode off.',
|
|
727
|
+
),
|
|
728
|
+
promptSuggestionEnabled: z
|
|
729
|
+
.boolean()
|
|
730
|
+
.optional()
|
|
731
|
+
.describe(
|
|
732
|
+
'When false, prompt suggestions are disabled. When absent or true, ' +
|
|
733
|
+
'prompt suggestions are enabled.',
|
|
734
|
+
),
|
|
735
|
+
showClearContextOnPlanAccept: z
|
|
736
|
+
.boolean()
|
|
737
|
+
.optional()
|
|
738
|
+
.describe(
|
|
739
|
+
'When true, the plan-approval dialog offers a "clear context" option. Defaults to false.',
|
|
740
|
+
),
|
|
741
|
+
agent: z
|
|
742
|
+
.string()
|
|
743
|
+
.optional()
|
|
744
|
+
.describe(
|
|
745
|
+
'Name of an agent (built-in or custom) to use for the main thread. ' +
|
|
746
|
+
"Applies the agent's system prompt, tool restrictions, and model.",
|
|
747
|
+
),
|
|
748
|
+
companyAnnouncements: z
|
|
749
|
+
.array(z.string())
|
|
750
|
+
.optional()
|
|
751
|
+
.describe(
|
|
752
|
+
'Company announcements to display at startup (one will be randomly selected if multiple are provided)',
|
|
753
|
+
),
|
|
754
|
+
pluginConfigs: z
|
|
755
|
+
.record(
|
|
756
|
+
z.string(),
|
|
757
|
+
z.object({
|
|
758
|
+
mcpServers: z
|
|
759
|
+
.record(
|
|
760
|
+
z.string(),
|
|
761
|
+
z.record(
|
|
762
|
+
z.string(),
|
|
763
|
+
z.union([
|
|
764
|
+
z.string(),
|
|
765
|
+
z.number(),
|
|
766
|
+
z.boolean(),
|
|
767
|
+
z.array(z.string()),
|
|
768
|
+
]),
|
|
769
|
+
),
|
|
770
|
+
)
|
|
771
|
+
.optional()
|
|
772
|
+
.describe(
|
|
773
|
+
'User configuration values for MCP servers keyed by server name',
|
|
774
|
+
),
|
|
775
|
+
options: z
|
|
776
|
+
.record(
|
|
777
|
+
z.string(),
|
|
778
|
+
z.union([
|
|
779
|
+
z.string(),
|
|
780
|
+
z.number(),
|
|
781
|
+
z.boolean(),
|
|
782
|
+
z.array(z.string()),
|
|
783
|
+
]),
|
|
784
|
+
)
|
|
785
|
+
.optional()
|
|
786
|
+
.describe(
|
|
787
|
+
'Non-sensitive option values from plugin manifest userConfig, keyed by option name. Sensitive values go to secure storage instead.',
|
|
788
|
+
),
|
|
789
|
+
}),
|
|
790
|
+
)
|
|
791
|
+
.optional()
|
|
792
|
+
.describe(
|
|
793
|
+
'Per-plugin configuration including MCP server user configs, keyed by plugin ID (plugin@marketplace format)',
|
|
794
|
+
),
|
|
795
|
+
remote: z
|
|
796
|
+
.object({
|
|
797
|
+
defaultEnvironmentId: z
|
|
798
|
+
.string()
|
|
799
|
+
.optional()
|
|
800
|
+
.describe('Default environment ID to use for remote sessions'),
|
|
801
|
+
})
|
|
802
|
+
.optional()
|
|
803
|
+
.describe('Remote session configuration'),
|
|
804
|
+
autoUpdatesChannel: z
|
|
805
|
+
.enum(['latest', 'stable'])
|
|
806
|
+
.optional()
|
|
807
|
+
.describe('Release channel for auto-updates (latest or stable)'),
|
|
808
|
+
...(feature('LODESTONE')
|
|
809
|
+
? {
|
|
810
|
+
disableDeepLinkRegistration: z
|
|
811
|
+
.enum(['disable'])
|
|
812
|
+
.optional()
|
|
813
|
+
.describe(
|
|
814
|
+
'Prevent claude-cli:// protocol handler registration with the OS',
|
|
815
|
+
),
|
|
816
|
+
}
|
|
817
|
+
: {}),
|
|
818
|
+
minimumVersion: z
|
|
819
|
+
.string()
|
|
820
|
+
.optional()
|
|
821
|
+
.describe(
|
|
822
|
+
'Minimum version to stay on - prevents downgrades when switching to stable channel',
|
|
823
|
+
),
|
|
824
|
+
plansDirectory: z
|
|
825
|
+
.string()
|
|
826
|
+
.optional()
|
|
827
|
+
.describe(
|
|
828
|
+
'Custom directory for plan files, relative to project root. ' +
|
|
829
|
+
'If not set, defaults to ~/.claude/plans/',
|
|
830
|
+
),
|
|
831
|
+
...(process.env.USER_TYPE === 'ant'
|
|
832
|
+
? {
|
|
833
|
+
classifierPermissionsEnabled: z
|
|
834
|
+
.boolean()
|
|
835
|
+
.optional()
|
|
836
|
+
.describe(
|
|
837
|
+
'Enable AI-based classification for Bash(prompt:...) permission rules',
|
|
838
|
+
),
|
|
839
|
+
}
|
|
840
|
+
: {}),
|
|
841
|
+
...(feature('PROACTIVE') || feature('KAIROS')
|
|
842
|
+
? {
|
|
843
|
+
minSleepDurationMs: z
|
|
844
|
+
.number()
|
|
845
|
+
.nonnegative()
|
|
846
|
+
.int()
|
|
847
|
+
.optional()
|
|
848
|
+
.describe(
|
|
849
|
+
'Minimum duration in milliseconds that the Sleep tool must sleep for. ' +
|
|
850
|
+
'Useful for throttling proactive tick frequency.',
|
|
851
|
+
),
|
|
852
|
+
maxSleepDurationMs: z
|
|
853
|
+
.number()
|
|
854
|
+
.int()
|
|
855
|
+
.min(-1)
|
|
856
|
+
.optional()
|
|
857
|
+
.describe(
|
|
858
|
+
'Maximum duration in milliseconds that the Sleep tool can sleep for. ' +
|
|
859
|
+
'Set to -1 for indefinite sleep (waits for user input). ' +
|
|
860
|
+
'Useful for limiting idle time in remote/managed environments.',
|
|
861
|
+
),
|
|
862
|
+
}
|
|
863
|
+
: {}),
|
|
864
|
+
...(feature('VOICE_MODE')
|
|
865
|
+
? {
|
|
866
|
+
voiceEnabled: z
|
|
867
|
+
.boolean()
|
|
868
|
+
.optional()
|
|
869
|
+
.describe('Enable voice mode (hold-to-talk dictation)'),
|
|
870
|
+
}
|
|
871
|
+
: {}),
|
|
872
|
+
...(feature('KAIROS')
|
|
873
|
+
? {
|
|
874
|
+
assistant: z
|
|
875
|
+
.boolean()
|
|
876
|
+
.optional()
|
|
877
|
+
.describe(
|
|
878
|
+
'Start Claude in assistant mode (custom system prompt, brief view, scheduled check-in skills)',
|
|
879
|
+
),
|
|
880
|
+
assistantName: z
|
|
881
|
+
.string()
|
|
882
|
+
.optional()
|
|
883
|
+
.describe(
|
|
884
|
+
'Display name for the assistant, shown in the claude.ai session list',
|
|
885
|
+
),
|
|
886
|
+
}
|
|
887
|
+
: {}),
|
|
888
|
+
// Teams/Enterprise opt-IN for channel notifications. Default OFF.
|
|
889
|
+
// MCP servers that declare the claude/channel capability can push
|
|
890
|
+
// inbound messages into the conversation; for managed orgs this only
|
|
891
|
+
// works when explicitly enabled. Which servers can connect at all is
|
|
892
|
+
// still governed by allowedMcpServers/deniedMcpServers. Not
|
|
893
|
+
// feature-spread: KAIROS_CHANNELS is external:true, and the spread
|
|
894
|
+
// wrecks type inference for allowedChannelPlugins (the .passthrough()
|
|
895
|
+
// catch-all gives {} instead of the array type).
|
|
896
|
+
channelsEnabled: z
|
|
897
|
+
.boolean()
|
|
898
|
+
.optional()
|
|
899
|
+
.describe(
|
|
900
|
+
'Teams/Enterprise opt-in for channel notifications (MCP servers with the ' +
|
|
901
|
+
'claude/channel capability pushing inbound messages). Default off. ' +
|
|
902
|
+
'Set true to allow; users then select servers via --channels.',
|
|
903
|
+
),
|
|
904
|
+
// Org-level channel plugin allowlist. When set, REPLACES the
|
|
905
|
+
// Anthropic ledger — admin owns the trust decision. Undefined means
|
|
906
|
+
// fall back to the ledger. Plugin-only entry shape (same as the
|
|
907
|
+
// ledger); server-kind entries still need the dev flag.
|
|
908
|
+
allowedChannelPlugins: z
|
|
909
|
+
.array(
|
|
910
|
+
z.object({
|
|
911
|
+
marketplace: z.string(),
|
|
912
|
+
plugin: z.string(),
|
|
913
|
+
}),
|
|
914
|
+
)
|
|
915
|
+
.optional()
|
|
916
|
+
.describe(
|
|
917
|
+
'Teams/Enterprise allowlist of channel plugins. When set, ' +
|
|
918
|
+
'replaces the default Anthropic allowlist — admins decide which ' +
|
|
919
|
+
'plugins may push inbound messages. Undefined falls back to the default. ' +
|
|
920
|
+
'Requires channelsEnabled: true.',
|
|
921
|
+
),
|
|
922
|
+
...(feature('KAIROS') || feature('KAIROS_BRIEF')
|
|
923
|
+
? {
|
|
924
|
+
defaultView: z
|
|
925
|
+
.enum(['chat', 'transcript'])
|
|
926
|
+
.optional()
|
|
927
|
+
.describe(
|
|
928
|
+
'Default transcript view: chat (SendUserMessage checkpoints only) or transcript (full)',
|
|
929
|
+
),
|
|
930
|
+
}
|
|
931
|
+
: {}),
|
|
932
|
+
prefersReducedMotion: z
|
|
933
|
+
.boolean()
|
|
934
|
+
.optional()
|
|
935
|
+
.describe(
|
|
936
|
+
'Reduce or disable animations for accessibility (spinner shimmer, flash effects, etc.)',
|
|
937
|
+
),
|
|
938
|
+
autoMemoryEnabled: z
|
|
939
|
+
.boolean()
|
|
940
|
+
.optional()
|
|
941
|
+
.describe(
|
|
942
|
+
'Enable auto-memory for this project. When false, Claude will not read from or write to the auto-memory directory.',
|
|
943
|
+
),
|
|
944
|
+
autoMemoryDirectory: z
|
|
945
|
+
.string()
|
|
946
|
+
.optional()
|
|
947
|
+
.describe(
|
|
948
|
+
'Custom directory path for auto-memory storage. Supports ~/ prefix for home directory expansion. Ignored if set in projectSettings (checked-in .claude/settings.json) for security. When unset, defaults to ~/.claude/projects/<sanitized-cwd>/memory/.',
|
|
949
|
+
),
|
|
950
|
+
autoDreamEnabled: z
|
|
951
|
+
.boolean()
|
|
952
|
+
.optional()
|
|
953
|
+
.describe(
|
|
954
|
+
'Enable background memory consolidation (auto-dream). When set, overrides the server-side default.',
|
|
955
|
+
),
|
|
956
|
+
showThinkingSummaries: z
|
|
957
|
+
.boolean()
|
|
958
|
+
.optional()
|
|
959
|
+
.describe(
|
|
960
|
+
'Show thinking summaries in the transcript view (ctrl+o). Default: false.',
|
|
961
|
+
),
|
|
962
|
+
skipDangerousModePermissionPrompt: z
|
|
963
|
+
.boolean()
|
|
964
|
+
.optional()
|
|
965
|
+
.describe(
|
|
966
|
+
'Whether the user has accepted the bypass permissions mode dialog',
|
|
967
|
+
),
|
|
968
|
+
...(feature('TRANSCRIPT_CLASSIFIER')
|
|
969
|
+
? {
|
|
970
|
+
skipAutoPermissionPrompt: z
|
|
971
|
+
.boolean()
|
|
972
|
+
.optional()
|
|
973
|
+
.describe(
|
|
974
|
+
'Whether the user has accepted the auto mode opt-in dialog',
|
|
975
|
+
),
|
|
976
|
+
useAutoModeDuringPlan: z
|
|
977
|
+
.boolean()
|
|
978
|
+
.optional()
|
|
979
|
+
.describe(
|
|
980
|
+
'Whether plan mode uses auto mode semantics when auto mode is available (default: true)',
|
|
981
|
+
),
|
|
982
|
+
autoMode: z
|
|
983
|
+
.object({
|
|
984
|
+
allow: z
|
|
985
|
+
.array(z.string())
|
|
986
|
+
.optional()
|
|
987
|
+
.describe('Rules for the auto mode classifier allow section'),
|
|
988
|
+
soft_deny: z
|
|
989
|
+
.array(z.string())
|
|
990
|
+
.optional()
|
|
991
|
+
.describe('Rules for the auto mode classifier deny section'),
|
|
992
|
+
...(process.env.USER_TYPE === 'ant'
|
|
993
|
+
? {
|
|
994
|
+
// Back-compat alias for ant users; external users use soft_deny
|
|
995
|
+
deny: z.array(z.string()).optional(),
|
|
996
|
+
}
|
|
997
|
+
: {}),
|
|
998
|
+
environment: z
|
|
999
|
+
.array(z.string())
|
|
1000
|
+
.optional()
|
|
1001
|
+
.describe(
|
|
1002
|
+
'Entries for the auto mode classifier environment section',
|
|
1003
|
+
),
|
|
1004
|
+
})
|
|
1005
|
+
.optional()
|
|
1006
|
+
.describe('Auto mode classifier prompt customization'),
|
|
1007
|
+
}
|
|
1008
|
+
: {}),
|
|
1009
|
+
disableAutoMode: z
|
|
1010
|
+
.enum(['disable'])
|
|
1011
|
+
.optional()
|
|
1012
|
+
.describe('Disable auto mode'),
|
|
1013
|
+
sshConfigs: z
|
|
1014
|
+
.array(
|
|
1015
|
+
z.object({
|
|
1016
|
+
id: z
|
|
1017
|
+
.string()
|
|
1018
|
+
.describe(
|
|
1019
|
+
'Unique identifier for this SSH config. Used to match configs across settings sources.',
|
|
1020
|
+
),
|
|
1021
|
+
name: z.string().describe('Display name for the SSH connection'),
|
|
1022
|
+
sshHost: z
|
|
1023
|
+
.string()
|
|
1024
|
+
.describe(
|
|
1025
|
+
'SSH host in format "user@hostname" or "hostname", or a host alias from ~/.ssh/config',
|
|
1026
|
+
),
|
|
1027
|
+
sshPort: z
|
|
1028
|
+
.number()
|
|
1029
|
+
.int()
|
|
1030
|
+
.optional()
|
|
1031
|
+
.describe('SSH port (default: 22)'),
|
|
1032
|
+
sshIdentityFile: z
|
|
1033
|
+
.string()
|
|
1034
|
+
.optional()
|
|
1035
|
+
.describe('Path to SSH identity file (private key)'),
|
|
1036
|
+
startDirectory: z
|
|
1037
|
+
.string()
|
|
1038
|
+
.optional()
|
|
1039
|
+
.describe(
|
|
1040
|
+
'Default working directory on the remote host. ' +
|
|
1041
|
+
'Supports tilde expansion (e.g. ~/projects). ' +
|
|
1042
|
+
'If not specified, defaults to the remote user home directory. ' +
|
|
1043
|
+
'Can be overridden by the [dir] positional argument in `claude ssh <config> [dir]`.',
|
|
1044
|
+
),
|
|
1045
|
+
}),
|
|
1046
|
+
)
|
|
1047
|
+
.optional()
|
|
1048
|
+
.describe(
|
|
1049
|
+
'SSH connection configurations for remote environments. ' +
|
|
1050
|
+
'Typically set in managed settings by enterprise administrators ' +
|
|
1051
|
+
'to pre-configure SSH connections for team members.',
|
|
1052
|
+
),
|
|
1053
|
+
claudeMdExcludes: z
|
|
1054
|
+
.array(z.string())
|
|
1055
|
+
.optional()
|
|
1056
|
+
.describe(
|
|
1057
|
+
'Glob patterns or absolute paths of CLAUDE.md files to exclude from loading. ' +
|
|
1058
|
+
'Patterns are matched against absolute file paths using picomatch. ' +
|
|
1059
|
+
'Only applies to User, Project, and Local memory types (Managed/policy files cannot be excluded). ' +
|
|
1060
|
+
'Examples: "/home/user/monorepo/CLAUDE.md", "**/code/CLAUDE.md", "**/some-dir/.claude/rules/**"',
|
|
1061
|
+
),
|
|
1062
|
+
pluginTrustMessage: z
|
|
1063
|
+
.string()
|
|
1064
|
+
.optional()
|
|
1065
|
+
.describe(
|
|
1066
|
+
'Custom message to append to the plugin trust warning shown before installation. ' +
|
|
1067
|
+
'Only read from policy settings (managed-settings.json / MDM). ' +
|
|
1068
|
+
'Useful for enterprise administrators to add organization-specific context ' +
|
|
1069
|
+
'(e.g., "All plugins from our internal marketplace are vetted and approved.").',
|
|
1070
|
+
),
|
|
1071
|
+
})
|
|
1072
|
+
.passthrough(),
|
|
1073
|
+
)
|
|
1074
|
+
|
|
1075
|
+
/**
|
|
1076
|
+
* Internal type for plugin hooks - includes plugin context for execution.
|
|
1077
|
+
* Not a Zod schema since it's not user-facing (plugins provide native hooks).
|
|
1078
|
+
*/
|
|
1079
|
+
export type PluginHookMatcher = {
|
|
1080
|
+
matcher?: string
|
|
1081
|
+
hooks: HookCommand[]
|
|
1082
|
+
pluginRoot: string
|
|
1083
|
+
pluginName: string
|
|
1084
|
+
pluginId: string // format: "pluginName@marketplaceName"
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
/**
|
|
1088
|
+
* Internal type for skill hooks - includes skill context for execution.
|
|
1089
|
+
* Not a Zod schema since it's not user-facing (skills provide native hooks).
|
|
1090
|
+
*/
|
|
1091
|
+
export type SkillHookMatcher = {
|
|
1092
|
+
matcher?: string
|
|
1093
|
+
hooks: HookCommand[]
|
|
1094
|
+
skillRoot: string
|
|
1095
|
+
skillName: string
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
export type AllowedMcpServerEntry = z.infer<
|
|
1099
|
+
ReturnType<typeof AllowedMcpServerEntrySchema>
|
|
1100
|
+
>
|
|
1101
|
+
export type DeniedMcpServerEntry = z.infer<
|
|
1102
|
+
ReturnType<typeof DeniedMcpServerEntrySchema>
|
|
1103
|
+
>
|
|
1104
|
+
export type SettingsJson = z.infer<ReturnType<typeof SettingsSchema>>
|
|
1105
|
+
|
|
1106
|
+
/**
|
|
1107
|
+
* Type guard for MCP server entry with serverName
|
|
1108
|
+
*/
|
|
1109
|
+
export function isMcpServerNameEntry(
|
|
1110
|
+
entry: AllowedMcpServerEntry | DeniedMcpServerEntry,
|
|
1111
|
+
): entry is { serverName: string } {
|
|
1112
|
+
return 'serverName' in entry && entry.serverName !== undefined
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
/**
|
|
1116
|
+
* Type guard for MCP server entry with serverCommand
|
|
1117
|
+
*/
|
|
1118
|
+
export function isMcpServerCommandEntry(
|
|
1119
|
+
entry: AllowedMcpServerEntry | DeniedMcpServerEntry,
|
|
1120
|
+
): entry is { serverCommand: string[] } {
|
|
1121
|
+
return 'serverCommand' in entry && entry.serverCommand !== undefined
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
/**
|
|
1125
|
+
* Type guard for MCP server entry with serverUrl
|
|
1126
|
+
*/
|
|
1127
|
+
export function isMcpServerUrlEntry(
|
|
1128
|
+
entry: AllowedMcpServerEntry | DeniedMcpServerEntry,
|
|
1129
|
+
): entry is { serverUrl: string } {
|
|
1130
|
+
return 'serverUrl' in entry && entry.serverUrl !== undefined
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
/**
|
|
1134
|
+
* User configuration values for MCPB MCP servers
|
|
1135
|
+
*/
|
|
1136
|
+
export type UserConfigValues = Record<
|
|
1137
|
+
string,
|
|
1138
|
+
string | number | boolean | string[]
|
|
1139
|
+
>
|
|
1140
|
+
|
|
1141
|
+
/**
|
|
1142
|
+
* Plugin configuration stored in settings.json
|
|
1143
|
+
*/
|
|
1144
|
+
export type PluginConfig = {
|
|
1145
|
+
mcpServers?: {
|
|
1146
|
+
[serverName: string]: UserConfigValues
|
|
1147
|
+
}
|
|
1148
|
+
}
|