@xortex/xcode 3.0.1 → 3.0.3

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.
Files changed (969) hide show
  1. package/QueryEngine.ts +1331 -0
  2. package/Task.ts +125 -0
  3. package/Tool.ts +792 -0
  4. package/assistant/sessionHistory.ts +87 -0
  5. package/bin/xcode +57 -25
  6. package/bridge/bridgeApi.ts +539 -0
  7. package/bridge/bridgeConfig.ts +48 -0
  8. package/bridge/bridgeDebug.ts +135 -0
  9. package/bridge/bridgeEnabled.ts +202 -0
  10. package/bridge/bridgeMain.ts +2999 -0
  11. package/bridge/bridgeMessaging.ts +461 -0
  12. package/bridge/bridgePermissionCallbacks.ts +43 -0
  13. package/bridge/bridgePointer.ts +210 -0
  14. package/bridge/bridgeStatusUtil.ts +163 -0
  15. package/bridge/bridgeUI.ts +530 -0
  16. package/bridge/capacityWake.ts +56 -0
  17. package/bridge/codeSessionApi.ts +168 -0
  18. package/bridge/createSession.ts +384 -0
  19. package/bridge/debugUtils.ts +141 -0
  20. package/bridge/envLessBridgeConfig.ts +165 -0
  21. package/bridge/flushGate.ts +71 -0
  22. package/bridge/inboundAttachments.ts +175 -0
  23. package/bridge/inboundMessages.ts +80 -0
  24. package/bridge/initReplBridge.ts +569 -0
  25. package/bridge/jwtUtils.ts +256 -0
  26. package/bridge/pollConfig.ts +110 -0
  27. package/bridge/pollConfigDefaults.ts +82 -0
  28. package/bridge/remoteBridgeCore.ts +1008 -0
  29. package/bridge/replBridge.ts +2406 -0
  30. package/bridge/replBridgeHandle.ts +36 -0
  31. package/bridge/replBridgeTransport.ts +370 -0
  32. package/bridge/sessionIdCompat.ts +57 -0
  33. package/bridge/sessionRunner.ts +550 -0
  34. package/bridge/trustedDevice.ts +210 -0
  35. package/bridge/types.ts +262 -0
  36. package/bridge/workSecret.ts +127 -0
  37. package/buddy/CompanionSprite.tsx +371 -0
  38. package/buddy/companion.ts +133 -0
  39. package/buddy/prompt.ts +36 -0
  40. package/buddy/sprites.ts +514 -0
  41. package/buddy/types.ts +148 -0
  42. package/buddy/useBuddyNotification.tsx +98 -0
  43. package/cli/exit.ts +31 -0
  44. package/cli/handlers/agents.ts +70 -0
  45. package/cli/handlers/auth.ts +330 -0
  46. package/cli/handlers/autoMode.ts +170 -0
  47. package/cli/handlers/mcp.tsx +362 -0
  48. package/cli/handlers/plugins.ts +878 -0
  49. package/cli/handlers/util.tsx +110 -0
  50. package/cli/ndjsonSafeStringify.ts +32 -0
  51. package/cli/print.ts +5594 -0
  52. package/cli/remoteIO.ts +255 -0
  53. package/cli/structuredIO.ts +859 -0
  54. package/cli/transports/HybridTransport.ts +282 -0
  55. package/cli/transports/SSETransport.ts +711 -0
  56. package/cli/transports/SerialBatchEventUploader.ts +275 -0
  57. package/cli/transports/WebSocketTransport.ts +800 -0
  58. package/cli/transports/WorkerStateUploader.ts +131 -0
  59. package/cli/transports/ccrClient.ts +998 -0
  60. package/cli/transports/transportUtils.ts +45 -0
  61. package/cli/update.ts +422 -0
  62. package/commands/add-dir/add-dir.tsx +126 -0
  63. package/commands/add-dir/index.ts +11 -0
  64. package/commands/add-dir/validation.ts +110 -0
  65. package/commands/advisor.ts +109 -0
  66. package/commands/agents/agents.tsx +12 -0
  67. package/commands/agents/index.ts +10 -0
  68. package/commands/ant-trace/index.js +1 -0
  69. package/commands/autofix-pr/index.js +1 -0
  70. package/commands/backfill-sessions/index.js +1 -0
  71. package/commands/branch/branch.ts +296 -0
  72. package/commands/branch/index.ts +14 -0
  73. package/commands/break-cache/index.js +1 -0
  74. package/commands/bridge/bridge.tsx +509 -0
  75. package/commands/bridge/index.ts +26 -0
  76. package/commands/bridge-kick.ts +200 -0
  77. package/commands/brief.ts +130 -0
  78. package/commands/btw/btw.tsx +243 -0
  79. package/commands/btw/index.ts +13 -0
  80. package/commands/bughunter/index.js +1 -0
  81. package/commands/chrome/chrome.tsx +285 -0
  82. package/commands/chrome/index.ts +13 -0
  83. package/commands/clear/caches.ts +144 -0
  84. package/commands/clear/clear.ts +7 -0
  85. package/commands/clear/conversation.ts +251 -0
  86. package/commands/clear/index.ts +19 -0
  87. package/commands/color/color.ts +93 -0
  88. package/commands/color/index.ts +16 -0
  89. package/commands/commit-push-pr.ts +158 -0
  90. package/commands/commit.ts +92 -0
  91. package/commands/compact/compact.ts +287 -0
  92. package/commands/compact/index.ts +15 -0
  93. package/commands/config/config.tsx +7 -0
  94. package/commands/config/index.ts +11 -0
  95. package/commands/context/context-noninteractive.ts +325 -0
  96. package/commands/context/context.tsx +64 -0
  97. package/commands/context/index.ts +24 -0
  98. package/commands/copy/copy.tsx +371 -0
  99. package/commands/copy/index.ts +15 -0
  100. package/commands/cost/cost.ts +24 -0
  101. package/commands/cost/index.ts +23 -0
  102. package/commands/createMovedToPluginCommand.ts +65 -0
  103. package/commands/ctx_viz/index.js +1 -0
  104. package/commands/debug-tool-call/index.js +1 -0
  105. package/commands/desktop/desktop.tsx +9 -0
  106. package/commands/desktop/index.ts +26 -0
  107. package/commands/diff/diff.tsx +9 -0
  108. package/commands/diff/index.ts +8 -0
  109. package/commands/doctor/doctor.tsx +7 -0
  110. package/commands/doctor/index.ts +12 -0
  111. package/commands/effort/effort.tsx +183 -0
  112. package/commands/effort/index.ts +13 -0
  113. package/commands/env/index.js +1 -0
  114. package/commands/exit/exit.tsx +33 -0
  115. package/commands/exit/index.ts +12 -0
  116. package/commands/export/export.tsx +91 -0
  117. package/commands/export/index.ts +11 -0
  118. package/commands/extra-usage/extra-usage-core.ts +118 -0
  119. package/commands/extra-usage/extra-usage-noninteractive.ts +16 -0
  120. package/commands/extra-usage/extra-usage.tsx +17 -0
  121. package/commands/extra-usage/index.ts +31 -0
  122. package/commands/fast/fast.tsx +269 -0
  123. package/commands/fast/index.ts +26 -0
  124. package/commands/feedback/feedback.tsx +25 -0
  125. package/commands/feedback/index.ts +26 -0
  126. package/commands/files/files.ts +19 -0
  127. package/commands/files/index.ts +12 -0
  128. package/commands/good-claude/index.js +1 -0
  129. package/commands/heapdump/heapdump.ts +17 -0
  130. package/commands/heapdump/index.ts +12 -0
  131. package/commands/help/help.tsx +11 -0
  132. package/commands/help/index.ts +10 -0
  133. package/commands/hooks/hooks.tsx +13 -0
  134. package/commands/hooks/index.ts +11 -0
  135. package/commands/ide/ide.tsx +646 -0
  136. package/commands/ide/index.ts +11 -0
  137. package/commands/init-verifiers.ts +262 -0
  138. package/commands/init.ts +256 -0
  139. package/commands/insights.ts +3200 -0
  140. package/commands/install-github-app/ApiKeyStep.tsx +231 -0
  141. package/commands/install-github-app/CheckExistingSecretStep.tsx +190 -0
  142. package/commands/install-github-app/CheckGitHubStep.tsx +15 -0
  143. package/commands/install-github-app/ChooseRepoStep.tsx +211 -0
  144. package/commands/install-github-app/CreatingStep.tsx +65 -0
  145. package/commands/install-github-app/ErrorStep.tsx +85 -0
  146. package/commands/install-github-app/ExistingWorkflowStep.tsx +103 -0
  147. package/commands/install-github-app/InstallAppStep.tsx +94 -0
  148. package/commands/install-github-app/OAuthFlowStep.tsx +276 -0
  149. package/commands/install-github-app/SuccessStep.tsx +96 -0
  150. package/commands/install-github-app/WarningsStep.tsx +73 -0
  151. package/commands/install-github-app/index.ts +13 -0
  152. package/commands/install-github-app/install-github-app.tsx +587 -0
  153. package/commands/install-github-app/setupGitHubActions.ts +325 -0
  154. package/commands/install-slack-app/index.ts +12 -0
  155. package/commands/install-slack-app/install-slack-app.ts +30 -0
  156. package/commands/install.tsx +300 -0
  157. package/commands/issue/index.js +1 -0
  158. package/commands/keybindings/index.ts +13 -0
  159. package/commands/keybindings/keybindings.ts +53 -0
  160. package/commands/login/index.ts +14 -0
  161. package/commands/login/login.tsx +104 -0
  162. package/commands/logout/index.ts +10 -0
  163. package/commands/logout/logout.tsx +82 -0
  164. package/commands/mcp/addCommand.ts +280 -0
  165. package/commands/mcp/index.ts +12 -0
  166. package/commands/mcp/mcp.tsx +85 -0
  167. package/commands/mcp/xaaIdpCommand.ts +266 -0
  168. package/commands/memory/index.ts +10 -0
  169. package/commands/memory/memory.tsx +90 -0
  170. package/commands/mobile/index.ts +11 -0
  171. package/commands/mobile/mobile.tsx +274 -0
  172. package/commands/mock-limits/index.js +1 -0
  173. package/commands/model/index.ts +16 -0
  174. package/commands/model/model.tsx +297 -0
  175. package/commands/oauth-refresh/index.js +1 -0
  176. package/commands/onboarding/index.js +1 -0
  177. package/commands/output-style/index.ts +11 -0
  178. package/commands/output-style/output-style.tsx +7 -0
  179. package/commands/passes/index.ts +22 -0
  180. package/commands/passes/passes.tsx +24 -0
  181. package/commands/perf-issue/index.js +1 -0
  182. package/commands/permissions/index.ts +11 -0
  183. package/commands/permissions/permissions.tsx +10 -0
  184. package/commands/plan/index.ts +11 -0
  185. package/commands/plan/plan.tsx +122 -0
  186. package/commands/plugin/AddMarketplace.tsx +162 -0
  187. package/commands/plugin/BrowseMarketplace.tsx +802 -0
  188. package/commands/plugin/DiscoverPlugins.tsx +781 -0
  189. package/commands/plugin/ManageMarketplaces.tsx +838 -0
  190. package/commands/plugin/ManagePlugins.tsx +2215 -0
  191. package/commands/plugin/PluginErrors.tsx +124 -0
  192. package/commands/plugin/PluginOptionsDialog.tsx +357 -0
  193. package/commands/plugin/PluginOptionsFlow.tsx +135 -0
  194. package/commands/plugin/PluginSettings.tsx +1072 -0
  195. package/commands/plugin/PluginTrustWarning.tsx +32 -0
  196. package/commands/plugin/UnifiedInstalledCell.tsx +565 -0
  197. package/commands/plugin/ValidatePlugin.tsx +98 -0
  198. package/commands/plugin/index.tsx +11 -0
  199. package/commands/plugin/parseArgs.ts +103 -0
  200. package/commands/plugin/plugin.tsx +7 -0
  201. package/commands/plugin/pluginDetailsHelpers.tsx +117 -0
  202. package/commands/plugin/usePagination.ts +171 -0
  203. package/commands/pr_comments/index.ts +50 -0
  204. package/commands/privacy-settings/index.ts +14 -0
  205. package/commands/privacy-settings/privacy-settings.tsx +58 -0
  206. package/commands/rate-limit-options/index.ts +19 -0
  207. package/commands/rate-limit-options/rate-limit-options.tsx +210 -0
  208. package/commands/release-notes/index.ts +11 -0
  209. package/commands/release-notes/release-notes.ts +50 -0
  210. package/commands/reload-plugins/index.ts +18 -0
  211. package/commands/reload-plugins/reload-plugins.ts +61 -0
  212. package/commands/remote-env/index.ts +15 -0
  213. package/commands/remote-env/remote-env.tsx +7 -0
  214. package/commands/remote-setup/api.ts +182 -0
  215. package/commands/remote-setup/index.ts +20 -0
  216. package/commands/remote-setup/remote-setup.tsx +187 -0
  217. package/commands/rename/generateSessionName.ts +67 -0
  218. package/commands/rename/index.ts +12 -0
  219. package/commands/rename/rename.ts +87 -0
  220. package/commands/reset-limits/index.js +4 -0
  221. package/commands/resume/index.ts +12 -0
  222. package/commands/resume/resume.tsx +275 -0
  223. package/commands/review/UltrareviewOverageDialog.tsx +96 -0
  224. package/commands/review/reviewRemote.ts +316 -0
  225. package/commands/review/ultrareviewCommand.tsx +58 -0
  226. package/commands/review/ultrareviewEnabled.ts +14 -0
  227. package/commands/review.ts +57 -0
  228. package/commands/rewind/index.ts +13 -0
  229. package/commands/rewind/rewind.ts +13 -0
  230. package/commands/sandbox-toggle/index.ts +50 -0
  231. package/commands/sandbox-toggle/sandbox-toggle.tsx +83 -0
  232. package/commands/security-review.ts +243 -0
  233. package/commands/session/index.ts +16 -0
  234. package/commands/session/session.tsx +140 -0
  235. package/commands/share/index.js +1 -0
  236. package/commands/skills/index.ts +10 -0
  237. package/commands/skills/skills.tsx +8 -0
  238. package/commands/stats/index.ts +10 -0
  239. package/commands/stats/stats.tsx +7 -0
  240. package/commands/status/index.ts +12 -0
  241. package/commands/status/status.tsx +8 -0
  242. package/commands/statusline.tsx +24 -0
  243. package/commands/stickers/index.ts +11 -0
  244. package/commands/stickers/stickers.ts +16 -0
  245. package/commands/summary/index.js +1 -0
  246. package/commands/tag/index.ts +12 -0
  247. package/commands/tag/tag.tsx +215 -0
  248. package/commands/tasks/index.ts +11 -0
  249. package/commands/tasks/tasks.tsx +8 -0
  250. package/commands/teleport/index.js +1 -0
  251. package/commands/terminalSetup/index.ts +23 -0
  252. package/commands/terminalSetup/terminalSetup.tsx +531 -0
  253. package/commands/theme/index.ts +10 -0
  254. package/commands/theme/theme.tsx +57 -0
  255. package/commands/thinkback/index.ts +13 -0
  256. package/commands/thinkback/thinkback.tsx +554 -0
  257. package/commands/thinkback-play/index.ts +17 -0
  258. package/commands/thinkback-play/thinkback-play.ts +43 -0
  259. package/commands/ultraplan.tsx +471 -0
  260. package/commands/upgrade/index.ts +16 -0
  261. package/commands/upgrade/upgrade.tsx +38 -0
  262. package/commands/usage/index.ts +9 -0
  263. package/commands/usage/usage.tsx +7 -0
  264. package/commands/version.ts +22 -0
  265. package/commands/vim/index.ts +11 -0
  266. package/commands/vim/vim.ts +38 -0
  267. package/commands/voice/index.ts +20 -0
  268. package/commands/voice/voice.ts +150 -0
  269. package/commands/xingest/index.ts +11 -0
  270. package/commands/xingest/xingest.ts +90 -0
  271. package/commands/xsearch/index.ts +11 -0
  272. package/commands/xsearch/xsearch.ts +56 -0
  273. package/commands.ts +758 -0
  274. package/components/AgentProgressLine.tsx +136 -0
  275. package/components/App.tsx +56 -0
  276. package/components/ApproveApiKey.tsx +123 -0
  277. package/components/AutoModeOptInDialog.tsx +142 -0
  278. package/components/AutoUpdater.tsx +198 -0
  279. package/components/AutoUpdaterWrapper.tsx +91 -0
  280. package/components/AwsAuthStatusBox.tsx +82 -0
  281. package/components/BaseTextInput.tsx +136 -0
  282. package/components/BashModeProgress.tsx +56 -0
  283. package/components/BridgeDialog.tsx +401 -0
  284. package/components/BypassPermissionsModeDialog.tsx +87 -0
  285. package/components/ChannelDowngradeDialog.tsx +102 -0
  286. package/components/ClaudeCodeHint/PluginHintMenu.tsx +78 -0
  287. package/components/ClaudeInChromeOnboarding.tsx +121 -0
  288. package/components/ClaudeMdExternalIncludesDialog.tsx +137 -0
  289. package/components/ClickableImageRef.tsx +73 -0
  290. package/components/CompactSummary.tsx +118 -0
  291. package/components/ConfigurableShortcutHint.tsx +57 -0
  292. package/components/ConsoleOAuthFlow.tsx +631 -0
  293. package/components/ContextSuggestions.tsx +47 -0
  294. package/components/ContextVisualization.tsx +489 -0
  295. package/components/CoordinatorAgentStatus.tsx +273 -0
  296. package/components/CostThresholdDialog.tsx +50 -0
  297. package/components/CtrlOToExpand.tsx +51 -0
  298. package/components/CustomSelect/SelectMulti.tsx +213 -0
  299. package/components/CustomSelect/index.ts +3 -0
  300. package/components/CustomSelect/option-map.ts +50 -0
  301. package/components/CustomSelect/select-input-option.tsx +488 -0
  302. package/components/CustomSelect/select-option.tsx +68 -0
  303. package/components/CustomSelect/select.tsx +690 -0
  304. package/components/CustomSelect/use-multi-select-state.ts +414 -0
  305. package/components/CustomSelect/use-select-input.ts +287 -0
  306. package/components/CustomSelect/use-select-navigation.ts +653 -0
  307. package/components/CustomSelect/use-select-state.ts +157 -0
  308. package/components/DesktopHandoff.tsx +193 -0
  309. package/components/DesktopUpsell/DesktopUpsellStartup.tsx +171 -0
  310. package/components/DevBar.tsx +49 -0
  311. package/components/DevChannelsDialog.tsx +105 -0
  312. package/components/DiagnosticsDisplay.tsx +95 -0
  313. package/components/EffortCallout.tsx +265 -0
  314. package/components/EffortIndicator.ts +42 -0
  315. package/components/ExitFlow.tsx +48 -0
  316. package/components/ExportDialog.tsx +128 -0
  317. package/components/FallbackToolUseErrorMessage.tsx +116 -0
  318. package/components/FallbackToolUseRejectedMessage.tsx +16 -0
  319. package/components/FastIcon.tsx +46 -0
  320. package/components/Feedback.tsx +592 -0
  321. package/components/FeedbackSurvey/FeedbackSurvey.tsx +174 -0
  322. package/components/FeedbackSurvey/FeedbackSurveyView.tsx +108 -0
  323. package/components/FeedbackSurvey/TranscriptSharePrompt.tsx +88 -0
  324. package/components/FeedbackSurvey/submitTranscriptShare.ts +112 -0
  325. package/components/FeedbackSurvey/useDebouncedDigitInput.ts +82 -0
  326. package/components/FeedbackSurvey/useFeedbackSurvey.tsx +296 -0
  327. package/components/FeedbackSurvey/useMemorySurvey.tsx +213 -0
  328. package/components/FeedbackSurvey/usePostCompactSurvey.tsx +206 -0
  329. package/components/FeedbackSurvey/useSurveyState.tsx +100 -0
  330. package/components/FileEditToolDiff.tsx +181 -0
  331. package/components/FileEditToolUpdatedMessage.tsx +124 -0
  332. package/components/FileEditToolUseRejectedMessage.tsx +170 -0
  333. package/components/FilePathLink.tsx +43 -0
  334. package/components/FullscreenLayout.tsx +645 -0
  335. package/components/GlobalSearchDialog.tsx +343 -0
  336. package/components/HelpV2/Commands.tsx +82 -0
  337. package/components/HelpV2/General.tsx +23 -0
  338. package/components/HelpV2/HelpV2.tsx +184 -0
  339. package/components/HighlightedCode/Fallback.tsx +193 -0
  340. package/components/HighlightedCode.tsx +190 -0
  341. package/components/HistorySearchDialog.tsx +118 -0
  342. package/components/IdeAutoConnectDialog.tsx +154 -0
  343. package/components/IdeOnboardingDialog.tsx +167 -0
  344. package/components/IdeStatusIndicator.tsx +58 -0
  345. package/components/IdleReturnDialog.tsx +118 -0
  346. package/components/InterruptedByUser.tsx +15 -0
  347. package/components/InvalidConfigDialog.tsx +156 -0
  348. package/components/InvalidSettingsDialog.tsx +89 -0
  349. package/components/KeybindingWarnings.tsx +55 -0
  350. package/components/LanguagePicker.tsx +86 -0
  351. package/components/LogSelector.tsx +1575 -0
  352. package/components/LogoV2/AnimatedAsterisk.tsx +50 -0
  353. package/components/LogoV2/AnimatedClawd.tsx +124 -0
  354. package/components/LogoV2/ChannelsNotice.tsx +266 -0
  355. package/components/LogoV2/Clawd.tsx +14 -0
  356. package/components/LogoV2/CondensedLogo.tsx +161 -0
  357. package/components/LogoV2/EmergencyTip.tsx +58 -0
  358. package/components/LogoV2/Feed.tsx +112 -0
  359. package/components/LogoV2/FeedColumn.tsx +59 -0
  360. package/components/LogoV2/GuestPassesUpsell.tsx +70 -0
  361. package/components/LogoV2/LogoV2.tsx +543 -0
  362. package/components/LogoV2/Opus1mMergeNotice.tsx +55 -0
  363. package/components/LogoV2/OverageCreditUpsell.tsx +166 -0
  364. package/components/LogoV2/VoiceModeNotice.tsx +68 -0
  365. package/components/LogoV2/WelcomeV2.tsx +433 -0
  366. package/components/LogoV2/feedConfigs.tsx +92 -0
  367. package/components/LspRecommendation/LspRecommendationMenu.tsx +88 -0
  368. package/components/MCPServerApprovalDialog.tsx +115 -0
  369. package/components/MCPServerDesktopImportDialog.tsx +203 -0
  370. package/components/MCPServerDialogCopy.tsx +15 -0
  371. package/components/MCPServerMultiselectDialog.tsx +133 -0
  372. package/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx +149 -0
  373. package/components/ManagedSettingsSecurityDialog/utils.ts +144 -0
  374. package/components/Markdown.tsx +236 -0
  375. package/components/MarkdownTable.tsx +322 -0
  376. package/components/MemoryUsageIndicator.tsx +37 -0
  377. package/components/Message.tsx +627 -0
  378. package/components/MessageModel.tsx +43 -0
  379. package/components/MessageResponse.tsx +78 -0
  380. package/components/MessageRow.tsx +383 -0
  381. package/components/MessageSelector.tsx +831 -0
  382. package/components/MessageTimestamp.tsx +63 -0
  383. package/components/Messages.tsx +834 -0
  384. package/components/ModelPicker.tsx +448 -0
  385. package/components/NativeAutoUpdater.tsx +193 -0
  386. package/components/NotebookEditToolUseRejectedMessage.tsx +92 -0
  387. package/components/OffscreenFreeze.tsx +44 -0
  388. package/components/Onboarding.tsx +244 -0
  389. package/components/OutputStylePicker.tsx +112 -0
  390. package/components/PackageManagerAutoUpdater.tsx +104 -0
  391. package/components/Passes/Passes.tsx +184 -0
  392. package/components/PrBadge.tsx +97 -0
  393. package/components/PressEnterToContinue.tsx +15 -0
  394. package/components/PromptInput/HistorySearchInput.tsx +51 -0
  395. package/components/PromptInput/IssueFlagBanner.tsx +12 -0
  396. package/components/PromptInput/Notifications.tsx +332 -0
  397. package/components/PromptInput/PromptInput.tsx +2350 -0
  398. package/components/PromptInput/PromptInputFooter.tsx +191 -0
  399. package/components/PromptInput/PromptInputFooterLeftSide.tsx +524 -0
  400. package/components/PromptInput/PromptInputFooterSuggestions.tsx +293 -0
  401. package/components/PromptInput/PromptInputHelpMenu.tsx +358 -0
  402. package/components/PromptInput/PromptInputModeIndicator.tsx +93 -0
  403. package/components/PromptInput/PromptInputQueuedCommands.tsx +117 -0
  404. package/components/PromptInput/PromptInputStashNotice.tsx +25 -0
  405. package/components/PromptInput/SandboxPromptFooterHint.tsx +64 -0
  406. package/components/PromptInput/ShimmeredInput.tsx +143 -0
  407. package/components/PromptInput/VoiceIndicator.tsx +137 -0
  408. package/components/PromptInput/inputModes.ts +33 -0
  409. package/components/PromptInput/inputPaste.ts +90 -0
  410. package/components/PromptInput/useMaybeTruncateInput.ts +58 -0
  411. package/components/PromptInput/usePromptInputPlaceholder.ts +78 -0
  412. package/components/PromptInput/useShowFastIconHint.ts +31 -0
  413. package/components/PromptInput/useSwarmBanner.ts +155 -0
  414. package/components/PromptInput/utils.ts +60 -0
  415. package/components/QuickOpenDialog.tsx +244 -0
  416. package/components/RemoteCallout.tsx +76 -0
  417. package/components/RemoteEnvironmentDialog.tsx +340 -0
  418. package/components/ResumeTask.tsx +268 -0
  419. package/components/SandboxViolationExpandedView.tsx +99 -0
  420. package/components/ScrollKeybindingHandler.tsx +1012 -0
  421. package/components/SearchBox.tsx +72 -0
  422. package/components/SentryErrorBoundary.ts +28 -0
  423. package/components/SessionBackgroundHint.tsx +108 -0
  424. package/components/SessionPreview.tsx +194 -0
  425. package/components/Settings/Config.tsx +1822 -0
  426. package/components/Settings/Settings.tsx +137 -0
  427. package/components/Settings/Status.tsx +241 -0
  428. package/components/Settings/Usage.tsx +377 -0
  429. package/components/ShowInIDEPrompt.tsx +170 -0
  430. package/components/SkillImprovementSurvey.tsx +152 -0
  431. package/components/Spinner/FlashingChar.tsx +61 -0
  432. package/components/Spinner/GlimmerMessage.tsx +328 -0
  433. package/components/Spinner/ShimmerChar.tsx +36 -0
  434. package/components/Spinner/SpinnerAnimationRow.tsx +265 -0
  435. package/components/Spinner/SpinnerGlyph.tsx +80 -0
  436. package/components/Spinner/TeammateSpinnerLine.tsx +233 -0
  437. package/components/Spinner/TeammateSpinnerTree.tsx +272 -0
  438. package/components/Spinner/index.ts +10 -0
  439. package/components/Spinner/teammateSelectHint.ts +1 -0
  440. package/components/Spinner/useShimmerAnimation.ts +31 -0
  441. package/components/Spinner/useStalledAnimation.ts +75 -0
  442. package/components/Spinner/utils.ts +84 -0
  443. package/components/Spinner.tsx +562 -0
  444. package/components/Stats.tsx +1228 -0
  445. package/components/StatusLine.tsx +324 -0
  446. package/components/StatusNotices.tsx +55 -0
  447. package/components/StructuredDiff/Fallback.tsx +487 -0
  448. package/components/StructuredDiff/colorDiff.ts +37 -0
  449. package/components/StructuredDiff.tsx +190 -0
  450. package/components/StructuredDiffList.tsx +30 -0
  451. package/components/TagTabs.tsx +139 -0
  452. package/components/TaskListV2.tsx +378 -0
  453. package/components/TeammateViewHeader.tsx +82 -0
  454. package/components/TeleportError.tsx +189 -0
  455. package/components/TeleportProgress.tsx +140 -0
  456. package/components/TeleportRepoMismatchDialog.tsx +104 -0
  457. package/components/TeleportResumeWrapper.tsx +167 -0
  458. package/components/TeleportStash.tsx +116 -0
  459. package/components/TextInput.tsx +124 -0
  460. package/components/ThemePicker.tsx +333 -0
  461. package/components/ThinkingToggle.tsx +153 -0
  462. package/components/TokenWarning.tsx +179 -0
  463. package/components/ToolUseLoader.tsx +42 -0
  464. package/components/TrustDialog/TrustDialog.tsx +290 -0
  465. package/components/TrustDialog/utils.ts +245 -0
  466. package/components/ValidationErrorsList.tsx +148 -0
  467. package/components/VimTextInput.tsx +140 -0
  468. package/components/VirtualMessageList.tsx +1082 -0
  469. package/components/WorkflowMultiselectDialog.tsx +128 -0
  470. package/components/WorktreeExitDialog.tsx +231 -0
  471. package/components/agents/AgentDetail.tsx +220 -0
  472. package/components/agents/AgentEditor.tsx +178 -0
  473. package/components/agents/AgentNavigationFooter.tsx +26 -0
  474. package/components/agents/AgentsList.tsx +440 -0
  475. package/components/agents/AgentsMenu.tsx +800 -0
  476. package/components/agents/ColorPicker.tsx +112 -0
  477. package/components/agents/ModelSelector.tsx +68 -0
  478. package/components/agents/ToolSelector.tsx +562 -0
  479. package/components/agents/agentFileUtils.ts +272 -0
  480. package/components/agents/generateAgent.ts +197 -0
  481. package/components/agents/new-agent-creation/CreateAgentWizard.tsx +97 -0
  482. package/components/agents/new-agent-creation/wizard-steps/ColorStep.tsx +84 -0
  483. package/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx +378 -0
  484. package/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx +74 -0
  485. package/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx +123 -0
  486. package/components/agents/new-agent-creation/wizard-steps/GenerateStep.tsx +143 -0
  487. package/components/agents/new-agent-creation/wizard-steps/LocationStep.tsx +80 -0
  488. package/components/agents/new-agent-creation/wizard-steps/MemoryStep.tsx +113 -0
  489. package/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx +80 -0
  490. package/components/agents/new-agent-creation/wizard-steps/ModelStep.tsx +52 -0
  491. package/components/agents/new-agent-creation/wizard-steps/PromptStep.tsx +128 -0
  492. package/components/agents/new-agent-creation/wizard-steps/ToolsStep.tsx +61 -0
  493. package/components/agents/new-agent-creation/wizard-steps/TypeStep.tsx +103 -0
  494. package/components/agents/types.ts +27 -0
  495. package/components/agents/utils.ts +18 -0
  496. package/components/agents/validateAgent.ts +109 -0
  497. package/components/design-system/Byline.tsx +77 -0
  498. package/components/design-system/Dialog.tsx +138 -0
  499. package/components/design-system/Divider.tsx +149 -0
  500. package/components/design-system/FuzzyPicker.tsx +312 -0
  501. package/components/design-system/KeyboardShortcutHint.tsx +81 -0
  502. package/components/design-system/ListItem.tsx +244 -0
  503. package/components/design-system/LoadingState.tsx +94 -0
  504. package/components/design-system/Pane.tsx +77 -0
  505. package/components/design-system/ProgressBar.tsx +86 -0
  506. package/components/design-system/Ratchet.tsx +80 -0
  507. package/components/design-system/StatusIcon.tsx +95 -0
  508. package/components/design-system/Tabs.tsx +340 -0
  509. package/components/design-system/ThemeProvider.tsx +170 -0
  510. package/components/design-system/ThemedBox.tsx +156 -0
  511. package/components/design-system/ThemedText.tsx +124 -0
  512. package/components/design-system/color.ts +30 -0
  513. package/components/diff/DiffDetailView.tsx +281 -0
  514. package/components/diff/DiffDialog.tsx +383 -0
  515. package/components/diff/DiffFileList.tsx +292 -0
  516. package/components/grove/Grove.tsx +463 -0
  517. package/components/hooks/HooksConfigMenu.tsx +578 -0
  518. package/components/hooks/PromptDialog.tsx +90 -0
  519. package/components/hooks/SelectEventMode.tsx +127 -0
  520. package/components/hooks/SelectHookMode.tsx +112 -0
  521. package/components/hooks/SelectMatcherMode.tsx +144 -0
  522. package/components/hooks/ViewHookMode.tsx +199 -0
  523. package/components/mcp/CapabilitiesSection.tsx +61 -0
  524. package/components/mcp/ElicitationDialog.tsx +1169 -0
  525. package/components/mcp/MCPAgentServerMenu.tsx +183 -0
  526. package/components/mcp/MCPListPanel.tsx +504 -0
  527. package/components/mcp/MCPReconnect.tsx +167 -0
  528. package/components/mcp/MCPRemoteServerMenu.tsx +649 -0
  529. package/components/mcp/MCPSettings.tsx +398 -0
  530. package/components/mcp/MCPStdioServerMenu.tsx +177 -0
  531. package/components/mcp/MCPToolDetailView.tsx +212 -0
  532. package/components/mcp/MCPToolListView.tsx +141 -0
  533. package/components/mcp/McpParsingWarnings.tsx +213 -0
  534. package/components/mcp/index.ts +9 -0
  535. package/components/mcp/utils/reconnectHelpers.tsx +49 -0
  536. package/components/memory/MemoryFileSelector.tsx +438 -0
  537. package/components/memory/MemoryUpdateNotification.tsx +45 -0
  538. package/components/messageActions.tsx +450 -0
  539. package/components/messages/AdvisorMessage.tsx +158 -0
  540. package/components/messages/AssistantRedactedThinkingMessage.tsx +31 -0
  541. package/components/messages/AssistantTextMessage.tsx +270 -0
  542. package/components/messages/AssistantThinkingMessage.tsx +86 -0
  543. package/components/messages/AssistantToolUseMessage.tsx +368 -0
  544. package/components/messages/AttachmentMessage.tsx +536 -0
  545. package/components/messages/CollapsedReadSearchContent.tsx +484 -0
  546. package/components/messages/CompactBoundaryMessage.tsx +18 -0
  547. package/components/messages/GroupedToolUseContent.tsx +58 -0
  548. package/components/messages/HighlightedThinkingText.tsx +162 -0
  549. package/components/messages/HookProgressMessage.tsx +116 -0
  550. package/components/messages/PlanApprovalMessage.tsx +222 -0
  551. package/components/messages/RateLimitMessage.tsx +161 -0
  552. package/components/messages/ShutdownMessage.tsx +132 -0
  553. package/components/messages/SystemAPIErrorMessage.tsx +141 -0
  554. package/components/messages/SystemTextMessage.tsx +827 -0
  555. package/components/messages/TaskAssignmentMessage.tsx +76 -0
  556. package/components/messages/UserAgentNotificationMessage.tsx +83 -0
  557. package/components/messages/UserBashInputMessage.tsx +58 -0
  558. package/components/messages/UserBashOutputMessage.tsx +54 -0
  559. package/components/messages/UserChannelMessage.tsx +137 -0
  560. package/components/messages/UserCommandMessage.tsx +108 -0
  561. package/components/messages/UserImageMessage.tsx +59 -0
  562. package/components/messages/UserLocalCommandOutputMessage.tsx +167 -0
  563. package/components/messages/UserMemoryInputMessage.tsx +75 -0
  564. package/components/messages/UserPlanMessage.tsx +42 -0
  565. package/components/messages/UserPromptMessage.tsx +80 -0
  566. package/components/messages/UserResourceUpdateMessage.tsx +121 -0
  567. package/components/messages/UserTeammateMessage.tsx +206 -0
  568. package/components/messages/UserTextMessage.tsx +275 -0
  569. package/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx +31 -0
  570. package/components/messages/UserToolResultMessage/RejectedToolUseMessage.tsx +16 -0
  571. package/components/messages/UserToolResultMessage/UserToolCanceledMessage.tsx +16 -0
  572. package/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx +103 -0
  573. package/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx +95 -0
  574. package/components/messages/UserToolResultMessage/UserToolResultMessage.tsx +106 -0
  575. package/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx +104 -0
  576. package/components/messages/UserToolResultMessage/utils.tsx +44 -0
  577. package/components/messages/nullRenderingAttachments.ts +70 -0
  578. package/components/messages/teamMemCollapsed.tsx +140 -0
  579. package/components/messages/teamMemSaved.ts +19 -0
  580. package/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx +645 -0
  581. package/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx +229 -0
  582. package/components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx +328 -0
  583. package/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx +178 -0
  584. package/components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx +465 -0
  585. package/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx +144 -0
  586. package/components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.ts +179 -0
  587. package/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx +482 -0
  588. package/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx +147 -0
  589. package/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx +441 -0
  590. package/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx +122 -0
  591. package/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx +768 -0
  592. package/components/permissions/FallbackPermissionRequest.tsx +333 -0
  593. package/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx +182 -0
  594. package/components/permissions/FilePermissionDialog/FilePermissionDialog.tsx +204 -0
  595. package/components/permissions/FilePermissionDialog/ideDiffConfig.ts +42 -0
  596. package/components/permissions/FilePermissionDialog/permissionOptions.tsx +177 -0
  597. package/components/permissions/FilePermissionDialog/useFilePermissionDialog.ts +212 -0
  598. package/components/permissions/FilePermissionDialog/usePermissionHandler.ts +185 -0
  599. package/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx +161 -0
  600. package/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx +89 -0
  601. package/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx +115 -0
  602. package/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx +166 -0
  603. package/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx +235 -0
  604. package/components/permissions/PermissionDecisionDebugInfo.tsx +460 -0
  605. package/components/permissions/PermissionDialog.tsx +72 -0
  606. package/components/permissions/PermissionExplanation.tsx +272 -0
  607. package/components/permissions/PermissionPrompt.tsx +336 -0
  608. package/components/permissions/PermissionRequest.tsx +217 -0
  609. package/components/permissions/PermissionRequestTitle.tsx +66 -0
  610. package/components/permissions/PermissionRuleExplanation.tsx +121 -0
  611. package/components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx +235 -0
  612. package/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx +91 -0
  613. package/components/permissions/SandboxPermissionRequest.tsx +163 -0
  614. package/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx +230 -0
  615. package/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx +369 -0
  616. package/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx +258 -0
  617. package/components/permissions/WorkerBadge.tsx +49 -0
  618. package/components/permissions/WorkerPendingPermission.tsx +105 -0
  619. package/components/permissions/hooks.ts +209 -0
  620. package/components/permissions/rules/AddPermissionRules.tsx +180 -0
  621. package/components/permissions/rules/AddWorkspaceDirectory.tsx +340 -0
  622. package/components/permissions/rules/PermissionRuleDescription.tsx +76 -0
  623. package/components/permissions/rules/PermissionRuleInput.tsx +138 -0
  624. package/components/permissions/rules/PermissionRuleList.tsx +1179 -0
  625. package/components/permissions/rules/RecentDenialsTab.tsx +207 -0
  626. package/components/permissions/rules/RemoveWorkspaceDirectory.tsx +110 -0
  627. package/components/permissions/rules/WorkspaceTab.tsx +150 -0
  628. package/components/permissions/shellPermissionHelpers.tsx +164 -0
  629. package/components/permissions/useShellPermissionFeedback.ts +148 -0
  630. package/components/permissions/utils.ts +25 -0
  631. package/components/sandbox/SandboxConfigTab.tsx +45 -0
  632. package/components/sandbox/SandboxDependenciesTab.tsx +120 -0
  633. package/components/sandbox/SandboxDoctorSection.tsx +46 -0
  634. package/components/sandbox/SandboxOverridesTab.tsx +193 -0
  635. package/components/sandbox/SandboxSettings.tsx +296 -0
  636. package/components/shell/ExpandShellOutputContext.tsx +36 -0
  637. package/components/shell/OutputLine.tsx +118 -0
  638. package/components/shell/ShellProgressMessage.tsx +150 -0
  639. package/components/shell/ShellTimeDisplay.tsx +74 -0
  640. package/components/skills/SkillsMenu.tsx +237 -0
  641. package/components/tasks/AsyncAgentDetailDialog.tsx +229 -0
  642. package/components/tasks/BackgroundTask.tsx +345 -0
  643. package/components/tasks/BackgroundTaskStatus.tsx +429 -0
  644. package/components/tasks/BackgroundTasksDialog.tsx +652 -0
  645. package/components/tasks/DreamDetailDialog.tsx +251 -0
  646. package/components/tasks/InProcessTeammateDetailDialog.tsx +266 -0
  647. package/components/tasks/RemoteSessionDetailDialog.tsx +904 -0
  648. package/components/tasks/RemoteSessionProgress.tsx +243 -0
  649. package/components/tasks/ShellDetailDialog.tsx +404 -0
  650. package/components/tasks/ShellProgress.tsx +87 -0
  651. package/components/tasks/renderToolActivity.tsx +33 -0
  652. package/components/tasks/taskStatusUtils.tsx +107 -0
  653. package/components/teams/TeamStatus.tsx +80 -0
  654. package/components/teams/TeamsDialog.tsx +715 -0
  655. package/components/ui/OrderedList.tsx +71 -0
  656. package/components/ui/OrderedListItem.tsx +45 -0
  657. package/components/ui/TreeSelect.tsx +397 -0
  658. package/components/wizard/WizardDialogLayout.tsx +65 -0
  659. package/components/wizard/WizardNavigationFooter.tsx +24 -0
  660. package/components/wizard/WizardProvider.tsx +213 -0
  661. package/components/wizard/index.ts +9 -0
  662. package/components/wizard/useWizard.ts +13 -0
  663. package/context.ts +189 -0
  664. package/cost-tracker.ts +323 -0
  665. package/entrypoints/cli.tsx +1 -1
  666. package/history.ts +464 -0
  667. package/hooks/fileSuggestions.ts +811 -0
  668. package/hooks/notifs/useAutoModeUnavailableNotification.ts +56 -0
  669. package/hooks/notifs/useCanSwitchToExistingSubscription.tsx +60 -0
  670. package/hooks/notifs/useDeprecationWarningNotification.tsx +44 -0
  671. package/hooks/notifs/useFastModeNotification.tsx +162 -0
  672. package/hooks/notifs/useIDEStatusIndicator.tsx +186 -0
  673. package/hooks/notifs/useInstallMessages.tsx +26 -0
  674. package/hooks/notifs/useLspInitializationNotification.tsx +143 -0
  675. package/hooks/notifs/useMcpConnectivityStatus.tsx +88 -0
  676. package/hooks/notifs/useModelMigrationNotifications.tsx +52 -0
  677. package/hooks/notifs/useNpmDeprecationNotification.tsx +25 -0
  678. package/hooks/notifs/usePluginAutoupdateNotification.tsx +83 -0
  679. package/hooks/notifs/usePluginInstallationStatus.tsx +128 -0
  680. package/hooks/notifs/useRateLimitWarningNotification.tsx +114 -0
  681. package/hooks/notifs/useSettingsErrors.tsx +69 -0
  682. package/hooks/notifs/useStartupNotification.ts +41 -0
  683. package/hooks/notifs/useTeammateShutdownNotification.ts +78 -0
  684. package/hooks/renderPlaceholder.ts +51 -0
  685. package/hooks/toolPermission/PermissionContext.ts +388 -0
  686. package/hooks/toolPermission/handlers/coordinatorHandler.ts +65 -0
  687. package/hooks/toolPermission/handlers/interactiveHandler.ts +536 -0
  688. package/hooks/toolPermission/handlers/swarmWorkerHandler.ts +159 -0
  689. package/hooks/toolPermission/permissionLogging.ts +238 -0
  690. package/hooks/unifiedSuggestions.ts +202 -0
  691. package/hooks/useAfterFirstRender.ts +17 -0
  692. package/hooks/useApiKeyVerification.ts +84 -0
  693. package/hooks/useArrowKeyHistory.tsx +229 -0
  694. package/hooks/useAssistantHistory.ts +250 -0
  695. package/hooks/useAwaySummary.ts +125 -0
  696. package/hooks/useBackgroundTaskNavigation.ts +251 -0
  697. package/hooks/useBlink.ts +34 -0
  698. package/hooks/useCanUseTool.tsx +204 -0
  699. package/hooks/useCancelRequest.ts +276 -0
  700. package/hooks/useChromeExtensionNotification.tsx +50 -0
  701. package/hooks/useClaudeCodeHintRecommendation.tsx +129 -0
  702. package/hooks/useClipboardImageHint.ts +77 -0
  703. package/hooks/useCommandKeybindings.tsx +108 -0
  704. package/hooks/useCommandQueue.ts +15 -0
  705. package/hooks/useCopyOnSelect.ts +98 -0
  706. package/hooks/useDeferredHookMessages.ts +46 -0
  707. package/hooks/useDiffData.ts +110 -0
  708. package/hooks/useDiffInIDE.ts +379 -0
  709. package/hooks/useDirectConnect.ts +229 -0
  710. package/hooks/useDoublePress.ts +62 -0
  711. package/hooks/useDynamicConfig.ts +22 -0
  712. package/hooks/useElapsedTime.ts +37 -0
  713. package/hooks/useExitOnCtrlCD.ts +95 -0
  714. package/hooks/useExitOnCtrlCDWithKeybindings.ts +24 -0
  715. package/hooks/useFileHistorySnapshotInit.ts +25 -0
  716. package/hooks/useGlobalKeybindings.tsx +249 -0
  717. package/hooks/useHistorySearch.ts +303 -0
  718. package/hooks/useIDEIntegration.tsx +70 -0
  719. package/hooks/useIdeAtMentioned.ts +76 -0
  720. package/hooks/useIdeConnectionStatus.ts +33 -0
  721. package/hooks/useIdeLogging.ts +41 -0
  722. package/hooks/useIdeSelection.ts +150 -0
  723. package/hooks/useInboxPoller.ts +969 -0
  724. package/hooks/useInputBuffer.ts +132 -0
  725. package/hooks/useIssueFlagBanner.ts +133 -0
  726. package/hooks/useLogMessages.ts +119 -0
  727. package/hooks/useLspPluginRecommendation.tsx +194 -0
  728. package/hooks/useMailboxBridge.ts +21 -0
  729. package/hooks/useMainLoopModel.ts +34 -0
  730. package/hooks/useManagePlugins.ts +304 -0
  731. package/hooks/useMemoryUsage.ts +39 -0
  732. package/hooks/useMergedClients.ts +23 -0
  733. package/hooks/useMergedCommands.ts +15 -0
  734. package/hooks/useMergedTools.ts +44 -0
  735. package/hooks/useMinDisplayTime.ts +35 -0
  736. package/hooks/useNotifyAfterTimeout.ts +65 -0
  737. package/hooks/useOfficialMarketplaceNotification.tsx +48 -0
  738. package/hooks/usePasteHandler.ts +285 -0
  739. package/hooks/usePluginRecommendationBase.tsx +105 -0
  740. package/hooks/usePrStatus.ts +106 -0
  741. package/hooks/usePromptSuggestion.ts +177 -0
  742. package/hooks/usePromptsFromClaudeInChrome.tsx +71 -0
  743. package/hooks/useQueueProcessor.ts +68 -0
  744. package/hooks/useRemoteSession.ts +605 -0
  745. package/hooks/useReplBridge.tsx +723 -0
  746. package/hooks/useSSHSession.ts +241 -0
  747. package/hooks/useScheduledTasks.ts +139 -0
  748. package/hooks/useSearchInput.ts +364 -0
  749. package/hooks/useSessionBackgrounding.ts +158 -0
  750. package/hooks/useSettings.ts +17 -0
  751. package/hooks/useSettingsChange.ts +25 -0
  752. package/hooks/useSkillImprovementSurvey.ts +105 -0
  753. package/hooks/useSkillsChange.ts +62 -0
  754. package/hooks/useSwarmInitialization.ts +81 -0
  755. package/hooks/useSwarmPermissionPoller.ts +330 -0
  756. package/hooks/useTaskListWatcher.ts +221 -0
  757. package/hooks/useTasksV2.ts +250 -0
  758. package/hooks/useTeammateViewAutoExit.ts +63 -0
  759. package/hooks/useTeleportResume.tsx +85 -0
  760. package/hooks/useTerminalSize.ts +15 -0
  761. package/hooks/useTextInput.ts +529 -0
  762. package/hooks/useTimeout.ts +14 -0
  763. package/hooks/useTurnDiffs.ts +213 -0
  764. package/hooks/useTypeahead.tsx +1385 -0
  765. package/hooks/useUpdateNotification.ts +34 -0
  766. package/hooks/useVimInput.ts +316 -0
  767. package/hooks/useVirtualScroll.ts +721 -0
  768. package/hooks/useVoice.ts +1144 -0
  769. package/hooks/useVoiceEnabled.ts +25 -0
  770. package/hooks/useVoiceIntegration.tsx +677 -0
  771. package/ink/Ansi.tsx +292 -0
  772. package/ink/bidi.ts +139 -0
  773. package/ink/clearTerminal.ts +74 -0
  774. package/ink/colorize.ts +231 -0
  775. package/ink/components/AlternateScreen.tsx +80 -0
  776. package/ink/components/App.tsx +658 -0
  777. package/ink/components/AppContext.ts +21 -0
  778. package/ink/components/Box.tsx +214 -0
  779. package/ink/components/Button.tsx +192 -0
  780. package/ink/components/ClockContext.tsx +112 -0
  781. package/ink/components/CursorDeclarationContext.ts +32 -0
  782. package/ink/components/ErrorOverview.tsx +109 -0
  783. package/ink/components/Link.tsx +42 -0
  784. package/ink/components/Newline.tsx +39 -0
  785. package/ink/components/NoSelect.tsx +68 -0
  786. package/ink/components/RawAnsi.tsx +57 -0
  787. package/ink/components/ScrollBox.tsx +237 -0
  788. package/ink/components/Spacer.tsx +20 -0
  789. package/ink/components/StdinContext.ts +49 -0
  790. package/ink/components/TerminalFocusContext.tsx +52 -0
  791. package/ink/components/TerminalSizeContext.tsx +7 -0
  792. package/ink/components/Text.tsx +254 -0
  793. package/ink/constants.ts +2 -0
  794. package/ink/dom.ts +484 -0
  795. package/ink/events/click-event.ts +38 -0
  796. package/ink/events/dispatcher.ts +233 -0
  797. package/ink/events/emitter.ts +39 -0
  798. package/ink/events/event-handlers.ts +73 -0
  799. package/ink/events/event.ts +11 -0
  800. package/ink/events/focus-event.ts +21 -0
  801. package/ink/events/input-event.ts +205 -0
  802. package/ink/events/keyboard-event.ts +51 -0
  803. package/ink/events/terminal-event.ts +107 -0
  804. package/ink/events/terminal-focus-event.ts +19 -0
  805. package/ink/focus.ts +181 -0
  806. package/ink/frame.ts +124 -0
  807. package/ink/get-max-width.ts +27 -0
  808. package/ink/global.d.ts +26 -0
  809. package/ink/hit-test.ts +130 -0
  810. package/ink/hooks/use-animation-frame.ts +57 -0
  811. package/ink/hooks/use-app.ts +8 -0
  812. package/ink/hooks/use-declared-cursor.ts +73 -0
  813. package/ink/hooks/use-input.ts +92 -0
  814. package/ink/hooks/use-interval.ts +67 -0
  815. package/ink/hooks/use-search-highlight.ts +53 -0
  816. package/ink/hooks/use-selection.ts +104 -0
  817. package/ink/hooks/use-stdin.ts +8 -0
  818. package/ink/hooks/use-tab-status.ts +72 -0
  819. package/ink/hooks/use-terminal-focus.ts +16 -0
  820. package/ink/hooks/use-terminal-title.ts +31 -0
  821. package/ink/hooks/use-terminal-viewport.ts +96 -0
  822. package/ink/ink.tsx +1754 -0
  823. package/ink/instances.ts +10 -0
  824. package/ink/layout/engine.ts +6 -0
  825. package/ink/layout/geometry.ts +97 -0
  826. package/ink/layout/node.ts +152 -0
  827. package/ink/layout/yoga.ts +308 -0
  828. package/ink/line-width-cache.ts +24 -0
  829. package/ink/log-update.ts +773 -0
  830. package/ink/measure-element.ts +23 -0
  831. package/ink/measure-text.ts +47 -0
  832. package/ink/node-cache.ts +54 -0
  833. package/ink/optimizer.ts +93 -0
  834. package/ink/output.ts +797 -0
  835. package/ink/parse-keypress.ts +801 -0
  836. package/ink/reconciler.ts +512 -0
  837. package/ink/render-border.ts +231 -0
  838. package/ink/render-node-to-output.ts +1462 -0
  839. package/ink/render-to-screen.ts +231 -0
  840. package/ink/renderer.ts +178 -0
  841. package/ink/root.ts +184 -0
  842. package/ink/screen.ts +1486 -0
  843. package/ink/searchHighlight.ts +93 -0
  844. package/ink/selection.ts +917 -0
  845. package/ink/squash-text-nodes.ts +92 -0
  846. package/ink/stringWidth.ts +223 -0
  847. package/ink/styles.ts +771 -0
  848. package/ink/supports-hyperlinks.ts +57 -0
  849. package/ink/tabstops.ts +46 -0
  850. package/ink/terminal-focus-state.ts +47 -0
  851. package/ink/terminal-querier.ts +212 -0
  852. package/ink/terminal.ts +248 -0
  853. package/ink/termio/ansi.ts +75 -0
  854. package/ink/termio/csi.ts +319 -0
  855. package/ink/termio/dec.ts +60 -0
  856. package/ink/termio/esc.ts +67 -0
  857. package/ink/termio/osc.ts +493 -0
  858. package/ink/termio/parser.ts +394 -0
  859. package/ink/termio/sgr.ts +308 -0
  860. package/ink/termio/tokenize.ts +319 -0
  861. package/ink/termio/types.ts +236 -0
  862. package/ink/termio.ts +42 -0
  863. package/ink/useTerminalNotification.ts +126 -0
  864. package/ink/warn.ts +9 -0
  865. package/ink/widest-line.ts +19 -0
  866. package/ink/wrap-text.ts +74 -0
  867. package/ink/wrapAnsi.ts +20 -0
  868. package/inspect.js +7 -0
  869. package/keybindings/KeybindingContext.tsx +243 -0
  870. package/keybindings/KeybindingProviderSetup.tsx +308 -0
  871. package/keybindings/defaultBindings.ts +340 -0
  872. package/keybindings/loadUserBindings.ts +472 -0
  873. package/keybindings/match.ts +120 -0
  874. package/keybindings/parser.ts +203 -0
  875. package/keybindings/reservedShortcuts.ts +127 -0
  876. package/keybindings/resolver.ts +244 -0
  877. package/keybindings/schema.ts +236 -0
  878. package/keybindings/shortcutFormat.ts +63 -0
  879. package/keybindings/template.ts +52 -0
  880. package/keybindings/useKeybinding.ts +196 -0
  881. package/keybindings/useShortcutDisplay.ts +59 -0
  882. package/keybindings/validate.ts +498 -0
  883. package/macro.ts +24 -0
  884. package/migrations/migrateAutoUpdatesToSettings.ts +61 -0
  885. package/migrations/migrateBypassPermissionsAcceptedToSettings.ts +40 -0
  886. package/migrations/migrateEnableAllProjectMcpServersToSettings.ts +118 -0
  887. package/migrations/migrateFennecToOpus.ts +45 -0
  888. package/migrations/migrateLegacyOpusToCurrent.ts +57 -0
  889. package/migrations/migrateOpusToOpus1m.ts +43 -0
  890. package/migrations/migrateReplBridgeEnabledToRemoteControlAtStartup.ts +22 -0
  891. package/migrations/migrateSonnet1mToSonnet45.ts +48 -0
  892. package/migrations/migrateSonnet45ToSonnet46.ts +67 -0
  893. package/migrations/resetAutoModeOptInForDefaultOffer.ts +51 -0
  894. package/migrations/resetProToOpusDefault.ts +51 -0
  895. package/package.json +29 -3
  896. package/patch-box.js +54 -0
  897. package/patch-compact.js +13 -0
  898. package/patch-condensed-center.js +13 -0
  899. package/patch-condensed-row.js +13 -0
  900. package/patch-condensed.js +13 -0
  901. package/patch-final.js +58 -0
  902. package/patch-input-body.js +46 -0
  903. package/patch-input-body2.js +35 -0
  904. package/patch-input-style.js +13 -0
  905. package/patch-input-width.js +13 -0
  906. package/patch-layout.js +87 -0
  907. package/patch-logo-row.js +12 -0
  908. package/patch-width.js +13 -0
  909. package/patch-width2.js +13 -0
  910. package/patch2.js +74 -0
  911. package/patch3.js +13 -0
  912. package/query.ts +1750 -0
  913. package/remote/RemoteSessionManager.ts +343 -0
  914. package/remote/SessionsWebSocket.ts +404 -0
  915. package/remote/remotePermissionBridge.ts +78 -0
  916. package/remote/sdkMessageAdapter.ts +302 -0
  917. package/skills/bundled/batch.ts +124 -0
  918. package/skills/bundled/claudeApi.ts +196 -0
  919. package/skills/bundled/claudeApiContent.ts +75 -0
  920. package/skills/bundled/claudeInChrome.ts +34 -0
  921. package/skills/bundled/debug.ts +103 -0
  922. package/skills/bundled/index.ts +79 -0
  923. package/skills/bundled/keybindings.ts +339 -0
  924. package/skills/bundled/loop.ts +92 -0
  925. package/skills/bundled/loremIpsum.ts +282 -0
  926. package/skills/bundled/remember.ts +82 -0
  927. package/skills/bundled/scheduleRemoteAgents.ts +447 -0
  928. package/skills/bundled/simplify.ts +69 -0
  929. package/skills/bundled/skillify.ts +197 -0
  930. package/skills/bundled/stuck.ts +79 -0
  931. package/skills/bundled/updateConfig.ts +475 -0
  932. package/skills/bundled/verify/SKILL.md +3 -0
  933. package/skills/bundled/verify/examples/cli.md +3 -0
  934. package/skills/bundled/verify/examples/server.md +3 -0
  935. package/skills/bundled/verify.ts +30 -0
  936. package/skills/bundled/verifyContent.ts +13 -0
  937. package/skills/bundledSkills.ts +220 -0
  938. package/skills/loadSkillsDir.ts +1086 -0
  939. package/skills/mcpSkillBuilders.ts +44 -0
  940. package/state/AppState.tsx +200 -0
  941. package/state/AppStateStore.ts +569 -0
  942. package/state/onChangeAppState.ts +171 -0
  943. package/state/selectors.ts +76 -0
  944. package/state/store.ts +34 -0
  945. package/state/teammateViewHelpers.ts +141 -0
  946. package/tasks/DreamTask/DreamTask.ts +157 -0
  947. package/tasks/InProcessTeammateTask/InProcessTeammateTask.tsx +126 -0
  948. package/tasks/InProcessTeammateTask/types.ts +121 -0
  949. package/tasks/LocalAgentTask/LocalAgentTask.tsx +683 -0
  950. package/tasks/LocalMainSessionTask.ts +479 -0
  951. package/tasks/LocalShellTask/LocalShellTask.tsx +523 -0
  952. package/tasks/LocalShellTask/guards.ts +41 -0
  953. package/tasks/LocalShellTask/killShellTasks.ts +76 -0
  954. package/tasks/RemoteAgentTask/RemoteAgentTask.tsx +856 -0
  955. package/tasks/pillLabel.ts +82 -0
  956. package/tasks/stopTask.ts +100 -0
  957. package/tasks/types.ts +46 -0
  958. package/types/command.ts +216 -0
  959. package/types/connectorText.ts +13 -0
  960. package/types/generated/events_mono/claude_code/v1/claude_code_internal_event.ts +865 -0
  961. package/types/generated/events_mono/common/v1/auth.ts +100 -0
  962. package/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.ts +223 -0
  963. package/types/generated/google/protobuf/timestamp.ts +187 -0
  964. package/types/hooks.ts +290 -0
  965. package/types/ids.ts +44 -0
  966. package/types/logs.ts +330 -0
  967. package/types/permissions.ts +441 -0
  968. package/types/plugin.ts +363 -0
  969. package/types/textInputTypes.ts +387 -0
