@xortex/xcode 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (934) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +171 -0
  3. package/bin/xcode +127 -0
  4. package/bin/xcode-test +84 -0
  5. package/bin/xcode.cmd +31 -0
  6. package/constants/apiLimits.ts +94 -0
  7. package/constants/betas.ts +52 -0
  8. package/constants/common.ts +33 -0
  9. package/constants/cyberRiskInstruction.ts +24 -0
  10. package/constants/errorIds.ts +15 -0
  11. package/constants/figures.ts +45 -0
  12. package/constants/files.ts +156 -0
  13. package/constants/github-app.ts +144 -0
  14. package/constants/keys.ts +11 -0
  15. package/constants/messages.ts +1 -0
  16. package/constants/oauth.ts +234 -0
  17. package/constants/outputStyles.ts +216 -0
  18. package/constants/product.ts +76 -0
  19. package/constants/prompts.ts +939 -0
  20. package/constants/spinnerVerbs.ts +204 -0
  21. package/constants/system.ts +95 -0
  22. package/constants/systemPromptSections.ts +68 -0
  23. package/constants/toolLimits.ts +56 -0
  24. package/constants/tools.ts +112 -0
  25. package/constants/turnCompletionVerbs.ts +12 -0
  26. package/constants/xml.ts +86 -0
  27. package/entrypoints/agentSdkTypes.ts +443 -0
  28. package/entrypoints/cli.tsx +307 -0
  29. package/entrypoints/init.ts +340 -0
  30. package/entrypoints/mcp.ts +196 -0
  31. package/entrypoints/sandboxTypes.ts +156 -0
  32. package/entrypoints/sdk/controlSchemas.ts +663 -0
  33. package/entrypoints/sdk/coreSchemas.ts +1889 -0
  34. package/entrypoints/sdk/coreTypes.generated.ts +2 -0
  35. package/entrypoints/sdk/coreTypes.ts +62 -0
  36. package/entrypoints/sdk/runtimeTypes.ts +140 -0
  37. package/entrypoints/sdk/sdkUtilityTypes.ts +3 -0
  38. package/entrypoints/sdk/toolTypes.ts +90 -0
  39. package/main.tsx +4686 -0
  40. package/package.json +120 -0
  41. package/services/AgentSummary/agentSummary.ts +179 -0
  42. package/services/MagicDocs/magicDocs.ts +254 -0
  43. package/services/MagicDocs/prompts.ts +127 -0
  44. package/services/PromptSuggestion/promptSuggestion.ts +523 -0
  45. package/services/PromptSuggestion/speculation.ts +991 -0
  46. package/services/SessionMemory/prompts.ts +324 -0
  47. package/services/SessionMemory/sessionMemory.ts +495 -0
  48. package/services/SessionMemory/sessionMemoryUtils.ts +207 -0
  49. package/services/analytics/config.ts +38 -0
  50. package/services/analytics/datadog.ts +307 -0
  51. package/services/analytics/firstPartyEventLogger.ts +449 -0
  52. package/services/analytics/firstPartyEventLoggingExporter.ts +806 -0
  53. package/services/analytics/growthbook.ts +1155 -0
  54. package/services/analytics/index.ts +173 -0
  55. package/services/analytics/metadata.ts +973 -0
  56. package/services/analytics/sink.ts +114 -0
  57. package/services/analytics/sinkKillswitch.ts +25 -0
  58. package/services/api/adminRequests.ts +119 -0
  59. package/services/api/bootstrap.ts +141 -0
  60. package/services/api/claude.ts +3422 -0
  61. package/services/api/client.ts +406 -0
  62. package/services/api/dumpPrompts.ts +226 -0
  63. package/services/api/emptyUsage.ts +22 -0
  64. package/services/api/errorUtils.ts +260 -0
  65. package/services/api/errors.ts +1207 -0
  66. package/services/api/filesApi.ts +748 -0
  67. package/services/api/firstTokenDate.ts +60 -0
  68. package/services/api/gemini.ts +359 -0
  69. package/services/api/geminiAdapter.ts +123 -0
  70. package/services/api/geminiClient.ts +291 -0
  71. package/services/api/grove.ts +357 -0
  72. package/services/api/logging.ts +788 -0
  73. package/services/api/metricsOptOut.ts +159 -0
  74. package/services/api/openRouterClient.ts +453 -0
  75. package/services/api/overageCreditGrant.ts +137 -0
  76. package/services/api/promptCacheBreakDetection.ts +727 -0
  77. package/services/api/referral.ts +281 -0
  78. package/services/api/sessionIngress.ts +514 -0
  79. package/services/api/ultrareviewQuota.ts +38 -0
  80. package/services/api/usage.ts +63 -0
  81. package/services/api/withRetry.ts +822 -0
  82. package/services/autoDream/autoDream.ts +324 -0
  83. package/services/autoDream/config.ts +21 -0
  84. package/services/autoDream/consolidationLock.ts +140 -0
  85. package/services/autoDream/consolidationPrompt.ts +65 -0
  86. package/services/awaySummary.ts +74 -0
  87. package/services/claudeAiLimits.ts +515 -0
  88. package/services/claudeAiLimitsHook.ts +23 -0
  89. package/services/compact/apiMicrocompact.ts +153 -0
  90. package/services/compact/autoCompact.ts +351 -0
  91. package/services/compact/compact.ts +1705 -0
  92. package/services/compact/compactWarningHook.ts +16 -0
  93. package/services/compact/compactWarningState.ts +18 -0
  94. package/services/compact/grouping.ts +63 -0
  95. package/services/compact/microCompact.ts +530 -0
  96. package/services/compact/postCompactCleanup.ts +77 -0
  97. package/services/compact/prompt.ts +374 -0
  98. package/services/compact/sessionMemoryCompact.ts +630 -0
  99. package/services/compact/timeBasedMCConfig.ts +43 -0
  100. package/services/diagnosticTracking.ts +397 -0
  101. package/services/extractMemories/extractMemories.ts +517 -0
  102. package/services/extractMemories/prompts.ts +154 -0
  103. package/services/internalLogging.ts +90 -0
  104. package/services/lsp/LSPClient.ts +447 -0
  105. package/services/lsp/LSPDiagnosticRegistry.ts +386 -0
  106. package/services/lsp/LSPServerInstance.ts +511 -0
  107. package/services/lsp/LSPServerManager.ts +420 -0
  108. package/services/lsp/config.ts +79 -0
  109. package/services/lsp/manager.ts +289 -0
  110. package/services/lsp/passiveFeedback.ts +328 -0
  111. package/services/mcp/InProcessTransport.ts +63 -0
  112. package/services/mcp/MCPConnectionManager.tsx +73 -0
  113. package/services/mcp/SdkControlTransport.ts +136 -0
  114. package/services/mcp/auth.ts +2465 -0
  115. package/services/mcp/channelAllowlist.ts +76 -0
  116. package/services/mcp/channelNotification.ts +316 -0
  117. package/services/mcp/channelPermissions.ts +240 -0
  118. package/services/mcp/claudeai.ts +164 -0
  119. package/services/mcp/client.ts +3348 -0
  120. package/services/mcp/config.ts +1578 -0
  121. package/services/mcp/elicitationHandler.ts +313 -0
  122. package/services/mcp/envExpansion.ts +38 -0
  123. package/services/mcp/headersHelper.ts +138 -0
  124. package/services/mcp/mcpStringUtils.ts +106 -0
  125. package/services/mcp/normalization.ts +23 -0
  126. package/services/mcp/oauthPort.ts +78 -0
  127. package/services/mcp/officialRegistry.ts +72 -0
  128. package/services/mcp/types.ts +258 -0
  129. package/services/mcp/useManageMCPConnections.ts +1141 -0
  130. package/services/mcp/utils.ts +575 -0
  131. package/services/mcp/vscodeSdkMcp.ts +112 -0
  132. package/services/mcp/xaa.ts +511 -0
  133. package/services/mcp/xaaIdpLogin.ts +487 -0
  134. package/services/mcpServerApproval.tsx +41 -0
  135. package/services/mockRateLimits.ts +882 -0
  136. package/services/notifier.ts +156 -0
  137. package/services/oauth/auth-code-listener.ts +211 -0
  138. package/services/oauth/client.ts +566 -0
  139. package/services/oauth/crypto.ts +23 -0
  140. package/services/oauth/getOauthProfile.ts +53 -0
  141. package/services/oauth/index.ts +198 -0
  142. package/services/plugins/PluginInstallationManager.ts +184 -0
  143. package/services/plugins/pluginCliCommands.ts +344 -0
  144. package/services/plugins/pluginOperations.ts +1088 -0
  145. package/services/policyLimits/index.ts +663 -0
  146. package/services/policyLimits/types.ts +27 -0
  147. package/services/preventSleep.ts +165 -0
  148. package/services/rateLimitMessages.ts +344 -0
  149. package/services/rateLimitMocking.ts +144 -0
  150. package/services/remoteManagedSettings/index.ts +638 -0
  151. package/services/remoteManagedSettings/securityCheck.tsx +74 -0
  152. package/services/remoteManagedSettings/syncCache.ts +112 -0
  153. package/services/remoteManagedSettings/syncCacheState.ts +96 -0
  154. package/services/remoteManagedSettings/types.ts +31 -0
  155. package/services/settingsSync/index.ts +581 -0
  156. package/services/settingsSync/types.ts +67 -0
  157. package/services/teamMemorySync/index.ts +1256 -0
  158. package/services/teamMemorySync/secretScanner.ts +324 -0
  159. package/services/teamMemorySync/teamMemSecretGuard.ts +44 -0
  160. package/services/teamMemorySync/types.ts +156 -0
  161. package/services/teamMemorySync/watcher.ts +387 -0
  162. package/services/tips/tipHistory.ts +17 -0
  163. package/services/tips/tipRegistry.ts +686 -0
  164. package/services/tips/tipScheduler.ts +58 -0
  165. package/services/tokenEstimation.ts +495 -0
  166. package/services/toolUseSummary/toolUseSummaryGenerator.ts +112 -0
  167. package/services/tools/StreamingToolExecutor.ts +530 -0
  168. package/services/tools/toolExecution.ts +1745 -0
  169. package/services/tools/toolHooks.ts +650 -0
  170. package/services/tools/toolOrchestration.ts +188 -0
  171. package/services/vcr.ts +406 -0
  172. package/services/voice.ts +525 -0
  173. package/services/voiceKeyterms.ts +106 -0
  174. package/services/voiceStreamSTT.ts +544 -0
  175. package/tools/AgentTool/AgentTool.tsx +1398 -0
  176. package/tools/AgentTool/UI.tsx +872 -0
  177. package/tools/AgentTool/agentColorManager.ts +66 -0
  178. package/tools/AgentTool/agentDisplay.ts +104 -0
  179. package/tools/AgentTool/agentMemory.ts +177 -0
  180. package/tools/AgentTool/agentMemorySnapshot.ts +197 -0
  181. package/tools/AgentTool/agentToolUtils.ts +686 -0
  182. package/tools/AgentTool/built-in/claudeCodeGuideAgent.ts +205 -0
  183. package/tools/AgentTool/built-in/exploreAgent.ts +83 -0
  184. package/tools/AgentTool/built-in/generalPurposeAgent.ts +34 -0
  185. package/tools/AgentTool/built-in/planAgent.ts +92 -0
  186. package/tools/AgentTool/built-in/statuslineSetup.ts +144 -0
  187. package/tools/AgentTool/built-in/verificationAgent.ts +152 -0
  188. package/tools/AgentTool/builtInAgents.ts +72 -0
  189. package/tools/AgentTool/constants.ts +12 -0
  190. package/tools/AgentTool/forkSubagent.ts +210 -0
  191. package/tools/AgentTool/loadAgentsDir.ts +755 -0
  192. package/tools/AgentTool/prompt.ts +287 -0
  193. package/tools/AgentTool/resumeAgent.ts +265 -0
  194. package/tools/AgentTool/runAgent.ts +973 -0
  195. package/tools/AskUserQuestionTool/AskUserQuestionTool.tsx +266 -0
  196. package/tools/AskUserQuestionTool/prompt.ts +44 -0
  197. package/tools/BashTool/BashTool.tsx +1144 -0
  198. package/tools/BashTool/BashToolResultMessage.tsx +191 -0
  199. package/tools/BashTool/UI.tsx +185 -0
  200. package/tools/BashTool/bashCommandHelpers.ts +265 -0
  201. package/tools/BashTool/bashPermissions.ts +2621 -0
  202. package/tools/BashTool/bashSecurity.ts +2592 -0
  203. package/tools/BashTool/commandSemantics.ts +140 -0
  204. package/tools/BashTool/commentLabel.ts +13 -0
  205. package/tools/BashTool/destructiveCommandWarning.ts +102 -0
  206. package/tools/BashTool/modeValidation.ts +115 -0
  207. package/tools/BashTool/pathValidation.ts +1303 -0
  208. package/tools/BashTool/prompt.ts +369 -0
  209. package/tools/BashTool/readOnlyValidation.ts +1990 -0
  210. package/tools/BashTool/sedEditParser.ts +322 -0
  211. package/tools/BashTool/sedValidation.ts +684 -0
  212. package/tools/BashTool/shouldUseSandbox.ts +153 -0
  213. package/tools/BashTool/toolName.ts +2 -0
  214. package/tools/BashTool/utils.ts +223 -0
  215. package/tools/BriefTool/BriefTool.ts +204 -0
  216. package/tools/BriefTool/UI.tsx +101 -0
  217. package/tools/BriefTool/attachments.ts +110 -0
  218. package/tools/BriefTool/prompt.ts +22 -0
  219. package/tools/BriefTool/upload.ts +174 -0
  220. package/tools/ConfigTool/ConfigTool.ts +467 -0
  221. package/tools/ConfigTool/UI.tsx +38 -0
  222. package/tools/ConfigTool/constants.ts +1 -0
  223. package/tools/ConfigTool/prompt.ts +93 -0
  224. package/tools/ConfigTool/supportedSettings.ts +211 -0
  225. package/tools/EnterPlanModeTool/EnterPlanModeTool.ts +126 -0
  226. package/tools/EnterPlanModeTool/UI.tsx +33 -0
  227. package/tools/EnterPlanModeTool/constants.ts +1 -0
  228. package/tools/EnterPlanModeTool/prompt.ts +170 -0
  229. package/tools/EnterWorktreeTool/EnterWorktreeTool.ts +127 -0
  230. package/tools/EnterWorktreeTool/UI.tsx +20 -0
  231. package/tools/EnterWorktreeTool/constants.ts +1 -0
  232. package/tools/EnterWorktreeTool/prompt.ts +30 -0
  233. package/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts +493 -0
  234. package/tools/ExitPlanModeTool/UI.tsx +82 -0
  235. package/tools/ExitPlanModeTool/constants.ts +2 -0
  236. package/tools/ExitPlanModeTool/prompt.ts +29 -0
  237. package/tools/ExitWorktreeTool/ExitWorktreeTool.ts +329 -0
  238. package/tools/ExitWorktreeTool/UI.tsx +25 -0
  239. package/tools/ExitWorktreeTool/constants.ts +1 -0
  240. package/tools/ExitWorktreeTool/prompt.ts +32 -0
  241. package/tools/FileEditTool/FileEditTool.ts +625 -0
  242. package/tools/FileEditTool/UI.tsx +289 -0
  243. package/tools/FileEditTool/constants.ts +11 -0
  244. package/tools/FileEditTool/prompt.ts +28 -0
  245. package/tools/FileEditTool/types.ts +85 -0
  246. package/tools/FileEditTool/utils.ts +775 -0
  247. package/tools/FileReadTool/FileReadTool.ts +1183 -0
  248. package/tools/FileReadTool/UI.tsx +185 -0
  249. package/tools/FileReadTool/imageProcessor.ts +94 -0
  250. package/tools/FileReadTool/limits.ts +92 -0
  251. package/tools/FileReadTool/prompt.ts +49 -0
  252. package/tools/FileWriteTool/FileWriteTool.ts +434 -0
  253. package/tools/FileWriteTool/UI.tsx +405 -0
  254. package/tools/FileWriteTool/prompt.ts +18 -0
  255. package/tools/GlobTool/GlobTool.ts +198 -0
  256. package/tools/GlobTool/UI.tsx +63 -0
  257. package/tools/GlobTool/prompt.ts +7 -0
  258. package/tools/GrepTool/GrepTool.ts +577 -0
  259. package/tools/GrepTool/UI.tsx +201 -0
  260. package/tools/GrepTool/prompt.ts +18 -0
  261. package/tools/LSPTool/LSPTool.ts +860 -0
  262. package/tools/LSPTool/UI.tsx +228 -0
  263. package/tools/LSPTool/formatters.ts +592 -0
  264. package/tools/LSPTool/prompt.ts +21 -0
  265. package/tools/LSPTool/schemas.ts +215 -0
  266. package/tools/LSPTool/symbolContext.ts +90 -0
  267. package/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts +123 -0
  268. package/tools/ListMcpResourcesTool/UI.tsx +29 -0
  269. package/tools/ListMcpResourcesTool/prompt.ts +20 -0
  270. package/tools/MCPTool/MCPTool.ts +77 -0
  271. package/tools/MCPTool/UI.tsx +403 -0
  272. package/tools/MCPTool/classifyForCollapse.ts +604 -0
  273. package/tools/MCPTool/prompt.ts +3 -0
  274. package/tools/McpAuthTool/McpAuthTool.ts +215 -0
  275. package/tools/NotebookEditTool/NotebookEditTool.ts +490 -0
  276. package/tools/NotebookEditTool/UI.tsx +93 -0
  277. package/tools/NotebookEditTool/constants.ts +2 -0
  278. package/tools/NotebookEditTool/prompt.ts +3 -0
  279. package/tools/PowerShellTool/PowerShellTool.tsx +1001 -0
  280. package/tools/PowerShellTool/UI.tsx +131 -0
  281. package/tools/PowerShellTool/clmTypes.ts +211 -0
  282. package/tools/PowerShellTool/commandSemantics.ts +142 -0
  283. package/tools/PowerShellTool/commonParameters.ts +30 -0
  284. package/tools/PowerShellTool/destructiveCommandWarning.ts +109 -0
  285. package/tools/PowerShellTool/gitSafety.ts +176 -0
  286. package/tools/PowerShellTool/modeValidation.ts +404 -0
  287. package/tools/PowerShellTool/pathValidation.ts +2049 -0
  288. package/tools/PowerShellTool/powershellPermissions.ts +1648 -0
  289. package/tools/PowerShellTool/powershellSecurity.ts +1090 -0
  290. package/tools/PowerShellTool/prompt.ts +145 -0
  291. package/tools/PowerShellTool/readOnlyValidation.ts +1823 -0
  292. package/tools/PowerShellTool/toolName.ts +2 -0
  293. package/tools/REPLTool/constants.ts +46 -0
  294. package/tools/REPLTool/primitiveTools.ts +39 -0
  295. package/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts +158 -0
  296. package/tools/ReadMcpResourceTool/UI.tsx +37 -0
  297. package/tools/ReadMcpResourceTool/prompt.ts +16 -0
  298. package/tools/RemoteTriggerTool/RemoteTriggerTool.ts +161 -0
  299. package/tools/RemoteTriggerTool/UI.tsx +17 -0
  300. package/tools/RemoteTriggerTool/prompt.ts +15 -0
  301. package/tools/ScheduleCronTool/CronCreateTool.ts +157 -0
  302. package/tools/ScheduleCronTool/CronDeleteTool.ts +95 -0
  303. package/tools/ScheduleCronTool/CronListTool.ts +97 -0
  304. package/tools/ScheduleCronTool/UI.tsx +60 -0
  305. package/tools/ScheduleCronTool/prompt.ts +135 -0
  306. package/tools/SendMessageTool/SendMessageTool.ts +917 -0
  307. package/tools/SendMessageTool/UI.tsx +31 -0
  308. package/tools/SendMessageTool/constants.ts +1 -0
  309. package/tools/SendMessageTool/prompt.ts +49 -0
  310. package/tools/SkillTool/SkillTool.ts +1108 -0
  311. package/tools/SkillTool/UI.tsx +128 -0
  312. package/tools/SkillTool/constants.ts +1 -0
  313. package/tools/SkillTool/prompt.ts +241 -0
  314. package/tools/SleepTool/prompt.ts +17 -0
  315. package/tools/SyntheticOutputTool/SyntheticOutputTool.ts +163 -0
  316. package/tools/TaskCreateTool/TaskCreateTool.ts +138 -0
  317. package/tools/TaskCreateTool/constants.ts +1 -0
  318. package/tools/TaskCreateTool/prompt.ts +56 -0
  319. package/tools/TaskGetTool/TaskGetTool.ts +128 -0
  320. package/tools/TaskGetTool/constants.ts +1 -0
  321. package/tools/TaskGetTool/prompt.ts +24 -0
  322. package/tools/TaskListTool/TaskListTool.ts +116 -0
  323. package/tools/TaskListTool/constants.ts +1 -0
  324. package/tools/TaskListTool/prompt.ts +49 -0
  325. package/tools/TaskOutputTool/TaskOutputTool.tsx +584 -0
  326. package/tools/TaskOutputTool/constants.ts +1 -0
  327. package/tools/TaskStopTool/TaskStopTool.ts +131 -0
  328. package/tools/TaskStopTool/UI.tsx +41 -0
  329. package/tools/TaskStopTool/prompt.ts +8 -0
  330. package/tools/TaskUpdateTool/TaskUpdateTool.ts +406 -0
  331. package/tools/TaskUpdateTool/constants.ts +1 -0
  332. package/tools/TaskUpdateTool/prompt.ts +77 -0
  333. package/tools/TeamCreateTool/TeamCreateTool.ts +240 -0
  334. package/tools/TeamCreateTool/UI.tsx +6 -0
  335. package/tools/TeamCreateTool/constants.ts +1 -0
  336. package/tools/TeamCreateTool/prompt.ts +113 -0
  337. package/tools/TeamDeleteTool/TeamDeleteTool.ts +139 -0
  338. package/tools/TeamDeleteTool/UI.tsx +20 -0
  339. package/tools/TeamDeleteTool/constants.ts +1 -0
  340. package/tools/TeamDeleteTool/prompt.ts +16 -0
  341. package/tools/TodoWriteTool/TodoWriteTool.ts +115 -0
  342. package/tools/TodoWriteTool/constants.ts +1 -0
  343. package/tools/TodoWriteTool/prompt.ts +184 -0
  344. package/tools/ToolSearchTool/ToolSearchTool.ts +471 -0
  345. package/tools/ToolSearchTool/constants.ts +1 -0
  346. package/tools/ToolSearchTool/prompt.ts +121 -0
  347. package/tools/TungstenTool/TungstenTool.ts +4 -0
  348. package/tools/WebFetchTool/UI.tsx +72 -0
  349. package/tools/WebFetchTool/WebFetchTool.ts +318 -0
  350. package/tools/WebFetchTool/preapproved.ts +166 -0
  351. package/tools/WebFetchTool/prompt.ts +46 -0
  352. package/tools/WebFetchTool/utils.ts +530 -0
  353. package/tools/WebSearchTool/UI.tsx +101 -0
  354. package/tools/WebSearchTool/WebSearchTool.ts +435 -0
  355. package/tools/WebSearchTool/prompt.ts +34 -0
  356. package/tools/WorkflowTool/constants.ts +2 -0
  357. package/tools/XMemIngestTool/XMemIngestTool.ts +140 -0
  358. package/tools/XMemIngestTool/prompt.ts +13 -0
  359. package/tools/XMemRetrieveTool/XMemRetrieveTool.ts +177 -0
  360. package/tools/XMemRetrieveTool/prompt.ts +16 -0
  361. package/tools/XMemSearchTool/XMemSearchTool.ts +172 -0
  362. package/tools/XMemSearchTool/prompt.ts +11 -0
  363. package/tools/shared/gitOperationTracking.ts +277 -0
  364. package/tools/shared/spawnMultiAgent.ts +1093 -0
  365. package/tools/testing/TestingPermissionTool.tsx +74 -0
  366. package/tools/utils.ts +40 -0
  367. package/utils/CircularBuffer.ts +84 -0
  368. package/utils/Cursor.ts +1530 -0
  369. package/utils/QueryGuard.ts +121 -0
  370. package/utils/Shell.ts +474 -0
  371. package/utils/ShellCommand.ts +465 -0
  372. package/utils/abortController.ts +99 -0
  373. package/utils/activityManager.ts +164 -0
  374. package/utils/advisor.ts +145 -0
  375. package/utils/agentContext.ts +178 -0
  376. package/utils/agentId.ts +99 -0
  377. package/utils/agentSwarmsEnabled.ts +44 -0
  378. package/utils/agenticSessionSearch.ts +307 -0
  379. package/utils/analyzeContext.ts +1382 -0
  380. package/utils/ansiToPng.ts +334 -0
  381. package/utils/ansiToSvg.ts +272 -0
  382. package/utils/api.ts +718 -0
  383. package/utils/apiPreconnect.ts +71 -0
  384. package/utils/appleTerminalBackup.ts +124 -0
  385. package/utils/argumentSubstitution.ts +145 -0
  386. package/utils/array.ts +13 -0
  387. package/utils/asciicast.ts +239 -0
  388. package/utils/attachments.ts +4091 -0
  389. package/utils/attribution.ts +393 -0
  390. package/utils/auth.ts +2002 -0
  391. package/utils/authFileDescriptor.ts +196 -0
  392. package/utils/authPortable.ts +19 -0
  393. package/utils/autoModeDenials.ts +26 -0
  394. package/utils/autoRunIssue.tsx +122 -0
  395. package/utils/autoUpdater.ts +561 -0
  396. package/utils/aws.ts +74 -0
  397. package/utils/awsAuthStatusManager.ts +81 -0
  398. package/utils/axios.ts +8 -0
  399. package/utils/background/remote/preconditions.ts +235 -0
  400. package/utils/background/remote/remoteSession.ts +98 -0
  401. package/utils/backgroundHousekeeping.ts +94 -0
  402. package/utils/bash/ParsedCommand.ts +318 -0
  403. package/utils/bash/ShellSnapshot.ts +582 -0
  404. package/utils/bash/ast.ts +2679 -0
  405. package/utils/bash/bashParser.ts +4436 -0
  406. package/utils/bash/bashPipeCommand.ts +294 -0
  407. package/utils/bash/commands.ts +1339 -0
  408. package/utils/bash/heredoc.ts +733 -0
  409. package/utils/bash/parser.ts +230 -0
  410. package/utils/bash/prefix.ts +204 -0
  411. package/utils/bash/registry.ts +53 -0
  412. package/utils/bash/shellCompletion.ts +259 -0
  413. package/utils/bash/shellPrefix.ts +28 -0
  414. package/utils/bash/shellQuote.ts +304 -0
  415. package/utils/bash/shellQuoting.ts +128 -0
  416. package/utils/bash/specs/alias.ts +14 -0
  417. package/utils/bash/specs/index.ts +18 -0
  418. package/utils/bash/specs/nohup.ts +13 -0
  419. package/utils/bash/specs/pyright.ts +91 -0
  420. package/utils/bash/specs/sleep.ts +13 -0
  421. package/utils/bash/specs/srun.ts +31 -0
  422. package/utils/bash/specs/time.ts +13 -0
  423. package/utils/bash/specs/timeout.ts +20 -0
  424. package/utils/bash/treeSitterAnalysis.ts +506 -0
  425. package/utils/betas.ts +434 -0
  426. package/utils/billing.ts +78 -0
  427. package/utils/binaryCheck.ts +53 -0
  428. package/utils/browser.ts +68 -0
  429. package/utils/bufferedWriter.ts +100 -0
  430. package/utils/bundledMode.ts +22 -0
  431. package/utils/caCerts.ts +115 -0
  432. package/utils/caCertsConfig.ts +88 -0
  433. package/utils/cachePaths.ts +38 -0
  434. package/utils/classifierApprovals.ts +88 -0
  435. package/utils/classifierApprovalsHook.ts +17 -0
  436. package/utils/claudeCodeHints.ts +193 -0
  437. package/utils/claudeDesktop.ts +152 -0
  438. package/utils/claudeInChrome/chromeNativeHost.ts +527 -0
  439. package/utils/claudeInChrome/common.ts +540 -0
  440. package/utils/claudeInChrome/mcpServer.ts +292 -0
  441. package/utils/claudeInChrome/prompt.ts +83 -0
  442. package/utils/claudeInChrome/setup.ts +400 -0
  443. package/utils/claudeInChrome/setupPortable.ts +233 -0
  444. package/utils/claudeInChrome/toolRendering.tsx +262 -0
  445. package/utils/claudemd.ts +1479 -0
  446. package/utils/cleanup.ts +602 -0
  447. package/utils/cleanupRegistry.ts +25 -0
  448. package/utils/cliArgs.ts +60 -0
  449. package/utils/cliHighlight.ts +54 -0
  450. package/utils/codeIndexing.ts +206 -0
  451. package/utils/collapseBackgroundBashNotifications.ts +84 -0
  452. package/utils/collapseHookSummaries.ts +59 -0
  453. package/utils/collapseReadSearch.ts +1109 -0
  454. package/utils/collapseTeammateShutdowns.ts +55 -0
  455. package/utils/color-diff-mock.ts +27 -0
  456. package/utils/combinedAbortSignal.ts +47 -0
  457. package/utils/commandLifecycle.ts +21 -0
  458. package/utils/commitAttribution.ts +961 -0
  459. package/utils/completionCache.ts +166 -0
  460. package/utils/computerUse/appNames.ts +196 -0
  461. package/utils/computerUse/cleanup.ts +86 -0
  462. package/utils/computerUse/common.ts +61 -0
  463. package/utils/computerUse/computerUseLock.ts +215 -0
  464. package/utils/computerUse/drainRunLoop.ts +79 -0
  465. package/utils/computerUse/escHotkey.ts +54 -0
  466. package/utils/computerUse/executor.ts +658 -0
  467. package/utils/computerUse/gates.ts +72 -0
  468. package/utils/computerUse/hostAdapter.ts +69 -0
  469. package/utils/computerUse/inputLoader.ts +30 -0
  470. package/utils/computerUse/mcpServer.ts +106 -0
  471. package/utils/computerUse/setup.ts +53 -0
  472. package/utils/computerUse/swiftLoader.ts +23 -0
  473. package/utils/computerUse/toolRendering.tsx +125 -0
  474. package/utils/computerUse/wrapper.tsx +336 -0
  475. package/utils/concurrentSessions.ts +204 -0
  476. package/utils/config.ts +1817 -0
  477. package/utils/configConstants.ts +21 -0
  478. package/utils/contentArray.ts +51 -0
  479. package/utils/context.ts +221 -0
  480. package/utils/contextAnalysis.ts +272 -0
  481. package/utils/contextSuggestions.ts +235 -0
  482. package/utils/controlMessageCompat.ts +32 -0
  483. package/utils/conversationRecovery.ts +597 -0
  484. package/utils/cron.ts +308 -0
  485. package/utils/cronJitterConfig.ts +75 -0
  486. package/utils/cronScheduler.ts +565 -0
  487. package/utils/cronTasks.ts +458 -0
  488. package/utils/cronTasksLock.ts +195 -0
  489. package/utils/crossProjectResume.ts +75 -0
  490. package/utils/crypto.ts +13 -0
  491. package/utils/cwd.ts +32 -0
  492. package/utils/debug.ts +268 -0
  493. package/utils/debugFilter.ts +157 -0
  494. package/utils/deepLink/banner.ts +123 -0
  495. package/utils/deepLink/parseDeepLink.ts +170 -0
  496. package/utils/deepLink/protocolHandler.ts +136 -0
  497. package/utils/deepLink/registerProtocol.ts +348 -0
  498. package/utils/deepLink/terminalLauncher.ts +557 -0
  499. package/utils/deepLink/terminalPreference.ts +54 -0
  500. package/utils/desktopDeepLink.ts +236 -0
  501. package/utils/detectRepository.ts +178 -0
  502. package/utils/diagLogs.ts +94 -0
  503. package/utils/diff.ts +177 -0
  504. package/utils/directMemberMessage.ts +69 -0
  505. package/utils/displayTags.ts +51 -0
  506. package/utils/doctorContextWarnings.ts +265 -0
  507. package/utils/doctorDiagnostic.ts +625 -0
  508. package/utils/dxt/helpers.ts +88 -0
  509. package/utils/dxt/zip.ts +226 -0
  510. package/utils/earlyInput.ts +191 -0
  511. package/utils/editor.ts +183 -0
  512. package/utils/effort.ts +329 -0
  513. package/utils/embeddedTools.ts +29 -0
  514. package/utils/env.ts +347 -0
  515. package/utils/envDynamic.ts +151 -0
  516. package/utils/envUtils.ts +183 -0
  517. package/utils/envValidation.ts +38 -0
  518. package/utils/errorLogSink.ts +235 -0
  519. package/utils/errors.ts +238 -0
  520. package/utils/exampleCommands.ts +184 -0
  521. package/utils/execFileNoThrow.ts +150 -0
  522. package/utils/execFileNoThrowPortable.ts +89 -0
  523. package/utils/execSyncWrapper.ts +38 -0
  524. package/utils/exportRenderer.tsx +98 -0
  525. package/utils/extraUsage.ts +23 -0
  526. package/utils/fastMode.ts +532 -0
  527. package/utils/file.ts +584 -0
  528. package/utils/fileHistory.ts +1115 -0
  529. package/utils/fileOperationAnalytics.ts +71 -0
  530. package/utils/filePersistence/filePersistence.ts +287 -0
  531. package/utils/filePersistence/outputsScanner.ts +126 -0
  532. package/utils/fileRead.ts +102 -0
  533. package/utils/fileReadCache.ts +96 -0
  534. package/utils/fileStateCache.ts +142 -0
  535. package/utils/findExecutable.ts +17 -0
  536. package/utils/fingerprint.ts +76 -0
  537. package/utils/forkedAgent.ts +689 -0
  538. package/utils/format.ts +308 -0
  539. package/utils/formatBriefTimestamp.ts +81 -0
  540. package/utils/fpsTracker.ts +47 -0
  541. package/utils/frontmatterParser.ts +370 -0
  542. package/utils/fsOperations.ts +770 -0
  543. package/utils/fullscreen.ts +202 -0
  544. package/utils/generatedFiles.ts +136 -0
  545. package/utils/generators.ts +88 -0
  546. package/utils/genericProcessUtils.ts +184 -0
  547. package/utils/getWorktreePaths.ts +70 -0
  548. package/utils/getWorktreePathsPortable.ts +27 -0
  549. package/utils/ghPrStatus.ts +106 -0
  550. package/utils/git/gitConfigParser.ts +277 -0
  551. package/utils/git/gitFilesystem.ts +699 -0
  552. package/utils/git/gitignore.ts +99 -0
  553. package/utils/git.ts +926 -0
  554. package/utils/gitDiff.ts +532 -0
  555. package/utils/gitSettings.ts +18 -0
  556. package/utils/github/ghAuthStatus.ts +29 -0
  557. package/utils/githubRepoPathMapping.ts +162 -0
  558. package/utils/glob.ts +130 -0
  559. package/utils/gracefulShutdown.ts +529 -0
  560. package/utils/groupToolUses.ts +182 -0
  561. package/utils/handlePromptSubmit.ts +610 -0
  562. package/utils/hash.ts +46 -0
  563. package/utils/headlessProfiler.ts +178 -0
  564. package/utils/heapDumpService.ts +303 -0
  565. package/utils/heatmap.ts +198 -0
  566. package/utils/highlightMatch.tsx +28 -0
  567. package/utils/hooks/AsyncHookRegistry.ts +309 -0
  568. package/utils/hooks/apiQueryHookHelper.ts +141 -0
  569. package/utils/hooks/execAgentHook.ts +339 -0
  570. package/utils/hooks/execHttpHook.ts +242 -0
  571. package/utils/hooks/execPromptHook.ts +211 -0
  572. package/utils/hooks/fileChangedWatcher.ts +191 -0
  573. package/utils/hooks/hookEvents.ts +192 -0
  574. package/utils/hooks/hookHelpers.ts +83 -0
  575. package/utils/hooks/hooksConfigManager.ts +400 -0
  576. package/utils/hooks/hooksConfigSnapshot.ts +133 -0
  577. package/utils/hooks/hooksSettings.ts +271 -0
  578. package/utils/hooks/postSamplingHooks.ts +70 -0
  579. package/utils/hooks/registerFrontmatterHooks.ts +67 -0
  580. package/utils/hooks/registerSkillHooks.ts +64 -0
  581. package/utils/hooks/sessionHooks.ts +447 -0
  582. package/utils/hooks/skillImprovement.ts +267 -0
  583. package/utils/hooks/ssrfGuard.ts +294 -0
  584. package/utils/hooks.ts +5022 -0
  585. package/utils/horizontalScroll.ts +137 -0
  586. package/utils/http.ts +136 -0
  587. package/utils/hyperlink.ts +39 -0
  588. package/utils/iTermBackup.ts +73 -0
  589. package/utils/ide.ts +1494 -0
  590. package/utils/idePathConversion.ts +90 -0
  591. package/utils/idleTimeout.ts +53 -0
  592. package/utils/imagePaste.ts +416 -0
  593. package/utils/imageResizer.ts +880 -0
  594. package/utils/imageStore.ts +167 -0
  595. package/utils/imageValidation.ts +104 -0
  596. package/utils/immediateCommand.ts +15 -0
  597. package/utils/inProcessTeammateHelpers.ts +102 -0
  598. package/utils/ink.ts +26 -0
  599. package/utils/intl.ts +94 -0
  600. package/utils/jetbrains.ts +191 -0
  601. package/utils/json.ts +277 -0
  602. package/utils/jsonRead.ts +16 -0
  603. package/utils/keyboardShortcuts.ts +14 -0
  604. package/utils/lazySchema.ts +8 -0
  605. package/utils/listSessionsImpl.ts +454 -0
  606. package/utils/localInstaller.ts +162 -0
  607. package/utils/lockfile.ts +43 -0
  608. package/utils/log.ts +362 -0
  609. package/utils/logoV2Utils.ts +347 -0
  610. package/utils/mailbox.ts +73 -0
  611. package/utils/managedEnv.ts +199 -0
  612. package/utils/managedEnvConstants.ts +191 -0
  613. package/utils/markdown.ts +381 -0
  614. package/utils/markdownConfigLoader.ts +600 -0
  615. package/utils/mcp/dateTimeParser.ts +121 -0
  616. package/utils/mcp/elicitationValidation.ts +336 -0
  617. package/utils/mcpInstructionsDelta.ts +130 -0
  618. package/utils/mcpOutputStorage.ts +189 -0
  619. package/utils/mcpValidation.ts +208 -0
  620. package/utils/mcpWebSocketTransport.ts +200 -0
  621. package/utils/memoize.ts +269 -0
  622. package/utils/memory/types.ts +12 -0
  623. package/utils/memory/versions.ts +8 -0
  624. package/utils/memoryFileDetection.ts +289 -0
  625. package/utils/messagePredicates.ts +8 -0
  626. package/utils/messageQueueManager.ts +547 -0
  627. package/utils/messages/mappers.ts +290 -0
  628. package/utils/messages/systemInit.ts +96 -0
  629. package/utils/messages.ts +5520 -0
  630. package/utils/model/agent.ts +157 -0
  631. package/utils/model/aliases.ts +35 -0
  632. package/utils/model/antModels.ts +64 -0
  633. package/utils/model/bedrock.ts +265 -0
  634. package/utils/model/check1mAccess.ts +72 -0
  635. package/utils/model/configs.ts +158 -0
  636. package/utils/model/contextWindowUpgradeCheck.ts +47 -0
  637. package/utils/model/deprecation.ts +101 -0
  638. package/utils/model/model.ts +654 -0
  639. package/utils/model/modelAllowlist.ts +170 -0
  640. package/utils/model/modelCapabilities.ts +118 -0
  641. package/utils/model/modelOptions.ts +589 -0
  642. package/utils/model/modelStrings.ts +170 -0
  643. package/utils/model/modelSupportOverrides.ts +50 -0
  644. package/utils/model/providers.ts +42 -0
  645. package/utils/model/validateModel.ts +159 -0
  646. package/utils/modelCost.ts +231 -0
  647. package/utils/modifiers.ts +36 -0
  648. package/utils/mtls.ts +179 -0
  649. package/utils/nativeInstaller/download.ts +523 -0
  650. package/utils/nativeInstaller/index.ts +18 -0
  651. package/utils/nativeInstaller/installer.ts +1708 -0
  652. package/utils/nativeInstaller/packageManagers.ts +336 -0
  653. package/utils/nativeInstaller/pidLock.ts +433 -0
  654. package/utils/notebook.ts +224 -0
  655. package/utils/objectGroupBy.ts +18 -0
  656. package/utils/pasteStore.ts +104 -0
  657. package/utils/path.ts +155 -0
  658. package/utils/pdf.ts +300 -0
  659. package/utils/pdfUtils.ts +70 -0
  660. package/utils/peerAddress.ts +21 -0
  661. package/utils/permissions/PermissionMode.ts +141 -0
  662. package/utils/permissions/PermissionPromptToolResultSchema.ts +127 -0
  663. package/utils/permissions/PermissionResult.ts +35 -0
  664. package/utils/permissions/PermissionRule.ts +40 -0
  665. package/utils/permissions/PermissionUpdate.ts +389 -0
  666. package/utils/permissions/PermissionUpdateSchema.ts +78 -0
  667. package/utils/permissions/autoModeState.ts +39 -0
  668. package/utils/permissions/bashClassifier.ts +61 -0
  669. package/utils/permissions/bypassPermissionsKillswitch.ts +155 -0
  670. package/utils/permissions/classifierDecision.ts +98 -0
  671. package/utils/permissions/classifierShared.ts +39 -0
  672. package/utils/permissions/dangerousPatterns.ts +80 -0
  673. package/utils/permissions/denialTracking.ts +45 -0
  674. package/utils/permissions/filesystem.ts +1777 -0
  675. package/utils/permissions/getNextPermissionMode.ts +101 -0
  676. package/utils/permissions/pathValidation.ts +485 -0
  677. package/utils/permissions/permissionExplainer.ts +250 -0
  678. package/utils/permissions/permissionRuleParser.ts +198 -0
  679. package/utils/permissions/permissionSetup.ts +1532 -0
  680. package/utils/permissions/permissions.ts +1486 -0
  681. package/utils/permissions/permissionsLoader.ts +296 -0
  682. package/utils/permissions/shadowedRuleDetection.ts +234 -0
  683. package/utils/permissions/shellRuleMatching.ts +228 -0
  684. package/utils/permissions/yoloClassifier.ts +1495 -0
  685. package/utils/planModeV2.ts +95 -0
  686. package/utils/plans.ts +397 -0
  687. package/utils/platform.ts +150 -0
  688. package/utils/plugins/addDirPluginSettings.ts +71 -0
  689. package/utils/plugins/cacheUtils.ts +196 -0
  690. package/utils/plugins/dependencyResolver.ts +305 -0
  691. package/utils/plugins/fetchTelemetry.ts +135 -0
  692. package/utils/plugins/gitAvailability.ts +69 -0
  693. package/utils/plugins/headlessPluginInstall.ts +174 -0
  694. package/utils/plugins/hintRecommendation.ts +164 -0
  695. package/utils/plugins/installCounts.ts +292 -0
  696. package/utils/plugins/installedPluginsManager.ts +1268 -0
  697. package/utils/plugins/loadPluginAgents.ts +348 -0
  698. package/utils/plugins/loadPluginCommands.ts +946 -0
  699. package/utils/plugins/loadPluginHooks.ts +287 -0
  700. package/utils/plugins/loadPluginOutputStyles.ts +178 -0
  701. package/utils/plugins/lspPluginIntegration.ts +387 -0
  702. package/utils/plugins/lspRecommendation.ts +374 -0
  703. package/utils/plugins/managedPlugins.ts +27 -0
  704. package/utils/plugins/marketplaceHelpers.ts +592 -0
  705. package/utils/plugins/marketplaceManager.ts +2643 -0
  706. package/utils/plugins/mcpPluginIntegration.ts +634 -0
  707. package/utils/plugins/mcpbHandler.ts +968 -0
  708. package/utils/plugins/officialMarketplace.ts +25 -0
  709. package/utils/plugins/officialMarketplaceGcs.ts +216 -0
  710. package/utils/plugins/officialMarketplaceStartupCheck.ts +439 -0
  711. package/utils/plugins/orphanedPluginFilter.ts +114 -0
  712. package/utils/plugins/parseMarketplaceInput.ts +162 -0
  713. package/utils/plugins/performStartupChecks.tsx +70 -0
  714. package/utils/plugins/pluginAutoupdate.ts +284 -0
  715. package/utils/plugins/pluginBlocklist.ts +127 -0
  716. package/utils/plugins/pluginDirectories.ts +178 -0
  717. package/utils/plugins/pluginFlagging.ts +208 -0
  718. package/utils/plugins/pluginIdentifier.ts +123 -0
  719. package/utils/plugins/pluginInstallationHelpers.ts +595 -0
  720. package/utils/plugins/pluginLoader.ts +3302 -0
  721. package/utils/plugins/pluginOptionsStorage.ts +400 -0
  722. package/utils/plugins/pluginPolicy.ts +20 -0
  723. package/utils/plugins/pluginStartupCheck.ts +341 -0
  724. package/utils/plugins/pluginVersioning.ts +157 -0
  725. package/utils/plugins/reconciler.ts +265 -0
  726. package/utils/plugins/refresh.ts +215 -0
  727. package/utils/plugins/schemas.ts +1681 -0
  728. package/utils/plugins/validatePlugin.ts +903 -0
  729. package/utils/plugins/walkPluginMarkdown.ts +69 -0
  730. package/utils/plugins/zipCache.ts +406 -0
  731. package/utils/plugins/zipCacheAdapters.ts +164 -0
  732. package/utils/powershell/dangerousCmdlets.ts +185 -0
  733. package/utils/powershell/parser.ts +1804 -0
  734. package/utils/powershell/staticPrefix.ts +316 -0
  735. package/utils/preflightChecks.tsx +151 -0
  736. package/utils/privacyLevel.ts +55 -0
  737. package/utils/process.ts +68 -0
  738. package/utils/processUserInput/processBashCommand.tsx +140 -0
  739. package/utils/processUserInput/processSlashCommand.tsx +922 -0
  740. package/utils/processUserInput/processTextPrompt.ts +100 -0
  741. package/utils/processUserInput/processUserInput.ts +605 -0
  742. package/utils/profilerBase.ts +46 -0
  743. package/utils/promptCategory.ts +49 -0
  744. package/utils/promptEditor.ts +188 -0
  745. package/utils/promptShellExecution.ts +183 -0
  746. package/utils/proxy.ts +426 -0
  747. package/utils/queryContext.ts +179 -0
  748. package/utils/queryHelpers.ts +552 -0
  749. package/utils/queryProfiler.ts +301 -0
  750. package/utils/queueProcessor.ts +95 -0
  751. package/utils/readEditContext.ts +227 -0
  752. package/utils/readFileInRange.ts +383 -0
  753. package/utils/releaseNotes.ts +360 -0
  754. package/utils/renderOptions.ts +113 -0
  755. package/utils/ripgrep.ts +679 -0
  756. package/utils/sandbox/sandbox-adapter.ts +985 -0
  757. package/utils/sandbox/sandbox-ui-utils.ts +12 -0
  758. package/utils/sanitization.ts +91 -0
  759. package/utils/screenshotClipboard.ts +121 -0
  760. package/utils/sdkEventQueue.ts +134 -0
  761. package/utils/secureStorage/fallbackStorage.ts +70 -0
  762. package/utils/secureStorage/index.ts +17 -0
  763. package/utils/secureStorage/keychainPrefetch.ts +116 -0
  764. package/utils/secureStorage/macOsKeychainHelpers.ts +111 -0
  765. package/utils/secureStorage/macOsKeychainStorage.ts +231 -0
  766. package/utils/secureStorage/plainTextStorage.ts +84 -0
  767. package/utils/semanticBoolean.ts +29 -0
  768. package/utils/semanticNumber.ts +36 -0
  769. package/utils/semver.ts +59 -0
  770. package/utils/sequential.ts +56 -0
  771. package/utils/sessionActivity.ts +133 -0
  772. package/utils/sessionEnvVars.ts +22 -0
  773. package/utils/sessionEnvironment.ts +166 -0
  774. package/utils/sessionFileAccessHooks.ts +250 -0
  775. package/utils/sessionIngressAuth.ts +140 -0
  776. package/utils/sessionRestore.ts +551 -0
  777. package/utils/sessionStart.ts +232 -0
  778. package/utils/sessionState.ts +150 -0
  779. package/utils/sessionStorage.ts +5105 -0
  780. package/utils/sessionStoragePortable.ts +793 -0
  781. package/utils/sessionTitle.ts +129 -0
  782. package/utils/sessionUrl.ts +64 -0
  783. package/utils/set.ts +53 -0
  784. package/utils/settings/allErrors.ts +32 -0
  785. package/utils/settings/applySettingsChange.ts +92 -0
  786. package/utils/settings/changeDetector.ts +488 -0
  787. package/utils/settings/constants.ts +202 -0
  788. package/utils/settings/internalWrites.ts +37 -0
  789. package/utils/settings/managedPath.ts +34 -0
  790. package/utils/settings/mdm/constants.ts +81 -0
  791. package/utils/settings/mdm/rawRead.ts +130 -0
  792. package/utils/settings/mdm/settings.ts +316 -0
  793. package/utils/settings/permissionValidation.ts +262 -0
  794. package/utils/settings/pluginOnlyPolicy.ts +60 -0
  795. package/utils/settings/schemaOutput.ts +8 -0
  796. package/utils/settings/settings.ts +1015 -0
  797. package/utils/settings/settingsCache.ts +80 -0
  798. package/utils/settings/toolValidationConfig.ts +103 -0
  799. package/utils/settings/types.ts +1149 -0
  800. package/utils/settings/validateEditTool.ts +45 -0
  801. package/utils/settings/validation.ts +265 -0
  802. package/utils/settings/validationTips.ts +164 -0
  803. package/utils/shell/bashProvider.ts +255 -0
  804. package/utils/shell/outputLimits.ts +14 -0
  805. package/utils/shell/powershellDetection.ts +107 -0
  806. package/utils/shell/powershellProvider.ts +123 -0
  807. package/utils/shell/prefix.ts +367 -0
  808. package/utils/shell/readOnlyCommandValidation.ts +1893 -0
  809. package/utils/shell/resolveDefaultShell.ts +14 -0
  810. package/utils/shell/shellProvider.ts +33 -0
  811. package/utils/shell/shellToolUtils.ts +22 -0
  812. package/utils/shell/specPrefix.ts +241 -0
  813. package/utils/shellConfig.ts +167 -0
  814. package/utils/sideQuery.ts +222 -0
  815. package/utils/sideQuestion.ts +155 -0
  816. package/utils/signal.ts +43 -0
  817. package/utils/sinks.ts +16 -0
  818. package/utils/skills/skillChangeDetector.ts +311 -0
  819. package/utils/slashCommandParsing.ts +60 -0
  820. package/utils/sleep.ts +84 -0
  821. package/utils/sliceAnsi.ts +91 -0
  822. package/utils/slowOperations.ts +286 -0
  823. package/utils/standaloneAgent.ts +23 -0
  824. package/utils/startupProfiler.ts +194 -0
  825. package/utils/staticRender.tsx +116 -0
  826. package/utils/stats.ts +1061 -0
  827. package/utils/statsCache.ts +434 -0
  828. package/utils/status.tsx +362 -0
  829. package/utils/statusNoticeDefinitions.tsx +198 -0
  830. package/utils/statusNoticeHelpers.ts +20 -0
  831. package/utils/stream.ts +76 -0
  832. package/utils/streamJsonStdoutGuard.ts +123 -0
  833. package/utils/streamlinedTransform.ts +201 -0
  834. package/utils/stringUtils.ts +235 -0
  835. package/utils/subprocessEnv.ts +99 -0
  836. package/utils/suggestions/commandSuggestions.ts +567 -0
  837. package/utils/suggestions/directoryCompletion.ts +263 -0
  838. package/utils/suggestions/shellHistoryCompletion.ts +119 -0
  839. package/utils/suggestions/skillUsageTracking.ts +55 -0
  840. package/utils/suggestions/slackChannelSuggestions.ts +209 -0
  841. package/utils/swarm/It2SetupPrompt.tsx +380 -0
  842. package/utils/swarm/backends/ITermBackend.ts +370 -0
  843. package/utils/swarm/backends/InProcessBackend.ts +339 -0
  844. package/utils/swarm/backends/PaneBackendExecutor.ts +354 -0
  845. package/utils/swarm/backends/TmuxBackend.ts +764 -0
  846. package/utils/swarm/backends/detection.ts +128 -0
  847. package/utils/swarm/backends/it2Setup.ts +245 -0
  848. package/utils/swarm/backends/registry.ts +464 -0
  849. package/utils/swarm/backends/teammateModeSnapshot.ts +87 -0
  850. package/utils/swarm/backends/types.ts +311 -0
  851. package/utils/swarm/constants.ts +33 -0
  852. package/utils/swarm/inProcessRunner.ts +1552 -0
  853. package/utils/swarm/leaderPermissionBridge.ts +54 -0
  854. package/utils/swarm/permissionSync.ts +928 -0
  855. package/utils/swarm/reconnection.ts +119 -0
  856. package/utils/swarm/spawnInProcess.ts +328 -0
  857. package/utils/swarm/spawnUtils.ts +146 -0
  858. package/utils/swarm/teamHelpers.ts +683 -0
  859. package/utils/swarm/teammateInit.ts +129 -0
  860. package/utils/swarm/teammateLayoutManager.ts +107 -0
  861. package/utils/swarm/teammateModel.ts +10 -0
  862. package/utils/swarm/teammatePromptAddendum.ts +18 -0
  863. package/utils/systemDirectories.ts +74 -0
  864. package/utils/systemPrompt.ts +123 -0
  865. package/utils/systemPromptType.ts +14 -0
  866. package/utils/systemTheme.ts +119 -0
  867. package/utils/taggedId.ts +54 -0
  868. package/utils/task/TaskOutput.ts +390 -0
  869. package/utils/task/diskOutput.ts +451 -0
  870. package/utils/task/framework.ts +308 -0
  871. package/utils/task/outputFormatting.ts +38 -0
  872. package/utils/task/sdkProgress.ts +36 -0
  873. package/utils/tasks.ts +862 -0
  874. package/utils/teamDiscovery.ts +81 -0
  875. package/utils/teamMemoryOps.ts +88 -0
  876. package/utils/teammate.ts +292 -0
  877. package/utils/teammateContext.ts +96 -0
  878. package/utils/teammateMailbox.ts +1183 -0
  879. package/utils/telemetry/betaSessionTracing.ts +491 -0
  880. package/utils/telemetry/bigqueryExporter.ts +252 -0
  881. package/utils/telemetry/events.ts +75 -0
  882. package/utils/telemetry/instrumentation.ts +825 -0
  883. package/utils/telemetry/logger.ts +26 -0
  884. package/utils/telemetry/perfettoTracing.ts +1120 -0
  885. package/utils/telemetry/pluginTelemetry.ts +289 -0
  886. package/utils/telemetry/sessionTracing.ts +927 -0
  887. package/utils/telemetry/skillLoadedEvent.ts +39 -0
  888. package/utils/telemetryAttributes.ts +71 -0
  889. package/utils/teleport/api.ts +466 -0
  890. package/utils/teleport/environmentSelection.ts +77 -0
  891. package/utils/teleport/environments.ts +120 -0
  892. package/utils/teleport/gitBundle.ts +292 -0
  893. package/utils/teleport.tsx +1226 -0
  894. package/utils/tempfile.ts +31 -0
  895. package/utils/terminal.ts +131 -0
  896. package/utils/terminalPanel.ts +191 -0
  897. package/utils/textHighlighting.ts +166 -0
  898. package/utils/theme.ts +639 -0
  899. package/utils/thinking.ts +162 -0
  900. package/utils/timeouts.ts +39 -0
  901. package/utils/tmuxSocket.ts +427 -0
  902. package/utils/todo/types.ts +18 -0
  903. package/utils/tokenBudget.ts +73 -0
  904. package/utils/tokens.ts +261 -0
  905. package/utils/toolErrors.ts +132 -0
  906. package/utils/toolPool.ts +79 -0
  907. package/utils/toolResultStorage.ts +1040 -0
  908. package/utils/toolSchemaCache.ts +26 -0
  909. package/utils/toolSearch.ts +756 -0
  910. package/utils/transcriptSearch.ts +202 -0
  911. package/utils/treeify.ts +170 -0
  912. package/utils/truncate.ts +179 -0
  913. package/utils/ultraplan/ccrSession.ts +349 -0
  914. package/utils/ultraplan/keyword.ts +127 -0
  915. package/utils/ultraplan/prompt.txt +1 -0
  916. package/utils/unaryLogging.ts +39 -0
  917. package/utils/undercover.ts +89 -0
  918. package/utils/user.ts +194 -0
  919. package/utils/userAgent.ts +10 -0
  920. package/utils/userPromptKeywords.ts +27 -0
  921. package/utils/uuid.ts +27 -0
  922. package/utils/warningHandler.ts +121 -0
  923. package/utils/which.ts +82 -0
  924. package/utils/windowsPaths.ts +173 -0
  925. package/utils/withResolvers.ts +13 -0
  926. package/utils/words.ts +800 -0
  927. package/utils/workloadContext.ts +57 -0
  928. package/utils/worktree.ts +1519 -0
  929. package/utils/worktreeModeEnabled.ts +11 -0
  930. package/utils/xdg.ts +65 -0
  931. package/utils/xmem.ts +6 -0
  932. package/utils/xml.ts +16 -0
  933. package/utils/yaml.ts +15 -0
  934. package/utils/zodToJsonSchema.ts +23 -0