package/commands.ts ADDED
@@ -0,0 +1,758 @@
1
+ // biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
2
+ import addDir from './commands/add-dir/index.js'
3
+ import autofixPr from './commands/autofix-pr/index.js'
4
+ import backfillSessions from './commands/backfill-sessions/index.js'
5
+ import btw from './commands/btw/index.js'
6
+ import goodClaude from './commands/good-claude/index.js'
7
+ import issue from './commands/issue/index.js'
8
+ import feedback from './commands/feedback/index.js'
9
+ import clear from './commands/clear/index.js'
10
+ import color from './commands/color/index.js'
11
+ import commit from './commands/commit.js'
12
+ import copy from './commands/copy/index.js'
13
+ import desktop from './commands/desktop/index.js'
14
+ import commitPushPr from './commands/commit-push-pr.js'
15
+ import compact from './commands/compact/index.js'
16
+ import config from './commands/config/index.js'
17
+ import { context, contextNonInteractive } from './commands/context/index.js'
18
+ import cost from './commands/cost/index.js'
19
+ import diff from './commands/diff/index.js'
20
+ import ctx_viz from './commands/ctx_viz/index.js'
21
+ import doctor from './commands/doctor/index.js'
22
+ import memory from './commands/memory/index.js'
23
+ import xingest from './commands/xingest/index.js'
24
+ import xsearch from './commands/xsearch/index.js'
25
+ import help from './commands/help/index.js'
26
+ import ide from './commands/ide/index.js'
27
+ import init from './commands/init.js'
28
+ import initVerifiers from './commands/init-verifiers.js'
29
+ import keybindings from './commands/keybindings/index.js'
30
+ import login from './commands/login/index.js'
31
+ import logout from './commands/logout/index.js'
32
+ import installGitHubApp from './commands/install-github-app/index.js'
33
+ import installSlackApp from './commands/install-slack-app/index.js'
34
+ import breakCache from './commands/break-cache/index.js'
35
+ import mcp from './commands/mcp/index.js'
36
+ import mobile from './commands/mobile/index.js'
37
+ import onboarding from './commands/onboarding/index.js'
38
+ import pr_comments from './commands/pr_comments/index.js'
39
+ import releaseNotes from './commands/release-notes/index.js'
40
+ import rename from './commands/rename/index.js'
41
+ import resume from './commands/resume/index.js'
42
+ import review, { ultrareview } from './commands/review.js'
43
+ import session from './commands/session/index.js'
44
+ import share from './commands/share/index.js'
45
+ import skills from './commands/skills/index.js'
46
+ import status from './commands/status/index.js'
47
+ import tasks from './commands/tasks/index.js'
48
+ import teleport from './commands/teleport/index.js'
49
+ /* eslint-disable @typescript-eslint/no-require-imports */
50
+ const agentsPlatform =
51
+ process.env.USER_TYPE === 'ant'
52
+ ? require('./commands/agents-platform/index.js').default
53
+ : null
54
+ /* eslint-enable @typescript-eslint/no-require-imports */
55
+ import securityReview from './commands/security-review.js'
56
+ import bughunter from './commands/bughunter/index.js'
57
+ import terminalSetup from './commands/terminalSetup/index.js'
58
+ import usage from './commands/usage/index.js'
59
+ import theme from './commands/theme/index.js'
60
+ import vim from './commands/vim/index.js'
61
+ import { feature } from 'bun:bundle'
62
+ // Dead code elimination: conditional imports
63
+ /* eslint-disable @typescript-eslint/no-require-imports */
64
+ const proactive =
65
+ feature('PROACTIVE') || feature('KAIROS')
66
+ ? require('./commands/proactive.js').default
67
+ : null
68
+ const briefCommand =
69
+ feature('KAIROS') || feature('KAIROS_BRIEF')
70
+ ? require('./commands/brief.js').default
71
+ : null
72
+ const assistantCommand = feature('KAIROS')
73
+ ? require('./commands/assistant/index.js').default
74
+ : null
75
+ const bridge = feature('BRIDGE_MODE')
76
+ ? require('./commands/bridge/index.js').default
77
+ : null
78
+ const remoteControlServerCommand =
79
+ feature('DAEMON') && feature('BRIDGE_MODE')
80
+ ? require('./commands/remoteControlServer/index.js').default
81
+ : null
82
+ const voiceCommand = feature('VOICE_MODE')
83
+ ? require('./commands/voice/index.js').default
84
+ : null
85
+ const forceSnip = feature('HISTORY_SNIP')
86
+ ? require('./commands/force-snip.js').default
87
+ : null
88
+ const workflowsCmd = feature('WORKFLOW_SCRIPTS')
89
+ ? (
90
+ require('./commands/workflows/index.js') as typeof import('./commands/workflows/index.js')
91
+ ).default
92
+ : null
93
+ const webCmd = feature('CCR_REMOTE_SETUP')
94
+ ? (
95
+ require('./commands/remote-setup/index.js') as typeof import('./commands/remote-setup/index.js')
96
+ ).default
97
+ : null
98
+ const clearSkillIndexCache = feature('EXPERIMENTAL_SKILL_SEARCH')
99
+ ? (
100
+ require('./services/skillSearch/localSearch.js') as typeof import('./services/skillSearch/localSearch.js')
101
+ ).clearSkillIndexCache
102
+ : null
103
+ const subscribePr = feature('KAIROS_GITHUB_WEBHOOKS')
104
+ ? require('./commands/subscribe-pr.js').default
105
+ : null
106
+ const ultraplan = feature('ULTRAPLAN')
107
+ ? require('./commands/ultraplan.js').default
108
+ : null
109
+ const torch = feature('TORCH') ? require('./commands/torch.js').default : null
110
+ const peersCmd = feature('UDS_INBOX')
111
+ ? (
112
+ require('./commands/peers/index.js') as typeof import('./commands/peers/index.js')
113
+ ).default
114
+ : null
115
+ const forkCmd = feature('FORK_SUBAGENT')
116
+ ? (
117
+ require('./commands/fork/index.js') as typeof import('./commands/fork/index.js')
118
+ ).default
119
+ : null
120
+ const buddy = feature('BUDDY')
121
+ ? (
122
+ require('./commands/buddy/index.js') as typeof import('./commands/buddy/index.js')
123
+ ).default
124
+ : null
125
+ /* eslint-enable @typescript-eslint/no-require-imports */
126
+ import thinkback from './commands/thinkback/index.js'
127
+ import thinkbackPlay from './commands/thinkback-play/index.js'
128
+ import permissions from './commands/permissions/index.js'
129
+ import plan from './commands/plan/index.js'
130
+ import fast from './commands/fast/index.js'
131
+ import passes from './commands/passes/index.js'
132
+ import privacySettings from './commands/privacy-settings/index.js'
133
+ import hooks from './commands/hooks/index.js'
134
+ import files from './commands/files/index.js'
135
+ import branch from './commands/branch/index.js'
136
+ import agents from './commands/agents/index.js'
137
+ import plugin from './commands/plugin/index.js'
138
+ import reloadPlugins from './commands/reload-plugins/index.js'
139
+ import rewind from './commands/rewind/index.js'
140
+ import heapDump from './commands/heapdump/index.js'
141
+ import mockLimits from './commands/mock-limits/index.js'
142
+ import bridgeKick from './commands/bridge-kick.js'
143
+ import version from './commands/version.js'
144
+ import summary from './commands/summary/index.js'
145
+ import {
146
+ resetLimits,
147
+ resetLimitsNonInteractive,
148
+ } from './commands/reset-limits/index.js'
149
+ import antTrace from './commands/ant-trace/index.js'
150
+ import perfIssue from './commands/perf-issue/index.js'
151
+ import sandboxToggle from './commands/sandbox-toggle/index.js'
152
+ import chrome from './commands/chrome/index.js'
153
+ import stickers from './commands/stickers/index.js'
154
+ import advisor from './commands/advisor.js'
155
+ import { logError } from './utils/log.js'
156
+ import { toError } from './utils/errors.js'
157
+ import { logForDebugging } from './utils/debug.js'
158
+ import {
159
+ getSkillDirCommands,
160
+ clearSkillCaches,
161
+ getDynamicSkills,
162
+ } from './skills/loadSkillsDir.js'
163
+ import { getBundledSkills } from './skills/bundledSkills.js'
164
+ import { getBuiltinPluginSkillCommands } from './plugins/builtinPlugins.js'
165
+ import {
166
+ getPluginCommands,
167
+ clearPluginCommandCache,
168
+ getPluginSkills,
169
+ clearPluginSkillsCache,
170
+ } from './utils/plugins/loadPluginCommands.js'
171
+ import memoize from 'lodash-es/memoize.js'
172
+ import { isUsing3PServices, isClaudeAISubscriber } from './utils/auth.js'
173
+ import { isFirstPartyAnthropicBaseUrl } from './utils/model/providers.js'
174
+ import env from './commands/env/index.js'
175
+ import exit from './commands/exit/index.js'
176
+ import exportCommand from './commands/export/index.js'
177
+ import model from './commands/model/index.js'
178
+ import tag from './commands/tag/index.js'
179
+ import outputStyle from './commands/output-style/index.js'
180
+ import remoteEnv from './commands/remote-env/index.js'
181
+ import upgrade from './commands/upgrade/index.js'
182
+ import {
183
+ extraUsage,
184
+ extraUsageNonInteractive,
185
+ } from './commands/extra-usage/index.js'
186
+ import rateLimitOptions from './commands/rate-limit-options/index.js'
187
+ import statusline from './commands/statusline.js'
188
+ import effort from './commands/effort/index.js'
189
+ import stats from './commands/stats/index.js'
190
+ // insights.ts is 113KB (3200 lines, includes diffLines/html rendering). Lazy
191
+ // shim defers the heavy module until /insights is actually invoked.
192
+ const usageReport: Command = {
193
+ type: 'prompt',
194
+ name: 'insights',
195
+ description: 'Generate a report analyzing your Claude Code sessions',
196
+ contentLength: 0,
197
+ progressMessage: 'analyzing your sessions',
198
+ source: 'builtin',
199
+ async getPromptForCommand(args, context) {
200
+ const real = (await import('./commands/insights.js')).default
201
+ if (real.type !== 'prompt') throw new Error('unreachable')
202
+ return real.getPromptForCommand(args, context)
203
+ },
204
+ }
205
+ import oauthRefresh from './commands/oauth-refresh/index.js'
206
+ import debugToolCall from './commands/debug-tool-call/index.js'
207
+ import { getSettingSourceName } from './utils/settings/constants.js'
208
+ import {
209
+ type Command,
210
+ getCommandName,
211
+ isCommandEnabled,
212
+ } from './types/command.js'
213
+
214
+ // Re-export types from the centralized location
215
+ export type {
216
+ Command,
217
+ CommandBase,
218
+ CommandResultDisplay,
219
+ LocalCommandResult,
220
+ LocalJSXCommandContext,
221
+ PromptCommand,
222
+ ResumeEntrypoint,
223
+ } from './types/command.js'
224
+ export { getCommandName, isCommandEnabled } from './types/command.js'
225
+
226
+ // Commands that get eliminated from the external build
227
+ export const INTERNAL_ONLY_COMMANDS = [
228
+ backfillSessions,
229
+ breakCache,
230
+ bughunter,
231
+ commit,
232
+ commitPushPr,
233
+ ctx_viz,
234
+ goodClaude,
235
+ issue,
236
+ initVerifiers,
237
+ ...(forceSnip ? [forceSnip] : []),
238
+ mockLimits,
239
+ bridgeKick,
240
+ version,
241
+ ...(ultraplan ? [ultraplan] : []),
242
+ ...(subscribePr ? [subscribePr] : []),
243
+ resetLimits,
244
+ resetLimitsNonInteractive,
245
+ onboarding,
246
+ share,
247
+ summary,
248
+ teleport,
249
+ antTrace,
250
+ perfIssue,
251
+ env,
252
+ oauthRefresh,
253
+ debugToolCall,
254
+ agentsPlatform,
255
+ autofixPr,
256
+ ].filter(Boolean)
257
+
258
+ // Declared as a function so that we don't run this until getCommands is called,
259
+ // since underlying functions read from config, which can't be read at module initialization time
260
+ const COMMANDS = memoize((): Command[] => [
261
+ addDir,
262
+ advisor,
263
+ agents,
264
+ branch,
265
+ btw,
266
+ chrome,
267
+ clear,
268
+ color,
269
+ compact,
270
+ config,
271
+ copy,
272
+ desktop,
273
+ context,
274
+ contextNonInteractive,
275
+ cost,
276
+ diff,
277
+ doctor,
278
+ effort,
279
+ exit,
280
+ fast,
281
+ files,
282
+ heapDump,
283
+ help,
284
+ ide,
285
+ init,
286
+ keybindings,
287
+ installGitHubApp,
288
+ installSlackApp,
289
+ mcp,
290
+ memory,
291
+ xingest,
292
+ xsearch,
293
+ mobile,
294
+ model,
295
+ outputStyle,
296
+ remoteEnv,
297
+ plugin,
298
+ pr_comments,
299
+ releaseNotes,
300
+ reloadPlugins,
301
+ rename,
302
+ resume,
303
+ session,
304
+ skills,
305
+ stats,
306
+ status,
307
+ statusline,
308
+ stickers,
309
+ tag,
310
+ theme,
311
+ feedback,
312
+ review,
313
+ ultrareview,
314
+ rewind,
315
+ securityReview,
316
+ terminalSetup,
317
+ upgrade,
318
+ extraUsage,
319
+ extraUsageNonInteractive,
320
+ rateLimitOptions,
321
+ usage,
322
+ usageReport,
323
+ vim,
324
+ ...(webCmd ? [webCmd] : []),
325
+ ...(forkCmd ? [forkCmd] : []),
326
+ ...(buddy ? [buddy] : []),
327
+ ...(proactive ? [proactive] : []),
328
+ ...(briefCommand ? [briefCommand] : []),
329
+ ...(assistantCommand ? [assistantCommand] : []),
330
+ ...(bridge ? [bridge] : []),
331
+ ...(remoteControlServerCommand ? [remoteControlServerCommand] : []),
332
+ ...(voiceCommand ? [voiceCommand] : []),
333
+ thinkback,
334
+ thinkbackPlay,
335
+ permissions,
336
+ plan,
337
+ privacySettings,
338
+ hooks,
339
+ exportCommand,
340
+ sandboxToggle,
341
+ ...(!isUsing3PServices() ? [logout, login()] : []),
342
+ passes,
343
+ ...(peersCmd ? [peersCmd] : []),
344
+ tasks,
345
+ ...(workflowsCmd ? [workflowsCmd] : []),
346
+ ...(torch ? [torch] : []),
347
+ ...(process.env.USER_TYPE === 'ant' && !process.env.IS_DEMO
348
+ ? INTERNAL_ONLY_COMMANDS
349
+ : []),
350
+ ])
351
+
352
+ export const builtInCommandNames = memoize(
353
+ (): Set<string> =>
354
+ new Set(COMMANDS().flatMap(_ => [_.name, ...(_.aliases ?? [])])),
355
+ )
356
+
357
+ async function getSkills(cwd: string): Promise<{
358
+ skillDirCommands: Command[]
359
+ pluginSkills: Command[]
360
+ bundledSkills: Command[]
361
+ builtinPluginSkills: Command[]
362
+ }> {
363
+ try {
364
+ const [skillDirCommands, pluginSkills] = await Promise.all([
365
+ getSkillDirCommands(cwd).catch(err => {
366
+ logError(toError(err))
367
+ logForDebugging(
368
+ 'Skill directory commands failed to load, continuing without them',
369
+ )
370
+ return []
371
+ }),
372
+ getPluginSkills().catch(err => {
373
+ logError(toError(err))
374
+ logForDebugging('Plugin skills failed to load, continuing without them')
375
+ return []
376
+ }),
377
+ ])
378
+ // Bundled skills are registered synchronously at startup
379
+ const bundledSkills = getBundledSkills()
380
+ // Built-in plugin skills come from enabled built-in plugins
381
+ const builtinPluginSkills = getBuiltinPluginSkillCommands()
382
+ logForDebugging(
383
+ `getSkills returning: ${skillDirCommands.length} skill dir commands, ${pluginSkills.length} plugin skills, ${bundledSkills.length} bundled skills, ${builtinPluginSkills.length} builtin plugin skills`,
384
+ )
385
+ return {
386
+ skillDirCommands,
387
+ pluginSkills,
388
+ bundledSkills,
389
+ builtinPluginSkills,
390
+ }
391
+ } catch (err) {
392
+ // This should never happen since we catch at the Promise level, but defensive
393
+ logError(toError(err))
394
+ logForDebugging('Unexpected error in getSkills, returning empty')
395
+ return {
396
+ skillDirCommands: [],
397
+ pluginSkills: [],
398
+ bundledSkills: [],
399
+ builtinPluginSkills: [],
400
+ }
401
+ }
402
+ }
403
+
404
+ /* eslint-disable @typescript-eslint/no-require-imports */
405
+ const getWorkflowCommands = feature('WORKFLOW_SCRIPTS')
406
+ ? (
407
+ require('./tools/WorkflowTool/createWorkflowCommand.js') as typeof import('./tools/WorkflowTool/createWorkflowCommand.js')
408
+ ).getWorkflowCommands
409
+ : null
410
+ /* eslint-enable @typescript-eslint/no-require-imports */
411
+
412
+ /**
413
+ * Filters commands by their declared `availability` (auth/provider requirement).
414
+ * Commands without `availability` are treated as universal.
415
+ * This runs before `isEnabled()` so that provider-gated commands are hidden
416
+ * regardless of feature-flag state.
417
+ *
418
+ * Not memoized — auth state can change mid-session (e.g. after /login),
419
+ * so this must be re-evaluated on every getCommands() call.
420
+ */
421
+ export function meetsAvailabilityRequirement(cmd: Command): boolean {
422
+ if (!cmd.availability) return true
423
+ for (const a of cmd.availability) {
424
+ switch (a) {
425
+ case 'claude-ai':
426
+ if (isClaudeAISubscriber()) return true
427
+ break
428
+ case 'console':
429
+ // Console API key user = direct 1P API customer (not 3P, not claude.ai).
430
+ // Excludes 3P (Bedrock/Vertex/Foundry) who don't set ANTHROPIC_BASE_URL
431
+ // and gateway users who proxy through a custom base URL.
432
+ if (
433
+ !isClaudeAISubscriber() &&
434
+ !isUsing3PServices() &&
435
+ isFirstPartyAnthropicBaseUrl()
436
+ )
437
+ return true
438
+ break
439
+ default: {
440
+ const _exhaustive: never = a
441
+ void _exhaustive
442
+ break
443
+ }
444
+ }
445
+ }
446
+ return false
447
+ }
448
+
449
+ /**
450
+ * Loads all command sources (skills, plugins, workflows). Memoized by cwd
451
+ * because loading is expensive (disk I/O, dynamic imports).
452
+ */
453
+ const loadAllCommands = memoize(async (cwd: string): Promise<Command[]> => {
454
+ const [
455
+ { skillDirCommands, pluginSkills, bundledSkills, builtinPluginSkills },
456
+ pluginCommands,
457
+ workflowCommands,
458
+ ] = await Promise.all([
459
+ getSkills(cwd),
460
+ getPluginCommands(),
461
+ getWorkflowCommands ? getWorkflowCommands(cwd) : Promise.resolve([]),
462
+ ])
463
+
464
+ return [
465
+ ...bundledSkills,
466
+ ...builtinPluginSkills,
467
+ ...skillDirCommands,
468
+ ...workflowCommands,
469
+ ...pluginCommands,
470
+ ...pluginSkills,
471
+ ...COMMANDS(),
472
+ ]
473
+ })
474
+
475
+ /**
476
+ * Returns commands available to the current user. The expensive loading is
477
+ * memoized, but availability and isEnabled checks run fresh every call so
478
+ * auth changes (e.g. /login) take effect immediately.
479
+ */
480
+ export async function getCommands(cwd: string): Promise<Command[]> {
481
+ const allCommands = await loadAllCommands(cwd)
482
+
483
+ // Get dynamic skills discovered during file operations
484
+ const dynamicSkills = getDynamicSkills()
485
+
486
+ // Build base commands without dynamic skills
487
+ const baseCommands = allCommands.filter(
488
+ _ => meetsAvailabilityRequirement(_) && isCommandEnabled(_),
489
+ )
490
+
491
+ if (dynamicSkills.length === 0) {
492
+ return baseCommands
493
+ }
494
+
495
+ // Dedupe dynamic skills - only add if not already present
496
+ const baseCommandNames = new Set(baseCommands.map(c => c.name))
497
+ const uniqueDynamicSkills = dynamicSkills.filter(
498
+ s =>
499
+ !baseCommandNames.has(s.name) &&
500
+ meetsAvailabilityRequirement(s) &&
501
+ isCommandEnabled(s),
502
+ )
503
+
504
+ if (uniqueDynamicSkills.length === 0) {
505
+ return baseCommands
506
+ }
507
+
508
+ // Insert dynamic skills after plugin skills but before built-in commands
509
+ const builtInNames = new Set(COMMANDS().map(c => c.name))
510
+ const insertIndex = baseCommands.findIndex(c => builtInNames.has(c.name))
511
+
512
+ if (insertIndex === -1) {
513
+ return [...baseCommands, ...uniqueDynamicSkills]
514
+ }
515
+
516
+ return [
517
+ ...baseCommands.slice(0, insertIndex),
518
+ ...uniqueDynamicSkills,
519
+ ...baseCommands.slice(insertIndex),
520
+ ]
521
+ }
522
+
523
+ /**
524
+ * Clears only the memoization caches for commands, WITHOUT clearing skill caches.
525
+ * Use this when dynamic skills are added to invalidate cached command lists.
526
+ */
527
+ export function clearCommandMemoizationCaches(): void {
528
+ loadAllCommands.cache?.clear?.()
529
+ getSkillToolCommands.cache?.clear?.()
530
+ getSlashCommandToolSkills.cache?.clear?.()
531
+ // getSkillIndex in skillSearch/localSearch.ts is a separate memoization layer
532
+ // built ON TOP of getSkillToolCommands/getCommands. Clearing only the inner
533
+ // caches is a no-op for the outer — lodash memoize returns the cached result
534
+ // without ever reaching the cleared inners. Must clear it explicitly.
535
+ clearSkillIndexCache?.()
536
+ }
537
+
538
+ export function clearCommandsCache(): void {
539
+ clearCommandMemoizationCaches()
540
+ clearPluginCommandCache()
541
+ clearPluginSkillsCache()
542
+ clearSkillCaches()
543
+ }
544
+
545
+ /**
546
+ * Filter AppState.mcp.commands to MCP-provided skills (prompt-type,
547
+ * model-invocable, loaded from MCP). These live outside getCommands() so
548
+ * callers that need MCP skills in their skill index thread them through
549
+ * separately.
550
+ */
551
+ export function getMcpSkillCommands(
552
+ mcpCommands: readonly Command[],
553
+ ): readonly Command[] {
554
+ if (feature('MCP_SKILLS')) {
555
+ return mcpCommands.filter(
556
+ cmd =>
557
+ cmd.type === 'prompt' &&
558
+ cmd.loadedFrom === 'mcp' &&
559
+ !cmd.disableModelInvocation,
560
+ )
561
+ }
562
+ return []
563
+ }
564
+
565
+ // SkillTool shows ALL prompt-based commands that the model can invoke
566
+ // This includes both skills (from /skills/) and commands (from /commands/)
567
+ export const getSkillToolCommands = memoize(
568
+ async (cwd: string): Promise<Command[]> => {
569
+ const allCommands = await getCommands(cwd)
570
+ return allCommands.filter(
571
+ cmd =>
572
+ cmd.type === 'prompt' &&
573
+ !cmd.disableModelInvocation &&
574
+ cmd.source !== 'builtin' &&
575
+ // Always include skills from /skills/ dirs, bundled skills, and legacy /commands/ entries
576
+ // (they all get an auto-derived description from the first line if frontmatter is missing).
577
+ // Plugin/MCP commands still require an explicit description to appear in the listing.
578
+ (cmd.loadedFrom === 'bundled' ||
579
+ cmd.loadedFrom === 'skills' ||
580
+ cmd.loadedFrom === 'commands_DEPRECATED' ||
581
+ cmd.hasUserSpecifiedDescription ||
582
+ cmd.whenToUse),
583
+ )
584
+ },
585
+ )
586
+
587
+ // Filters commands to include only skills. Skills are commands that provide
588
+ // specialized capabilities for the model to use. They are identified by
589
+ // loadedFrom being 'skills', 'plugin', or 'bundled', or having disableModelInvocation set.
590
+ export const getSlashCommandToolSkills = memoize(
591
+ async (cwd: string): Promise<Command[]> => {
592
+ try {
593
+ const allCommands = await getCommands(cwd)
594
+ return allCommands.filter(
595
+ cmd =>
596
+ cmd.type === 'prompt' &&
597
+ cmd.source !== 'builtin' &&
598
+ (cmd.hasUserSpecifiedDescription || cmd.whenToUse) &&
599
+ (cmd.loadedFrom === 'skills' ||
600
+ cmd.loadedFrom === 'plugin' ||
601
+ cmd.loadedFrom === 'bundled' ||
602
+ cmd.disableModelInvocation),
603
+ )
604
+ } catch (error) {
605
+ logError(toError(error))
606
+ // Return empty array rather than throwing - skills are non-critical
607
+ // This prevents skill loading failures from breaking the entire system
608
+ logForDebugging('Returning empty skills array due to load failure')
609
+ return []
610
+ }
611
+ },
612
+ )
613
+
614
+ /**
615
+ * Commands that are safe to use in remote mode (--remote).
616
+ * These only affect local TUI state and don't depend on local filesystem,
617
+ * git, shell, IDE, MCP, or other local execution context.
618
+ *
619
+ * Used in two places:
620
+ * 1. Pre-filtering commands in main.tsx before REPL renders (prevents race with CCR init)
621
+ * 2. Preserving local-only commands in REPL's handleRemoteInit after CCR filters
622
+ */
623
+ export const REMOTE_SAFE_COMMANDS: Set<Command> = new Set([
624
+ session, // Shows QR code / URL for remote session
625
+ exit, // Exit the TUI
626
+ clear, // Clear screen
627
+ help, // Show help
628
+ theme, // Change terminal theme
629
+ color, // Change agent color
630
+ vim, // Toggle vim mode
631
+ cost, // Show session cost (local cost tracking)
632
+ usage, // Show usage info
633
+ copy, // Copy last message
634
+ btw, // Quick note
635
+ feedback, // Send feedback
636
+ plan, // Plan mode toggle
637
+ keybindings, // Keybinding management
638
+ statusline, // Status line toggle
639
+ stickers, // Stickers
640
+ mobile, // Mobile QR code
641
+ ])
642
+
643
+ /**
644
+ * Builtin commands of type 'local' that ARE safe to execute when received
645
+ * over the Remote Control bridge. These produce text output that streams
646
+ * back to the mobile/web client and have no terminal-only side effects.
647
+ *
648
+ * 'local-jsx' commands are blocked by type (they render Ink UI) and
649
+ * 'prompt' commands are allowed by type (they expand to text sent to the
650
+ * model) — this set only gates 'local' commands.
651
+ *
652
+ * When adding a new 'local' command that should work from mobile, add it
653
+ * here. Default is blocked.
654
+ */
655
+ export const BRIDGE_SAFE_COMMANDS: Set<Command> = new Set(
656
+ [
657
+ compact, // Shrink context — useful mid-session from a phone
658
+ clear, // Wipe transcript
659
+ cost, // Show session cost
660
+ summary, // Summarize conversation
661
+ releaseNotes, // Show changelog
662
+ files, // List tracked files
663
+ ].filter((c): c is Command => c !== null),
664
+ )
665
+
666
+ /**
667
+ * Whether a slash command is safe to execute when its input arrived over the
668
+ * Remote Control bridge (mobile/web client).
669
+ *
670
+ * PR #19134 blanket-blocked all slash commands from bridge inbound because
671
+ * `/model` from iOS was popping the local Ink picker. This predicate relaxes
672
+ * that with an explicit allowlist: 'prompt' commands (skills) expand to text
673
+ * and are safe by construction; 'local' commands need an explicit opt-in via
674
+ * BRIDGE_SAFE_COMMANDS; 'local-jsx' commands render Ink UI and stay blocked.
675
+ */
676
+ export function isBridgeSafeCommand(cmd: Command): boolean {
677
+ if (cmd.type === 'local-jsx') return false
678
+ if (cmd.type === 'prompt') return true
679
+ return BRIDGE_SAFE_COMMANDS.has(cmd)
680
+ }
681
+
682
+ /**
683
+ * Filter commands to only include those safe for remote mode.
684
+ * Used to pre-filter commands when rendering the REPL in --remote mode,
685
+ * preventing local-only commands from being briefly available before
686
+ * the CCR init message arrives.
687
+ */
688
+ export function filterCommandsForRemoteMode(commands: Command[]): Command[] {
689
+ return commands.filter(cmd => REMOTE_SAFE_COMMANDS.has(cmd))
690
+ }
691
+
692
+ export function findCommand(
693
+ commandName: string,
694
+ commands: Command[],
695
+ ): Command | undefined {
696
+ return commands.find(
697
+ _ =>
698
+ _.name === commandName ||
699
+ getCommandName(_) === commandName ||
700
+ _.aliases?.includes(commandName),
701
+ )
702
+ }
703
+
704
+ export function hasCommand(commandName: string, commands: Command[]): boolean {
705
+ return findCommand(commandName, commands) !== undefined
706
+ }
707
+
708
+ export function getCommand(commandName: string, commands: Command[]): Command {
709
+ const command = findCommand(commandName, commands)
710
+ if (!command) {
711
+ throw ReferenceError(
712
+ `Command ${commandName} not found. Available commands: ${commands
713
+ .map(_ => {
714
+ const name = getCommandName(_)
715
+ return _.aliases ? `${name} (aliases: ${_.aliases.join(', ')})` : name
716
+ })
717
+ .sort((a, b) => a.localeCompare(b))
718
+ .join(', ')}`,
719
+ )
720
+ }
721
+
722
+ return command
723
+ }
724
+
725
+ /**
726
+ * Formats a command's description with its source annotation for user-facing UI.
727
+ * Use this in typeahead, help screens, and other places where users need to see
728
+ * where a command comes from.
729
+ *
730
+ * For model-facing prompts (like SkillTool), use cmd.description directly.
731
+ */
732
+ export function formatDescriptionWithSource(cmd: Command): string {
733
+ if (cmd.type !== 'prompt') {
734
+ return cmd.description
735
+ }
736
+
737
+ if (cmd.kind === 'workflow') {
738
+ return `${cmd.description} (workflow)`
739
+ }
740
+
741
+ if (cmd.source === 'plugin') {
742
+ const pluginName = cmd.pluginInfo?.pluginManifest.name
743
+ if (pluginName) {
744
+ return `(${pluginName}) ${cmd.description}`
745
+ }
746
+ return `${cmd.description} (plugin)`
747
+ }
748
+
749
+ if (cmd.source === 'builtin' || cmd.source === 'mcp') {
750
+ return cmd.description
751
+ }
752
+
753
+ if (cmd.source === 'bundled') {
754
+ return `${cmd.description} (bundled)`
755
+ }
756
+
757
+ return `${cmd.description} (${getSettingSourceName(cmd.source)})`
758
+ }