package/utils/theme.ts ADDED
@@ -0,0 +1,639 @@
1
+ import chalk, { Chalk } from 'chalk'
2
+ import { env } from './env.js'
3
+
4
+ export type Theme = {
5
+ autoAccept: string
6
+ bashBorder: string
7
+ claude: string
8
+ claudeShimmer: string // Lighter version of claude color for shimmer effect
9
+ claudeBlue_FOR_SYSTEM_SPINNER: string
10
+ claudeBlueShimmer_FOR_SYSTEM_SPINNER: string
11
+ permission: string
12
+ permissionShimmer: string // Lighter version of permission color for shimmer effect
13
+ planMode: string
14
+ ide: string
15
+ promptBorder: string
16
+ promptBorderShimmer: string // Lighter version of promptBorder color for shimmer effect
17
+ text: string
18
+ inverseText: string
19
+ inactive: string
20
+ inactiveShimmer: string // Lighter version of inactive color for shimmer effect
21
+ subtle: string
22
+ suggestion: string
23
+ remember: string
24
+ background: string
25
+ // Semantic colors
26
+ success: string
27
+ error: string
28
+ warning: string
29
+ merged: string
30
+ warningShimmer: string // Lighter version of warning color for shimmer effect
31
+ // Diff colors
32
+ diffAdded: string
33
+ diffRemoved: string
34
+ diffAddedDimmed: string
35
+ diffRemovedDimmed: string
36
+ // Word-level diff highlighting
37
+ diffAddedWord: string
38
+ diffRemovedWord: string
39
+ // Agent colors
40
+ red_FOR_SUBAGENTS_ONLY: string
41
+ blue_FOR_SUBAGENTS_ONLY: string
42
+ green_FOR_SUBAGENTS_ONLY: string
43
+ yellow_FOR_SUBAGENTS_ONLY: string
44
+ purple_FOR_SUBAGENTS_ONLY: string
45
+ orange_FOR_SUBAGENTS_ONLY: string
46
+ pink_FOR_SUBAGENTS_ONLY: string
47
+ cyan_FOR_SUBAGENTS_ONLY: string
48
+ // Grove colors
49
+ professionalBlue: string
50
+ // Chrome colors
51
+ chromeYellow: string
52
+ // TUI V2 colors
53
+ clawd_body: string
54
+ clawd_background: string
55
+ userMessageBackground: string
56
+ userMessageBackgroundHover: string
57
+ /** Message-actions selection. Cool shift toward `suggestion` blue; distinct from default AND userMessageBackground. */
58
+ messageActionsBackground: string
59
+ /** Text-selection highlight background (alt-screen mouse selection). Solid
60
+ * bg that REPLACES the cell's bg while preserving its fg — matches native
61
+ * terminal selection. Previously SGR-7 inverse (swapped fg/bg per cell),
62
+ * which fragmented badly over syntax highlighting. */
63
+ selectionBg: string
64
+ bashMessageBackgroundColor: string
65
+
66
+ memoryBackgroundColor: string
67
+ rate_limit_fill: string
68
+ rate_limit_empty: string
69
+ fastMode: string
70
+ fastModeShimmer: string
71
+ // Brief/assistant mode label colors
72
+ briefLabelYou: string
73
+ briefLabelClaude: string
74
+ // Rainbow colors for ultrathink keyword highlighting
75
+ rainbow_red: string
76
+ rainbow_orange: string
77
+ rainbow_yellow: string
78
+ rainbow_green: string
79
+ rainbow_blue: string
80
+ rainbow_indigo: string
81
+ rainbow_violet: string
82
+ rainbow_red_shimmer: string
83
+ rainbow_orange_shimmer: string
84
+ rainbow_yellow_shimmer: string
85
+ rainbow_green_shimmer: string
86
+ rainbow_blue_shimmer: string
87
+ rainbow_indigo_shimmer: string
88
+ rainbow_violet_shimmer: string
89
+ }
90
+
91
+ export const THEME_NAMES = [
92
+ 'dark',
93
+ 'light',
94
+ 'light-daltonized',
95
+ 'dark-daltonized',
96
+ 'light-ansi',
97
+ 'dark-ansi',
98
+ ] as const
99
+
100
+ /** A renderable theme. Always resolvable to a concrete color palette. */
101
+ export type ThemeName = (typeof THEME_NAMES)[number]
102
+
103
+ export const THEME_SETTINGS = ['auto', ...THEME_NAMES] as const
104
+
105
+ /**
106
+ * A theme preference as stored in user config. `'auto'` follows the system
107
+ * dark/light mode and is resolved to a ThemeName at runtime.
108
+ */
109
+ export type ThemeSetting = (typeof THEME_SETTINGS)[number]
110
+
111
+ /**
112
+ * Light theme using explicit RGB values to avoid inconsistencies
113
+ * from users' custom terminal ANSI color definitions
114
+ */
115
+ const lightTheme: Theme = {
116
+ autoAccept: 'rgb(135,0,255)', // Electric violet
117
+ bashBorder: 'rgb(255,0,135)', // Vibrant pink
118
+ claude: 'rgb(215,119,87)', // Claude orange
119
+ claudeShimmer: 'rgb(245,149,117)', // Lighter claude orange for shimmer effect
120
+ claudeBlue_FOR_SYSTEM_SPINNER: 'rgb(87,105,247)', // Medium blue for system spinner
121
+ claudeBlueShimmer_FOR_SYSTEM_SPINNER: 'rgb(117,135,255)', // Lighter blue for system spinner shimmer
122
+ permission: 'rgb(87,105,247)', // Medium blue
123
+ permissionShimmer: 'rgb(137,155,255)', // Lighter blue for shimmer effect
124
+ planMode: 'rgb(0,102,102)', // Muted teal
125
+ ide: 'rgb(71,130,200)', // Muted blue
126
+ promptBorder: 'rgb(153,153,153)', // Medium gray
127
+ promptBorderShimmer: 'rgb(183,183,183)', // Lighter gray for shimmer effect
128
+ text: 'rgb(0,0,0)', // Black
129
+ inverseText: 'rgb(255,255,255)', // White
130
+ inactive: 'rgb(102,102,102)', // Dark gray
131
+ inactiveShimmer: 'rgb(142,142,142)', // Lighter gray for shimmer effect
132
+ subtle: 'rgb(175,175,175)', // Light gray
133
+ suggestion: 'rgb(87,105,247)', // Medium blue
134
+ remember: 'rgb(0,0,255)', // Blue
135
+ background: 'rgb(0,153,153)', // Cyan
136
+ success: 'rgb(44,122,57)', // Green
137
+ error: 'rgb(171,43,63)', // Red
138
+ warning: 'rgb(150,108,30)', // Amber
139
+ merged: 'rgb(135,0,255)', // Electric violet (matches autoAccept)
140
+ warningShimmer: 'rgb(200,158,80)', // Lighter amber for shimmer effect
141
+ diffAdded: 'rgb(105,219,124)', // Light green
142
+ diffRemoved: 'rgb(255,168,180)', // Light red
143
+ diffAddedDimmed: 'rgb(199,225,203)', // Very light green
144
+ diffRemovedDimmed: 'rgb(253,210,216)', // Very light red
145
+ diffAddedWord: 'rgb(47,157,68)', // Medium green
146
+ diffRemovedWord: 'rgb(209,69,75)', // Medium red
147
+ // Agent colors
148
+ red_FOR_SUBAGENTS_ONLY: 'rgb(220,38,38)', // Red 600
149
+ blue_FOR_SUBAGENTS_ONLY: 'rgb(37,99,235)', // Blue 600
150
+ green_FOR_SUBAGENTS_ONLY: 'rgb(22,163,74)', // Green 600
151
+ yellow_FOR_SUBAGENTS_ONLY: 'rgb(202,138,4)', // Yellow 600
152
+ purple_FOR_SUBAGENTS_ONLY: 'rgb(147,51,234)', // Purple 600
153
+ orange_FOR_SUBAGENTS_ONLY: 'rgb(234,88,12)', // Orange 600
154
+ pink_FOR_SUBAGENTS_ONLY: 'rgb(219,39,119)', // Pink 600
155
+ cyan_FOR_SUBAGENTS_ONLY: 'rgb(8,145,178)', // Cyan 600
156
+ // Grove colors
157
+ professionalBlue: 'rgb(106,155,204)',
158
+ // Chrome colors
159
+ chromeYellow: 'rgb(251,188,4)', // Chrome yellow
160
+ // TUI V2 colors
161
+ clawd_body: 'rgb(221, 221, 221)',
162
+ clawd_background: 'rgb(0,0,0)',
163
+ userMessageBackground: 'rgb(240, 240, 240)', // Slightly darker grey for optimal contrast
164
+ userMessageBackgroundHover: 'rgb(252, 252, 252)', // ≥250 to quantize distinct from base at 256-color level
165
+ messageActionsBackground: 'rgb(232, 236, 244)', // cool gray — darker than userMsg 240 (visible on white), slight blue toward `suggestion`
166
+ selectionBg: 'rgb(180, 213, 255)', // classic light-mode selection blue (macOS/VS Code-ish); dark fgs stay readable
167
+ bashMessageBackgroundColor: 'rgb(250, 245, 250)',
168
+
169
+ memoryBackgroundColor: 'rgb(230, 245, 250)',
170
+ rate_limit_fill: 'rgb(87,105,247)', // Medium blue
171
+ rate_limit_empty: 'rgb(39,47,111)', // Dark blue
172
+ fastMode: 'rgb(255,106,0)', // Electric orange
173
+ fastModeShimmer: 'rgb(255,150,50)', // Lighter orange for shimmer
174
+ // Brief/assistant mode
175
+ briefLabelYou: 'rgb(37,99,235)', // Blue
176
+ briefLabelClaude: 'rgb(215,119,87)', // Brand orange
177
+ rainbow_red: 'rgb(235,95,87)',
178
+ rainbow_orange: 'rgb(245,139,87)',
179
+ rainbow_yellow: 'rgb(250,195,95)',
180
+ rainbow_green: 'rgb(145,200,130)',
181
+ rainbow_blue: 'rgb(130,170,220)',
182
+ rainbow_indigo: 'rgb(155,130,200)',
183
+ rainbow_violet: 'rgb(200,130,180)',
184
+ rainbow_red_shimmer: 'rgb(250,155,147)',
185
+ rainbow_orange_shimmer: 'rgb(255,185,137)',
186
+ rainbow_yellow_shimmer: 'rgb(255,225,155)',
187
+ rainbow_green_shimmer: 'rgb(185,230,180)',
188
+ rainbow_blue_shimmer: 'rgb(180,205,240)',
189
+ rainbow_indigo_shimmer: 'rgb(195,180,230)',
190
+ rainbow_violet_shimmer: 'rgb(230,180,210)',
191
+ }
192
+
193
+ /**
194
+ * Light ANSI theme using only the 16 standard ANSI colors
195
+ * for terminals without true color support
196
+ */
197
+ const lightAnsiTheme: Theme = {
198
+ autoAccept: 'ansi:magenta',
199
+ bashBorder: 'ansi:magenta',
200
+ claude: 'ansi:redBright',
201
+ claudeShimmer: 'ansi:yellowBright',
202
+ claudeBlue_FOR_SYSTEM_SPINNER: 'ansi:blue',
203
+ claudeBlueShimmer_FOR_SYSTEM_SPINNER: 'ansi:blueBright',
204
+ permission: 'ansi:blue',
205
+ permissionShimmer: 'ansi:blueBright',
206
+ planMode: 'ansi:cyan',
207
+ ide: 'ansi:blueBright',
208
+ promptBorder: 'ansi:white',
209
+ promptBorderShimmer: 'ansi:whiteBright',
210
+ text: 'ansi:black',
211
+ inverseText: 'ansi:white',
212
+ inactive: 'ansi:blackBright',
213
+ inactiveShimmer: 'ansi:white',
214
+ subtle: 'ansi:blackBright',
215
+ suggestion: 'ansi:blue',
216
+ remember: 'ansi:blue',
217
+ background: 'ansi:cyan',
218
+ success: 'ansi:green',
219
+ error: 'ansi:red',
220
+ warning: 'ansi:yellow',
221
+ merged: 'ansi:magenta',
222
+ warningShimmer: 'ansi:yellowBright',
223
+ diffAdded: 'ansi:green',
224
+ diffRemoved: 'ansi:red',
225
+ diffAddedDimmed: 'ansi:green',
226
+ diffRemovedDimmed: 'ansi:red',
227
+ diffAddedWord: 'ansi:greenBright',
228
+ diffRemovedWord: 'ansi:redBright',
229
+ // Agent colors
230
+ red_FOR_SUBAGENTS_ONLY: 'ansi:red',
231
+ blue_FOR_SUBAGENTS_ONLY: 'ansi:blue',
232
+ green_FOR_SUBAGENTS_ONLY: 'ansi:green',
233
+ yellow_FOR_SUBAGENTS_ONLY: 'ansi:yellow',
234
+ purple_FOR_SUBAGENTS_ONLY: 'ansi:magenta',
235
+ orange_FOR_SUBAGENTS_ONLY: 'ansi:redBright',
236
+ pink_FOR_SUBAGENTS_ONLY: 'ansi:magentaBright',
237
+ cyan_FOR_SUBAGENTS_ONLY: 'ansi:cyan',
238
+ // Grove colors
239
+ professionalBlue: 'ansi:blueBright',
240
+ // Chrome colors
241
+ chromeYellow: 'ansi:yellow', // Chrome yellow
242
+ // TUI V2 colors
243
+ clawd_body: 'ansi:redBright',
244
+ clawd_background: 'ansi:black',
245
+ userMessageBackground: 'ansi:white',
246
+ userMessageBackgroundHover: 'ansi:whiteBright',
247
+ messageActionsBackground: 'ansi:white',
248
+ selectionBg: 'ansi:cyan', // lighter named bg for light-ansi; dark fgs stay readable
249
+ bashMessageBackgroundColor: 'ansi:whiteBright',
250
+
251
+ memoryBackgroundColor: 'ansi:white',
252
+ rate_limit_fill: 'ansi:yellow',
253
+ rate_limit_empty: 'ansi:black',
254
+ fastMode: 'ansi:red',
255
+ fastModeShimmer: 'ansi:redBright',
256
+ briefLabelYou: 'ansi:blue',
257
+ briefLabelClaude: 'ansi:redBright',
258
+ rainbow_red: 'ansi:red',
259
+ rainbow_orange: 'ansi:redBright',
260
+ rainbow_yellow: 'ansi:yellow',
261
+ rainbow_green: 'ansi:green',
262
+ rainbow_blue: 'ansi:cyan',
263
+ rainbow_indigo: 'ansi:blue',
264
+ rainbow_violet: 'ansi:magenta',
265
+ rainbow_red_shimmer: 'ansi:redBright',
266
+ rainbow_orange_shimmer: 'ansi:yellow',
267
+ rainbow_yellow_shimmer: 'ansi:yellowBright',
268
+ rainbow_green_shimmer: 'ansi:greenBright',
269
+ rainbow_blue_shimmer: 'ansi:cyanBright',
270
+ rainbow_indigo_shimmer: 'ansi:blueBright',
271
+ rainbow_violet_shimmer: 'ansi:magentaBright',
272
+ }
273
+
274
+ /**
275
+ * Dark ANSI theme using only the 16 standard ANSI colors
276
+ * for terminals without true color support
277
+ */
278
+ const darkAnsiTheme: Theme = {
279
+ autoAccept: 'ansi:magentaBright',
280
+ bashBorder: 'ansi:magentaBright',
281
+ claude: 'ansi:redBright',
282
+ claudeShimmer: 'ansi:yellowBright',
283
+ claudeBlue_FOR_SYSTEM_SPINNER: 'ansi:blueBright',
284
+ claudeBlueShimmer_FOR_SYSTEM_SPINNER: 'ansi:blueBright',
285
+ permission: 'ansi:blueBright',
286
+ permissionShimmer: 'ansi:blueBright',
287
+ planMode: 'ansi:cyanBright',
288
+ ide: 'ansi:blue',
289
+ promptBorder: 'ansi:white',
290
+ promptBorderShimmer: 'ansi:whiteBright',
291
+ text: 'ansi:whiteBright',
292
+ inverseText: 'ansi:black',
293
+ inactive: 'ansi:white',
294
+ inactiveShimmer: 'ansi:whiteBright',
295
+ subtle: 'ansi:white',
296
+ suggestion: 'ansi:blueBright',
297
+ remember: 'ansi:blueBright',
298
+ background: 'ansi:cyanBright',
299
+ success: 'ansi:greenBright',
300
+ error: 'ansi:redBright',
301
+ warning: 'ansi:yellowBright',
302
+ merged: 'ansi:magentaBright',
303
+ warningShimmer: 'ansi:yellowBright',
304
+ diffAdded: 'ansi:green',
305
+ diffRemoved: 'ansi:red',
306
+ diffAddedDimmed: 'ansi:green',
307
+ diffRemovedDimmed: 'ansi:red',
308
+ diffAddedWord: 'ansi:greenBright',
309
+ diffRemovedWord: 'ansi:redBright',
310
+ // Agent colors
311
+ red_FOR_SUBAGENTS_ONLY: 'ansi:redBright',
312
+ blue_FOR_SUBAGENTS_ONLY: 'ansi:blueBright',
313
+ green_FOR_SUBAGENTS_ONLY: 'ansi:greenBright',
314
+ yellow_FOR_SUBAGENTS_ONLY: 'ansi:yellowBright',
315
+ purple_FOR_SUBAGENTS_ONLY: 'ansi:magentaBright',
316
+ orange_FOR_SUBAGENTS_ONLY: 'ansi:redBright',
317
+ pink_FOR_SUBAGENTS_ONLY: 'ansi:magentaBright',
318
+ cyan_FOR_SUBAGENTS_ONLY: 'ansi:cyanBright',
319
+ // Grove colors
320
+ professionalBlue: 'rgb(106,155,204)',
321
+ // Chrome colors
322
+ chromeYellow: 'ansi:yellowBright', // Chrome yellow
323
+ // TUI V2 colors
324
+ clawd_body: 'ansi:redBright',
325
+ clawd_background: 'ansi:black',
326
+ userMessageBackground: 'ansi:blackBright',
327
+ userMessageBackgroundHover: 'ansi:white',
328
+ messageActionsBackground: 'ansi:blackBright',
329
+ selectionBg: 'ansi:blue', // darker named bg for dark-ansi; bright fgs stay readable
330
+ bashMessageBackgroundColor: 'ansi:black',
331
+
332
+ memoryBackgroundColor: 'ansi:blackBright',
333
+ rate_limit_fill: 'ansi:yellow',
334
+ rate_limit_empty: 'ansi:white',
335
+ fastMode: 'ansi:redBright',
336
+ fastModeShimmer: 'ansi:redBright',
337
+ briefLabelYou: 'ansi:blueBright',
338
+ briefLabelClaude: 'ansi:redBright',
339
+ rainbow_red: 'ansi:red',
340
+ rainbow_orange: 'ansi:redBright',
341
+ rainbow_yellow: 'ansi:yellow',
342
+ rainbow_green: 'ansi:green',
343
+ rainbow_blue: 'ansi:cyan',
344
+ rainbow_indigo: 'ansi:blue',
345
+ rainbow_violet: 'ansi:magenta',
346
+ rainbow_red_shimmer: 'ansi:redBright',
347
+ rainbow_orange_shimmer: 'ansi:yellow',
348
+ rainbow_yellow_shimmer: 'ansi:yellowBright',
349
+ rainbow_green_shimmer: 'ansi:greenBright',
350
+ rainbow_blue_shimmer: 'ansi:cyanBright',
351
+ rainbow_indigo_shimmer: 'ansi:blueBright',
352
+ rainbow_violet_shimmer: 'ansi:magentaBright',
353
+ }
354
+
355
+ /**
356
+ * Light daltonized theme (color-blind friendly) using explicit RGB values
357
+ * to avoid inconsistencies from users' custom terminal ANSI color definitions
358
+ */
359
+ const lightDaltonizedTheme: Theme = {
360
+ autoAccept: 'rgb(135,0,255)', // Electric violet
361
+ bashBorder: 'rgb(0,102,204)', // Blue instead of pink
362
+ claude: 'rgb(255,153,51)', // Orange adjusted for deuteranopia
363
+ claudeShimmer: 'rgb(255,183,101)', // Lighter orange for shimmer effect
364
+ claudeBlue_FOR_SYSTEM_SPINNER: 'rgb(51,102,255)', // Bright blue for system spinner
365
+ claudeBlueShimmer_FOR_SYSTEM_SPINNER: 'rgb(101,152,255)', // Lighter bright blue for system spinner shimmer
366
+ permission: 'rgb(51,102,255)', // Bright blue
367
+ permissionShimmer: 'rgb(101,152,255)', // Lighter bright blue for shimmer
368
+ planMode: 'rgb(51,102,102)', // Muted blue-gray (works for color-blind)
369
+ ide: 'rgb(71,130,200)', // Muted blue
370
+ promptBorder: 'rgb(153,153,153)', // Medium gray
371
+ promptBorderShimmer: 'rgb(183,183,183)', // Lighter gray for shimmer
372
+ text: 'rgb(0,0,0)', // Black
373
+ inverseText: 'rgb(255,255,255)', // White
374
+ inactive: 'rgb(102,102,102)', // Dark gray
375
+ inactiveShimmer: 'rgb(142,142,142)', // Lighter gray for shimmer effect
376
+ subtle: 'rgb(175,175,175)', // Light gray
377
+ suggestion: 'rgb(51,102,255)', // Bright blue
378
+ remember: 'rgb(51,102,255)', // Bright blue
379
+ background: 'rgb(0,153,153)', // Cyan (color-blind friendly)
380
+ success: 'rgb(0,102,153)', // Blue instead of green for deuteranopia
381
+ error: 'rgb(204,0,0)', // Pure red for better distinction
382
+ warning: 'rgb(255,153,0)', // Orange adjusted for deuteranopia
383
+ merged: 'rgb(135,0,255)', // Electric violet (matches autoAccept)
384
+ warningShimmer: 'rgb(255,183,50)', // Lighter orange for shimmer
385
+ diffAdded: 'rgb(153,204,255)', // Light blue instead of green
386
+ diffRemoved: 'rgb(255,204,204)', // Light red
387
+ diffAddedDimmed: 'rgb(209,231,253)', // Very light blue
388
+ diffRemovedDimmed: 'rgb(255,233,233)', // Very light red
389
+ diffAddedWord: 'rgb(51,102,204)', // Medium blue (less intense than deep blue)
390
+ diffRemovedWord: 'rgb(153,51,51)', // Softer red (less intense than deep red)
391
+ // Agent colors (daltonism-friendly)
392
+ red_FOR_SUBAGENTS_ONLY: 'rgb(204,0,0)', // Pure red
393
+ blue_FOR_SUBAGENTS_ONLY: 'rgb(0,102,204)', // Pure blue
394
+ green_FOR_SUBAGENTS_ONLY: 'rgb(0,204,0)', // Pure green
395
+ yellow_FOR_SUBAGENTS_ONLY: 'rgb(255,204,0)', // Golden yellow
396
+ purple_FOR_SUBAGENTS_ONLY: 'rgb(128,0,128)', // True purple
397
+ orange_FOR_SUBAGENTS_ONLY: 'rgb(255,128,0)', // True orange
398
+ pink_FOR_SUBAGENTS_ONLY: 'rgb(255,102,178)', // Adjusted pink
399
+ cyan_FOR_SUBAGENTS_ONLY: 'rgb(0,178,178)', // Adjusted cyan
400
+ // Grove colors
401
+ professionalBlue: 'rgb(106,155,204)',
402
+ // Chrome colors
403
+ chromeYellow: 'rgb(251,188,4)', // Chrome yellow
404
+ // TUI V2 colors
405
+ clawd_body: 'rgb(221, 221, 221)',
406
+ clawd_background: 'rgb(0,0,0)',
407
+ userMessageBackground: 'rgb(220, 220, 220)', // Slightly darker grey for optimal contrast
408
+ userMessageBackgroundHover: 'rgb(232, 232, 232)', // ≥230 to quantize distinct from base at 256-color level
409
+ messageActionsBackground: 'rgb(210, 216, 226)', // cool gray — darker than userMsg 220, slight blue
410
+ selectionBg: 'rgb(180, 213, 255)', // light selection blue; daltonized fgs are yellows/blues, both readable on light blue
411
+ bashMessageBackgroundColor: 'rgb(250, 245, 250)',
412
+
413
+ memoryBackgroundColor: 'rgb(230, 245, 250)',
414
+ rate_limit_fill: 'rgb(51,102,255)', // Bright blue
415
+ rate_limit_empty: 'rgb(23,46,114)', // Dark blue
416
+ fastMode: 'rgb(255,106,0)', // Electric orange (color-blind safe)
417
+ fastModeShimmer: 'rgb(255,150,50)', // Lighter orange for shimmer
418
+ briefLabelYou: 'rgb(37,99,235)', // Blue
419
+ briefLabelClaude: 'rgb(255,153,51)', // Orange adjusted for deuteranopia (matches claude)
420
+ rainbow_red: 'rgb(235,95,87)',
421
+ rainbow_orange: 'rgb(245,139,87)',
422
+ rainbow_yellow: 'rgb(250,195,95)',
423
+ rainbow_green: 'rgb(145,200,130)',
424
+ rainbow_blue: 'rgb(130,170,220)',
425
+ rainbow_indigo: 'rgb(155,130,200)',
426
+ rainbow_violet: 'rgb(200,130,180)',
427
+ rainbow_red_shimmer: 'rgb(250,155,147)',
428
+ rainbow_orange_shimmer: 'rgb(255,185,137)',
429
+ rainbow_yellow_shimmer: 'rgb(255,225,155)',
430
+ rainbow_green_shimmer: 'rgb(185,230,180)',
431
+ rainbow_blue_shimmer: 'rgb(180,205,240)',
432
+ rainbow_indigo_shimmer: 'rgb(195,180,230)',
433
+ rainbow_violet_shimmer: 'rgb(230,180,210)',
434
+ }
435
+
436
+ /**
437
+ * Dark theme using explicit RGB values to avoid inconsistencies
438
+ * from users' custom terminal ANSI color definitions
439
+ */
440
+ const darkTheme: Theme = {
441
+ autoAccept: 'rgb(175,135,255)', // Electric violet
442
+ bashBorder: 'rgb(253,93,177)', // Bright pink
443
+ claude: 'rgb(215,119,87)', // Claude orange
444
+ claudeShimmer: 'rgb(235,159,127)', // Lighter claude orange for shimmer effect
445
+ claudeBlue_FOR_SYSTEM_SPINNER: 'rgb(147,165,255)', // Blue for system spinner
446
+ claudeBlueShimmer_FOR_SYSTEM_SPINNER: 'rgb(177,195,255)', // Lighter blue for system spinner shimmer
447
+ permission: 'rgb(177,185,249)', // Light blue-purple
448
+ permissionShimmer: 'rgb(207,215,255)', // Lighter blue-purple for shimmer
449
+ planMode: 'rgb(72,150,140)', // Muted sage green
450
+ ide: 'rgb(71,130,200)', // Muted blue
451
+ promptBorder: 'rgb(136,136,136)', // Medium gray
452
+ promptBorderShimmer: 'rgb(166,166,166)', // Lighter gray for shimmer
453
+ text: 'rgb(255,255,255)', // White
454
+ inverseText: 'rgb(0,0,0)', // Black
455
+ inactive: 'rgb(153,153,153)', // Light gray
456
+ inactiveShimmer: 'rgb(193,193,193)', // Lighter gray for shimmer effect
457
+ subtle: 'rgb(80,80,80)', // Dark gray
458
+ suggestion: 'rgb(177,185,249)', // Light blue-purple
459
+ remember: 'rgb(177,185,249)', // Light blue-purple
460
+ background: 'rgb(0,204,204)', // Bright cyan
461
+ success: 'rgb(78,186,101)', // Bright green
462
+ error: 'rgb(255,107,128)', // Bright red
463
+ warning: 'rgb(255,193,7)', // Bright amber
464
+ merged: 'rgb(175,135,255)', // Electric violet (matches autoAccept)
465
+ warningShimmer: 'rgb(255,223,57)', // Lighter amber for shimmer
466
+ diffAdded: 'rgb(34,92,43)', // Dark green
467
+ diffRemoved: 'rgb(122,41,54)', // Dark red
468
+ diffAddedDimmed: 'rgb(71,88,74)', // Very dark green
469
+ diffRemovedDimmed: 'rgb(105,72,77)', // Very dark red
470
+ diffAddedWord: 'rgb(56,166,96)', // Medium green
471
+ diffRemovedWord: 'rgb(179,89,107)', // Softer red (less intense than bright red)
472
+ // Agent colors
473
+ red_FOR_SUBAGENTS_ONLY: 'rgb(220,38,38)', // Red 600
474
+ blue_FOR_SUBAGENTS_ONLY: 'rgb(37,99,235)', // Blue 600
475
+ green_FOR_SUBAGENTS_ONLY: 'rgb(22,163,74)', // Green 600
476
+ yellow_FOR_SUBAGENTS_ONLY: 'rgb(202,138,4)', // Yellow 600
477
+ purple_FOR_SUBAGENTS_ONLY: 'rgb(147,51,234)', // Purple 600
478
+ orange_FOR_SUBAGENTS_ONLY: 'rgb(234,88,12)', // Orange 600
479
+ pink_FOR_SUBAGENTS_ONLY: 'rgb(219,39,119)', // Pink 600
480
+ cyan_FOR_SUBAGENTS_ONLY: 'rgb(8,145,178)', // Cyan 600
481
+ // Grove colors
482
+ professionalBlue: 'rgb(106,155,204)',
483
+ // Chrome colors
484
+ chromeYellow: 'rgb(251,188,4)', // Chrome yellow
485
+ // TUI V2 colors
486
+ clawd_body: 'rgb(221, 221, 221)',
487
+ clawd_background: 'rgb(0,0,0)',
488
+ userMessageBackground: 'rgb(55, 55, 55)', // Lighter grey for better visual contrast
489
+ userMessageBackgroundHover: 'rgb(70, 70, 70)',
490
+ messageActionsBackground: 'rgb(44, 50, 62)', // cool gray, slight blue
491
+ selectionBg: 'rgb(38, 79, 120)', // classic dark-mode selection blue (VS Code dark default); light fgs stay readable
492
+ bashMessageBackgroundColor: 'rgb(65, 60, 65)',
493
+
494
+ memoryBackgroundColor: 'rgb(55, 65, 70)',
495
+ rate_limit_fill: 'rgb(177,185,249)', // Light blue-purple
496
+ rate_limit_empty: 'rgb(80,83,112)', // Medium blue-purple
497
+ fastMode: 'rgb(255,120,20)', // Electric orange for dark bg
498
+ fastModeShimmer: 'rgb(255,165,70)', // Lighter orange for shimmer
499
+ briefLabelYou: 'rgb(122,180,232)', // Light blue
500
+ briefLabelClaude: 'rgb(215,119,87)', // Brand orange
501
+ rainbow_red: 'rgb(235,95,87)',
502
+ rainbow_orange: 'rgb(245,139,87)',
503
+ rainbow_yellow: 'rgb(250,195,95)',
504
+ rainbow_green: 'rgb(145,200,130)',
505
+ rainbow_blue: 'rgb(130,170,220)',
506
+ rainbow_indigo: 'rgb(155,130,200)',
507
+ rainbow_violet: 'rgb(200,130,180)',
508
+ rainbow_red_shimmer: 'rgb(250,155,147)',
509
+ rainbow_orange_shimmer: 'rgb(255,185,137)',
510
+ rainbow_yellow_shimmer: 'rgb(255,225,155)',
511
+ rainbow_green_shimmer: 'rgb(185,230,180)',
512
+ rainbow_blue_shimmer: 'rgb(180,205,240)',
513
+ rainbow_indigo_shimmer: 'rgb(195,180,230)',
514
+ rainbow_violet_shimmer: 'rgb(230,180,210)',
515
+ }
516
+
517
+ /**
518
+ * Dark daltonized theme (color-blind friendly) using explicit RGB values
519
+ * to avoid inconsistencies from users' custom terminal ANSI color definitions
520
+ */
521
+ const darkDaltonizedTheme: Theme = {
522
+ autoAccept: 'rgb(175,135,255)', // Electric violet
523
+ bashBorder: 'rgb(51,153,255)', // Bright blue
524
+ claude: 'rgb(255,153,51)', // Orange adjusted for deuteranopia
525
+ claudeShimmer: 'rgb(255,183,101)', // Lighter orange for shimmer effect
526
+ claudeBlue_FOR_SYSTEM_SPINNER: 'rgb(153,204,255)', // Light blue for system spinner
527
+ claudeBlueShimmer_FOR_SYSTEM_SPINNER: 'rgb(183,224,255)', // Lighter blue for system spinner shimmer
528
+ permission: 'rgb(153,204,255)', // Light blue
529
+ permissionShimmer: 'rgb(183,224,255)', // Lighter blue for shimmer
530
+ planMode: 'rgb(102,153,153)', // Muted gray-teal (works for color-blind)
531
+ ide: 'rgb(71,130,200)', // Muted blue
532
+ promptBorder: 'rgb(136,136,136)', // Medium gray
533
+ promptBorderShimmer: 'rgb(166,166,166)', // Lighter gray for shimmer
534
+ text: 'rgb(255,255,255)', // White
535
+ inverseText: 'rgb(0,0,0)', // Black
536
+ inactive: 'rgb(153,153,153)', // Light gray
537
+ inactiveShimmer: 'rgb(193,193,193)', // Lighter gray for shimmer effect
538
+ subtle: 'rgb(80,80,80)', // Dark gray
539
+ suggestion: 'rgb(153,204,255)', // Light blue
540
+ remember: 'rgb(153,204,255)', // Light blue
541
+ background: 'rgb(0,204,204)', // Bright cyan (color-blind friendly)
542
+ success: 'rgb(51,153,255)', // Blue instead of green
543
+ error: 'rgb(255,102,102)', // Bright red
544
+ warning: 'rgb(255,204,0)', // Yellow-orange for deuteranopia
545
+ merged: 'rgb(175,135,255)', // Electric violet (matches autoAccept)
546
+ warningShimmer: 'rgb(255,234,50)', // Lighter yellow-orange for shimmer
547
+ diffAdded: 'rgb(0,68,102)', // Dark blue
548
+ diffRemoved: 'rgb(102,0,0)', // Dark red
549
+ diffAddedDimmed: 'rgb(62,81,91)', // Dimmed blue
550
+ diffRemovedDimmed: 'rgb(62,44,44)', // Dimmed red
551
+ diffAddedWord: 'rgb(0,119,179)', // Medium blue
552
+ diffRemovedWord: 'rgb(179,0,0)', // Medium red
553
+ // Agent colors (daltonism-friendly, dark mode)
554
+ red_FOR_SUBAGENTS_ONLY: 'rgb(255,102,102)', // Bright red
555
+ blue_FOR_SUBAGENTS_ONLY: 'rgb(102,178,255)', // Bright blue
556
+ green_FOR_SUBAGENTS_ONLY: 'rgb(102,255,102)', // Bright green
557
+ yellow_FOR_SUBAGENTS_ONLY: 'rgb(255,255,102)', // Bright yellow
558
+ purple_FOR_SUBAGENTS_ONLY: 'rgb(178,102,255)', // Bright purple
559
+ orange_FOR_SUBAGENTS_ONLY: 'rgb(255,178,102)', // Bright orange
560
+ pink_FOR_SUBAGENTS_ONLY: 'rgb(255,153,204)', // Bright pink
561
+ cyan_FOR_SUBAGENTS_ONLY: 'rgb(102,204,204)', // Bright cyan
562
+ // Grove colors
563
+ professionalBlue: 'rgb(106,155,204)',
564
+ // Chrome colors
565
+ chromeYellow: 'rgb(251,188,4)', // Chrome yellow
566
+ // TUI V2 colors
567
+ clawd_body: 'rgb(221, 221, 221)',
568
+ clawd_background: 'rgb(0,0,0)',
569
+ userMessageBackground: 'rgb(55, 55, 55)', // Lighter grey for better visual contrast
570
+ userMessageBackgroundHover: 'rgb(70, 70, 70)',
571
+ messageActionsBackground: 'rgb(44, 50, 62)', // cool gray, slight blue
572
+ selectionBg: 'rgb(38, 79, 120)', // classic dark-mode selection blue (VS Code dark default); light fgs stay readable
573
+ bashMessageBackgroundColor: 'rgb(65, 60, 65)',
574
+
575
+ memoryBackgroundColor: 'rgb(55, 65, 70)',
576
+ rate_limit_fill: 'rgb(153,204,255)', // Light blue
577
+ rate_limit_empty: 'rgb(69,92,115)', // Dark blue
578
+ fastMode: 'rgb(255,120,20)', // Electric orange for dark bg (color-blind safe)
579
+ fastModeShimmer: 'rgb(255,165,70)', // Lighter orange for shimmer
580
+ briefLabelYou: 'rgb(122,180,232)', // Light blue
581
+ briefLabelClaude: 'rgb(255,153,51)', // Orange adjusted for deuteranopia (matches claude)
582
+ rainbow_red: 'rgb(235,95,87)',
583
+ rainbow_orange: 'rgb(245,139,87)',
584
+ rainbow_yellow: 'rgb(250,195,95)',
585
+ rainbow_green: 'rgb(145,200,130)',
586
+ rainbow_blue: 'rgb(130,170,220)',
587
+ rainbow_indigo: 'rgb(155,130,200)',
588
+ rainbow_violet: 'rgb(200,130,180)',
589
+ rainbow_red_shimmer: 'rgb(250,155,147)',
590
+ rainbow_orange_shimmer: 'rgb(255,185,137)',
591
+ rainbow_yellow_shimmer: 'rgb(255,225,155)',
592
+ rainbow_green_shimmer: 'rgb(185,230,180)',
593
+ rainbow_blue_shimmer: 'rgb(180,205,240)',
594
+ rainbow_indigo_shimmer: 'rgb(195,180,230)',
595
+ rainbow_violet_shimmer: 'rgb(230,180,210)',
596
+ }
597
+
598
+ export function getTheme(themeName: ThemeName): Theme {
599
+ switch (themeName) {
600
+ case 'light':
601
+ return lightTheme
602
+ case 'light-ansi':
603
+ return lightAnsiTheme
604
+ case 'dark-ansi':
605
+ return darkAnsiTheme
606
+ case 'light-daltonized':
607
+ return lightDaltonizedTheme
608
+ case 'dark-daltonized':
609
+ return darkDaltonizedTheme
610
+ default:
611
+ return darkTheme
612
+ }
613
+ }
614
+
615
+ // Create a chalk instance with 256-color level for Apple Terminal
616
+ // Apple Terminal doesn't handle 24-bit color escape sequences well
617
+ const chalkForChart =
618
+ env.terminal === 'Apple_Terminal'
619
+ ? new Chalk({ level: 2 }) // 256 colors
620
+ : chalk
621
+
622
+ /**
623
+ * Converts a theme color to an ANSI escape sequence for use with asciichart.
624
+ * Uses chalk to generate the escape codes, with 256-color mode for Apple Terminal.
625
+ */
626
+ export function themeColorToAnsi(themeColor: string): string {
627
+ const rgbMatch = themeColor.match(/rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)/)
628
+ if (rgbMatch) {
629
+ const r = parseInt(rgbMatch[1]!, 10)
630
+ const g = parseInt(rgbMatch[2]!, 10)
631
+ const b = parseInt(rgbMatch[3]!, 10)
632
+ // Use chalk.rgb which auto-converts to 256 colors when level is 2
633
+ // Extract just the opening escape sequence by using a marker
634
+ const colored = chalkForChart.rgb(r, g, b)('X')
635
+ return colored.slice(0, colored.indexOf('X'))
636
+ }
637
+ // Fallback to magenta if parsing fails
638
+ return '\x1b[35m'
639
+ }