subagent-cli 0.3.0 → 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 (2177) hide show
  1. package/dist/sa +0 -0
  2. package/package.json +2 -8
  3. package/_entry.ts +0 -2
  4. package/bunfig.toml +0 -2
  5. package/src/QueryEngine.ts +0 -1295
  6. package/src/Task.ts +0 -125
  7. package/src/Tool.ts +0 -792
  8. package/src/_stubs/bun-bundle.ts +0 -6
  9. package/src/assistant/AssistantSessionChooser.ts +0 -2
  10. package/src/assistant/gate.ts +0 -2
  11. package/src/assistant/index.ts +0 -2
  12. package/src/assistant/sessionDiscovery.ts +0 -1
  13. package/src/assistant/sessionHistory.ts +0 -87
  14. package/src/bootstrap/state.ts +0 -1762
  15. package/src/bridge/bridgeApi.ts +0 -539
  16. package/src/bridge/bridgeConfig.ts +0 -48
  17. package/src/bridge/bridgeDebug.ts +0 -135
  18. package/src/bridge/bridgeEnabled.ts +0 -202
  19. package/src/bridge/bridgeMain.ts +0 -2999
  20. package/src/bridge/bridgeMessaging.ts +0 -461
  21. package/src/bridge/bridgePermissionCallbacks.ts +0 -43
  22. package/src/bridge/bridgePointer.ts +0 -210
  23. package/src/bridge/bridgeStatusUtil.ts +0 -163
  24. package/src/bridge/bridgeUI.ts +0 -530
  25. package/src/bridge/capacityWake.ts +0 -56
  26. package/src/bridge/codeSessionApi.ts +0 -168
  27. package/src/bridge/createSession.ts +0 -384
  28. package/src/bridge/debugUtils.ts +0 -141
  29. package/src/bridge/envLessBridgeConfig.ts +0 -165
  30. package/src/bridge/flushGate.ts +0 -71
  31. package/src/bridge/inboundAttachments.ts +0 -175
  32. package/src/bridge/inboundMessages.ts +0 -80
  33. package/src/bridge/initReplBridge.ts +0 -569
  34. package/src/bridge/jwtUtils.ts +0 -256
  35. package/src/bridge/peerSessions.ts +0 -2
  36. package/src/bridge/pollConfig.ts +0 -110
  37. package/src/bridge/pollConfigDefaults.ts +0 -82
  38. package/src/bridge/remoteBridgeCore.ts +0 -1008
  39. package/src/bridge/replBridge.ts +0 -2406
  40. package/src/bridge/replBridgeHandle.ts +0 -36
  41. package/src/bridge/replBridgeTransport.ts +0 -370
  42. package/src/bridge/sessionIdCompat.ts +0 -57
  43. package/src/bridge/sessionRunner.ts +0 -550
  44. package/src/bridge/trustedDevice.ts +0 -210
  45. package/src/bridge/types.ts +0 -262
  46. package/src/bridge/webhookSanitizer.ts +0 -2
  47. package/src/bridge/workSecret.ts +0 -127
  48. package/src/buddy/CompanionSprite.tsx +0 -371
  49. package/src/buddy/companion.ts +0 -133
  50. package/src/buddy/prompt.ts +0 -36
  51. package/src/buddy/sprites.ts +0 -514
  52. package/src/buddy/types.ts +0 -148
  53. package/src/buddy/useBuddyNotification.tsx +0 -98
  54. package/src/cli/bg.ts +0 -2
  55. package/src/cli/exit.ts +0 -31
  56. package/src/cli/handlers/agents.ts +0 -70
  57. package/src/cli/handlers/ant.ts +0 -2
  58. package/src/cli/handlers/auth.ts +0 -330
  59. package/src/cli/handlers/autoMode.ts +0 -170
  60. package/src/cli/handlers/mcp.tsx +0 -362
  61. package/src/cli/handlers/plugins.ts +0 -878
  62. package/src/cli/handlers/templateJobs.ts +0 -2
  63. package/src/cli/handlers/util.tsx +0 -110
  64. package/src/cli/ndjsonSafeStringify.ts +0 -32
  65. package/src/cli/print.ts +0 -5594
  66. package/src/cli/remoteIO.ts +0 -255
  67. package/src/cli/rollback.ts +0 -3
  68. package/src/cli/structuredIO.ts +0 -859
  69. package/src/cli/transports/HybridTransport.ts +0 -282
  70. package/src/cli/transports/SSETransport.ts +0 -711
  71. package/src/cli/transports/SerialBatchEventUploader.ts +0 -275
  72. package/src/cli/transports/Transport.ts +0 -1
  73. package/src/cli/transports/WebSocketTransport.ts +0 -800
  74. package/src/cli/transports/WorkerStateUploader.ts +0 -131
  75. package/src/cli/transports/ccrClient.ts +0 -998
  76. package/src/cli/transports/transportUtils.ts +0 -45
  77. package/src/cli/up.ts +0 -3
  78. package/src/cli/update.ts +0 -422
  79. package/src/commands/add-dir/add-dir.tsx +0 -126
  80. package/src/commands/add-dir/index.ts +0 -11
  81. package/src/commands/add-dir/validation.ts +0 -110
  82. package/src/commands/advisor.ts +0 -109
  83. package/src/commands/agents/agents.tsx +0 -12
  84. package/src/commands/agents/index.ts +0 -10
  85. package/src/commands/agents-platform/index.ts +0 -1
  86. package/src/commands/ant-trace/index.js +0 -1
  87. package/src/commands/assistant/assistant.ts +0 -2
  88. package/src/commands/assistant/index.ts +0 -1
  89. package/src/commands/autofix-pr/index.js +0 -1
  90. package/src/commands/backfill-sessions/index.js +0 -1
  91. package/src/commands/branch/branch.ts +0 -296
  92. package/src/commands/branch/index.ts +0 -14
  93. package/src/commands/break-cache/index.js +0 -1
  94. package/src/commands/bridge/bridge.tsx +0 -509
  95. package/src/commands/bridge/index.ts +0 -26
  96. package/src/commands/bridge-kick.ts +0 -200
  97. package/src/commands/brief.ts +0 -130
  98. package/src/commands/btw/btw.tsx +0 -243
  99. package/src/commands/btw/index.ts +0 -13
  100. package/src/commands/buddy/index.ts +0 -2
  101. package/src/commands/bughunter/index.js +0 -1
  102. package/src/commands/chrome/chrome.tsx +0 -285
  103. package/src/commands/chrome/index.ts +0 -13
  104. package/src/commands/clear/caches.ts +0 -144
  105. package/src/commands/clear/clear.ts +0 -7
  106. package/src/commands/clear/conversation.ts +0 -251
  107. package/src/commands/clear/index.ts +0 -19
  108. package/src/commands/color/color.ts +0 -93
  109. package/src/commands/color/index.ts +0 -16
  110. package/src/commands/commit-push-pr.ts +0 -158
  111. package/src/commands/commit.ts +0 -92
  112. package/src/commands/compact/compact.ts +0 -287
  113. package/src/commands/compact/index.ts +0 -15
  114. package/src/commands/config/config.tsx +0 -7
  115. package/src/commands/config/index.ts +0 -11
  116. package/src/commands/context/context-noninteractive.ts +0 -325
  117. package/src/commands/context/context.tsx +0 -64
  118. package/src/commands/context/index.ts +0 -24
  119. package/src/commands/copy/copy.tsx +0 -371
  120. package/src/commands/copy/index.ts +0 -15
  121. package/src/commands/cost/cost.ts +0 -24
  122. package/src/commands/cost/index.ts +0 -23
  123. package/src/commands/createMovedToPluginCommand.ts +0 -65
  124. package/src/commands/ctx_viz/index.js +0 -1
  125. package/src/commands/debug-tool-call/index.js +0 -1
  126. package/src/commands/desktop/desktop.tsx +0 -9
  127. package/src/commands/desktop/index.ts +0 -26
  128. package/src/commands/diff/diff.tsx +0 -9
  129. package/src/commands/diff/index.ts +0 -8
  130. package/src/commands/doctor/doctor.tsx +0 -7
  131. package/src/commands/doctor/index.ts +0 -12
  132. package/src/commands/effort/effort.tsx +0 -183
  133. package/src/commands/effort/index.ts +0 -13
  134. package/src/commands/env/index.js +0 -1
  135. package/src/commands/exit/exit.tsx +0 -33
  136. package/src/commands/exit/index.ts +0 -12
  137. package/src/commands/export/export.tsx +0 -91
  138. package/src/commands/export/index.ts +0 -11
  139. package/src/commands/extra-usage/extra-usage-core.ts +0 -118
  140. package/src/commands/extra-usage/extra-usage-noninteractive.ts +0 -16
  141. package/src/commands/extra-usage/extra-usage.tsx +0 -17
  142. package/src/commands/extra-usage/index.ts +0 -31
  143. package/src/commands/fast/fast.tsx +0 -269
  144. package/src/commands/fast/index.ts +0 -26
  145. package/src/commands/feedback/feedback.tsx +0 -25
  146. package/src/commands/feedback/index.ts +0 -26
  147. package/src/commands/files/files.ts +0 -19
  148. package/src/commands/files/index.ts +0 -12
  149. package/src/commands/force-snip.ts +0 -1
  150. package/src/commands/fork/index.ts +0 -2
  151. package/src/commands/good-claude/index.js +0 -1
  152. package/src/commands/heapdump/heapdump.ts +0 -17
  153. package/src/commands/heapdump/index.ts +0 -12
  154. package/src/commands/help/help.tsx +0 -11
  155. package/src/commands/help/index.ts +0 -10
  156. package/src/commands/hooks/hooks.tsx +0 -13
  157. package/src/commands/hooks/index.ts +0 -11
  158. package/src/commands/ide/ide.tsx +0 -646
  159. package/src/commands/ide/index.ts +0 -11
  160. package/src/commands/init-verifiers.ts +0 -262
  161. package/src/commands/init.ts +0 -256
  162. package/src/commands/insights.ts +0 -3200
  163. package/src/commands/install-github-app/ApiKeyStep.tsx +0 -231
  164. package/src/commands/install-github-app/CheckExistingSecretStep.tsx +0 -190
  165. package/src/commands/install-github-app/CheckGitHubStep.tsx +0 -15
  166. package/src/commands/install-github-app/ChooseRepoStep.tsx +0 -211
  167. package/src/commands/install-github-app/CreatingStep.tsx +0 -65
  168. package/src/commands/install-github-app/ErrorStep.tsx +0 -85
  169. package/src/commands/install-github-app/ExistingWorkflowStep.tsx +0 -103
  170. package/src/commands/install-github-app/InstallAppStep.tsx +0 -94
  171. package/src/commands/install-github-app/OAuthFlowStep.tsx +0 -276
  172. package/src/commands/install-github-app/SuccessStep.tsx +0 -96
  173. package/src/commands/install-github-app/WarningsStep.tsx +0 -73
  174. package/src/commands/install-github-app/index.ts +0 -13
  175. package/src/commands/install-github-app/install-github-app.tsx +0 -587
  176. package/src/commands/install-github-app/setupGitHubActions.ts +0 -325
  177. package/src/commands/install-github-app/types.ts +0 -3
  178. package/src/commands/install-slack-app/index.ts +0 -12
  179. package/src/commands/install-slack-app/install-slack-app.ts +0 -30
  180. package/src/commands/install.tsx +0 -300
  181. package/src/commands/issue/index.js +0 -1
  182. package/src/commands/keybindings/index.ts +0 -13
  183. package/src/commands/keybindings/keybindings.ts +0 -53
  184. package/src/commands/login/index.ts +0 -14
  185. package/src/commands/login/login.tsx +0 -104
  186. package/src/commands/logout/index.ts +0 -10
  187. package/src/commands/logout/logout.tsx +0 -82
  188. package/src/commands/mcp/addCommand.ts +0 -280
  189. package/src/commands/mcp/index.ts +0 -12
  190. package/src/commands/mcp/mcp.tsx +0 -85
  191. package/src/commands/mcp/xaaIdpCommand.ts +0 -266
  192. package/src/commands/memory/index.ts +0 -10
  193. package/src/commands/memory/memory.tsx +0 -90
  194. package/src/commands/mobile/index.ts +0 -11
  195. package/src/commands/mobile/mobile.tsx +0 -274
  196. package/src/commands/mock-limits/index.js +0 -1
  197. package/src/commands/model/index.ts +0 -16
  198. package/src/commands/model/model.tsx +0 -297
  199. package/src/commands/oauth-refresh/index.js +0 -1
  200. package/src/commands/onboarding/index.js +0 -1
  201. package/src/commands/output-style/index.ts +0 -11
  202. package/src/commands/output-style/output-style.tsx +0 -7
  203. package/src/commands/passes/index.ts +0 -22
  204. package/src/commands/passes/passes.tsx +0 -24
  205. package/src/commands/peers/index.ts +0 -2
  206. package/src/commands/perf-issue/index.js +0 -1
  207. package/src/commands/permissions/index.ts +0 -11
  208. package/src/commands/permissions/permissions.tsx +0 -10
  209. package/src/commands/plan/index.ts +0 -11
  210. package/src/commands/plan/plan.tsx +0 -122
  211. package/src/commands/plugin/AddMarketplace.tsx +0 -162
  212. package/src/commands/plugin/BrowseMarketplace.tsx +0 -802
  213. package/src/commands/plugin/DiscoverPlugins.tsx +0 -781
  214. package/src/commands/plugin/ManageMarketplaces.tsx +0 -838
  215. package/src/commands/plugin/ManagePlugins.tsx +0 -2215
  216. package/src/commands/plugin/PluginErrors.tsx +0 -124
  217. package/src/commands/plugin/PluginOptionsDialog.tsx +0 -357
  218. package/src/commands/plugin/PluginOptionsFlow.tsx +0 -135
  219. package/src/commands/plugin/PluginSettings.tsx +0 -1072
  220. package/src/commands/plugin/PluginTrustWarning.tsx +0 -32
  221. package/src/commands/plugin/UnifiedInstalledCell.tsx +0 -565
  222. package/src/commands/plugin/ValidatePlugin.tsx +0 -98
  223. package/src/commands/plugin/index.tsx +0 -11
  224. package/src/commands/plugin/parseArgs.ts +0 -103
  225. package/src/commands/plugin/plugin.tsx +0 -7
  226. package/src/commands/plugin/pluginDetailsHelpers.tsx +0 -117
  227. package/src/commands/plugin/types.ts +0 -2
  228. package/src/commands/plugin/unifiedTypes.ts +0 -4
  229. package/src/commands/plugin/usePagination.ts +0 -171
  230. package/src/commands/pr_comments/index.ts +0 -50
  231. package/src/commands/privacy-settings/index.ts +0 -14
  232. package/src/commands/privacy-settings/privacy-settings.tsx +0 -58
  233. package/src/commands/proactive.ts +0 -1
  234. package/src/commands/rate-limit-options/index.ts +0 -19
  235. package/src/commands/rate-limit-options/rate-limit-options.tsx +0 -210
  236. package/src/commands/release-notes/index.ts +0 -11
  237. package/src/commands/release-notes/release-notes.ts +0 -50
  238. package/src/commands/reload-plugins/index.ts +0 -18
  239. package/src/commands/reload-plugins/reload-plugins.ts +0 -61
  240. package/src/commands/remote-env/index.ts +0 -15
  241. package/src/commands/remote-env/remote-env.tsx +0 -7
  242. package/src/commands/remote-setup/api.ts +0 -182
  243. package/src/commands/remote-setup/index.ts +0 -20
  244. package/src/commands/remote-setup/remote-setup.tsx +0 -187
  245. package/src/commands/remoteControlServer/index.ts +0 -1
  246. package/src/commands/rename/generateSessionName.ts +0 -67
  247. package/src/commands/rename/index.ts +0 -12
  248. package/src/commands/rename/rename.ts +0 -87
  249. package/src/commands/reset-limits/index.js +0 -4
  250. package/src/commands/resume/index.ts +0 -12
  251. package/src/commands/resume/resume.tsx +0 -275
  252. package/src/commands/review/UltrareviewOverageDialog.tsx +0 -96
  253. package/src/commands/review/reviewRemote.ts +0 -316
  254. package/src/commands/review/ultrareviewCommand.tsx +0 -58
  255. package/src/commands/review/ultrareviewEnabled.ts +0 -14
  256. package/src/commands/review.ts +0 -57
  257. package/src/commands/rewind/index.ts +0 -13
  258. package/src/commands/rewind/rewind.ts +0 -13
  259. package/src/commands/sandbox-toggle/index.ts +0 -50
  260. package/src/commands/sandbox-toggle/sandbox-toggle.tsx +0 -83
  261. package/src/commands/security-review.ts +0 -243
  262. package/src/commands/session/index.ts +0 -16
  263. package/src/commands/session/session.tsx +0 -140
  264. package/src/commands/share/index.js +0 -1
  265. package/src/commands/skills/index.ts +0 -10
  266. package/src/commands/skills/skills.tsx +0 -8
  267. package/src/commands/stats/index.ts +0 -10
  268. package/src/commands/stats/stats.tsx +0 -7
  269. package/src/commands/status/index.ts +0 -12
  270. package/src/commands/status/status.tsx +0 -8
  271. package/src/commands/statusline.tsx +0 -24
  272. package/src/commands/stickers/index.ts +0 -11
  273. package/src/commands/stickers/stickers.ts +0 -16
  274. package/src/commands/subscribe-pr.ts +0 -1
  275. package/src/commands/summary/index.js +0 -1
  276. package/src/commands/tag/index.ts +0 -12
  277. package/src/commands/tag/tag.tsx +0 -215
  278. package/src/commands/tasks/index.ts +0 -11
  279. package/src/commands/tasks/tasks.tsx +0 -8
  280. package/src/commands/teleport/index.js +0 -1
  281. package/src/commands/terminalSetup/index.ts +0 -23
  282. package/src/commands/terminalSetup/terminalSetup.tsx +0 -531
  283. package/src/commands/theme/index.ts +0 -10
  284. package/src/commands/theme/theme.tsx +0 -57
  285. package/src/commands/thinkback/index.ts +0 -13
  286. package/src/commands/thinkback/thinkback.tsx +0 -554
  287. package/src/commands/thinkback-play/index.ts +0 -17
  288. package/src/commands/thinkback-play/thinkback-play.ts +0 -43
  289. package/src/commands/torch.ts +0 -1
  290. package/src/commands/ultraplan.tsx +0 -471
  291. package/src/commands/upgrade/index.ts +0 -16
  292. package/src/commands/upgrade/upgrade.tsx +0 -38
  293. package/src/commands/usage/index.ts +0 -9
  294. package/src/commands/usage/usage.tsx +0 -7
  295. package/src/commands/version.ts +0 -22
  296. package/src/commands/vim/index.ts +0 -11
  297. package/src/commands/vim/vim.ts +0 -38
  298. package/src/commands/voice/index.ts +0 -20
  299. package/src/commands/voice/voice.ts +0 -150
  300. package/src/commands/workflows/index.ts +0 -2
  301. package/src/commands.ts +0 -754
  302. package/src/components/AgentProgressLine.tsx +0 -136
  303. package/src/components/App.tsx +0 -56
  304. package/src/components/ApproveApiKey.tsx +0 -123
  305. package/src/components/AutoModeOptInDialog.tsx +0 -142
  306. package/src/components/AutoUpdater.tsx +0 -198
  307. package/src/components/AutoUpdaterWrapper.tsx +0 -91
  308. package/src/components/AwsAuthStatusBox.tsx +0 -82
  309. package/src/components/BaseTextInput.tsx +0 -136
  310. package/src/components/BashModeProgress.tsx +0 -56
  311. package/src/components/BridgeDialog.tsx +0 -401
  312. package/src/components/BypassPermissionsModeDialog.tsx +0 -87
  313. package/src/components/ChannelDowngradeDialog.tsx +0 -102
  314. package/src/components/ClaudeCodeHint/PluginHintMenu.tsx +0 -78
  315. package/src/components/ClaudeInChromeOnboarding.tsx +0 -121
  316. package/src/components/ClaudeMdExternalIncludesDialog.tsx +0 -137
  317. package/src/components/ClickableImageRef.tsx +0 -73
  318. package/src/components/CompactSummary.tsx +0 -118
  319. package/src/components/ConfigurableShortcutHint.tsx +0 -57
  320. package/src/components/ConsoleOAuthFlow.tsx +0 -631
  321. package/src/components/ContextSuggestions.tsx +0 -47
  322. package/src/components/ContextVisualization.tsx +0 -489
  323. package/src/components/CoordinatorAgentStatus.tsx +0 -273
  324. package/src/components/CostThresholdDialog.tsx +0 -50
  325. package/src/components/CtrlOToExpand.tsx +0 -51
  326. package/src/components/CustomSelect/SelectMulti.tsx +0 -213
  327. package/src/components/CustomSelect/index.ts +0 -3
  328. package/src/components/CustomSelect/option-map.ts +0 -50
  329. package/src/components/CustomSelect/select-input-option.tsx +0 -488
  330. package/src/components/CustomSelect/select-option.tsx +0 -68
  331. package/src/components/CustomSelect/select.tsx +0 -690
  332. package/src/components/CustomSelect/use-multi-select-state.ts +0 -414
  333. package/src/components/CustomSelect/use-select-input.ts +0 -287
  334. package/src/components/CustomSelect/use-select-navigation.ts +0 -653
  335. package/src/components/CustomSelect/use-select-state.ts +0 -157
  336. package/src/components/DesktopHandoff.tsx +0 -193
  337. package/src/components/DesktopUpsell/DesktopUpsellStartup.tsx +0 -171
  338. package/src/components/DevBar.tsx +0 -49
  339. package/src/components/DevChannelsDialog.tsx +0 -105
  340. package/src/components/DiagnosticsDisplay.tsx +0 -95
  341. package/src/components/EffortCallout.tsx +0 -265
  342. package/src/components/EffortIndicator.ts +0 -42
  343. package/src/components/ExitFlow.tsx +0 -48
  344. package/src/components/ExportDialog.tsx +0 -128
  345. package/src/components/FallbackToolUseErrorMessage.tsx +0 -116
  346. package/src/components/FallbackToolUseRejectedMessage.tsx +0 -16
  347. package/src/components/FastIcon.tsx +0 -46
  348. package/src/components/Feedback.tsx +0 -592
  349. package/src/components/FeedbackSurvey/FeedbackSurvey.tsx +0 -174
  350. package/src/components/FeedbackSurvey/FeedbackSurveyView.tsx +0 -108
  351. package/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx +0 -88
  352. package/src/components/FeedbackSurvey/submitTranscriptShare.ts +0 -112
  353. package/src/components/FeedbackSurvey/useDebouncedDigitInput.ts +0 -82
  354. package/src/components/FeedbackSurvey/useFeedbackSurvey.tsx +0 -296
  355. package/src/components/FeedbackSurvey/useFrustrationDetection.ts +0 -2
  356. package/src/components/FeedbackSurvey/useMemorySurvey.tsx +0 -213
  357. package/src/components/FeedbackSurvey/usePostCompactSurvey.tsx +0 -206
  358. package/src/components/FeedbackSurvey/useSurveyState.tsx +0 -100
  359. package/src/components/FeedbackSurvey/utils.ts +0 -2
  360. package/src/components/FileEditToolDiff.tsx +0 -181
  361. package/src/components/FileEditToolUpdatedMessage.tsx +0 -124
  362. package/src/components/FileEditToolUseRejectedMessage.tsx +0 -170
  363. package/src/components/FilePathLink.tsx +0 -43
  364. package/src/components/FullscreenLayout.tsx +0 -637
  365. package/src/components/GlobalSearchDialog.tsx +0 -343
  366. package/src/components/HelpV2/Commands.tsx +0 -82
  367. package/src/components/HelpV2/General.tsx +0 -23
  368. package/src/components/HelpV2/HelpV2.tsx +0 -184
  369. package/src/components/HighlightedCode/Fallback.tsx +0 -193
  370. package/src/components/HighlightedCode.tsx +0 -190
  371. package/src/components/HistorySearchDialog.tsx +0 -118
  372. package/src/components/IdeAutoConnectDialog.tsx +0 -154
  373. package/src/components/IdeOnboardingDialog.tsx +0 -167
  374. package/src/components/IdeStatusIndicator.tsx +0 -58
  375. package/src/components/IdleReturnDialog.tsx +0 -118
  376. package/src/components/InterruptedByUser.tsx +0 -15
  377. package/src/components/InvalidConfigDialog.tsx +0 -156
  378. package/src/components/InvalidSettingsDialog.tsx +0 -89
  379. package/src/components/KeybindingWarnings.tsx +0 -55
  380. package/src/components/LanguagePicker.tsx +0 -86
  381. package/src/components/LogSelector.tsx +0 -1575
  382. package/src/components/LogoV2/AnimatedAsterisk.tsx +0 -50
  383. package/src/components/LogoV2/AnimatedClawd.tsx +0 -124
  384. package/src/components/LogoV2/ChannelsNotice.tsx +0 -266
  385. package/src/components/LogoV2/Clawd.tsx +0 -25
  386. package/src/components/LogoV2/CondensedLogo.tsx +0 -161
  387. package/src/components/LogoV2/EmergencyTip.tsx +0 -58
  388. package/src/components/LogoV2/Feed.tsx +0 -112
  389. package/src/components/LogoV2/FeedColumn.tsx +0 -59
  390. package/src/components/LogoV2/GuestPassesUpsell.tsx +0 -70
  391. package/src/components/LogoV2/LogoV2.tsx +0 -543
  392. package/src/components/LogoV2/Opus1mMergeNotice.tsx +0 -55
  393. package/src/components/LogoV2/OverageCreditUpsell.tsx +0 -166
  394. package/src/components/LogoV2/VoiceModeNotice.tsx +0 -68
  395. package/src/components/LogoV2/WelcomeV2.tsx +0 -433
  396. package/src/components/LogoV2/feedConfigs.tsx +0 -92
  397. package/src/components/LspRecommendation/LspRecommendationMenu.tsx +0 -88
  398. package/src/components/MCPServerApprovalDialog.tsx +0 -115
  399. package/src/components/MCPServerDesktopImportDialog.tsx +0 -203
  400. package/src/components/MCPServerDialogCopy.tsx +0 -15
  401. package/src/components/MCPServerMultiselectDialog.tsx +0 -133
  402. package/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx +0 -149
  403. package/src/components/ManagedSettingsSecurityDialog/utils.ts +0 -144
  404. package/src/components/Markdown.tsx +0 -236
  405. package/src/components/MarkdownTable.tsx +0 -322
  406. package/src/components/MemoryUsageIndicator.tsx +0 -37
  407. package/src/components/Message.tsx +0 -627
  408. package/src/components/MessageModel.tsx +0 -43
  409. package/src/components/MessageResponse.tsx +0 -78
  410. package/src/components/MessageRow.tsx +0 -383
  411. package/src/components/MessageSelector.tsx +0 -831
  412. package/src/components/MessageTimestamp.tsx +0 -63
  413. package/src/components/Messages.tsx +0 -834
  414. package/src/components/ModelPicker.tsx +0 -448
  415. package/src/components/NativeAutoUpdater.tsx +0 -193
  416. package/src/components/NotebookEditToolUseRejectedMessage.tsx +0 -92
  417. package/src/components/OffscreenFreeze.tsx +0 -44
  418. package/src/components/Onboarding.tsx +0 -244
  419. package/src/components/OutputStylePicker.tsx +0 -112
  420. package/src/components/PackageManagerAutoUpdater.tsx +0 -104
  421. package/src/components/Passes/Passes.tsx +0 -184
  422. package/src/components/PrBadge.tsx +0 -97
  423. package/src/components/PressEnterToContinue.tsx +0 -15
  424. package/src/components/PromptInput/HistorySearchInput.tsx +0 -51
  425. package/src/components/PromptInput/IssueFlagBanner.tsx +0 -12
  426. package/src/components/PromptInput/Notifications.tsx +0 -332
  427. package/src/components/PromptInput/PromptInput.tsx +0 -2339
  428. package/src/components/PromptInput/PromptInputFooter.tsx +0 -191
  429. package/src/components/PromptInput/PromptInputFooterLeftSide.tsx +0 -517
  430. package/src/components/PromptInput/PromptInputFooterSuggestions.tsx +0 -293
  431. package/src/components/PromptInput/PromptInputHelpMenu.tsx +0 -358
  432. package/src/components/PromptInput/PromptInputModeIndicator.tsx +0 -93
  433. package/src/components/PromptInput/PromptInputQueuedCommands.tsx +0 -117
  434. package/src/components/PromptInput/PromptInputStashNotice.tsx +0 -25
  435. package/src/components/PromptInput/SandboxPromptFooterHint.tsx +0 -64
  436. package/src/components/PromptInput/ShimmeredInput.tsx +0 -143
  437. package/src/components/PromptInput/VoiceIndicator.tsx +0 -137
  438. package/src/components/PromptInput/inputModes.ts +0 -33
  439. package/src/components/PromptInput/inputPaste.ts +0 -90
  440. package/src/components/PromptInput/useMaybeTruncateInput.ts +0 -58
  441. package/src/components/PromptInput/usePromptInputPlaceholder.ts +0 -76
  442. package/src/components/PromptInput/useShowFastIconHint.ts +0 -31
  443. package/src/components/PromptInput/useSwarmBanner.ts +0 -155
  444. package/src/components/PromptInput/utils.ts +0 -60
  445. package/src/components/QuickOpenDialog.tsx +0 -244
  446. package/src/components/RemoteCallout.tsx +0 -76
  447. package/src/components/RemoteEnvironmentDialog.tsx +0 -340
  448. package/src/components/ResumeTask.tsx +0 -268
  449. package/src/components/SandboxViolationExpandedView.tsx +0 -99
  450. package/src/components/ScrollKeybindingHandler.tsx +0 -1012
  451. package/src/components/SearchBox.tsx +0 -72
  452. package/src/components/SentryErrorBoundary.ts +0 -28
  453. package/src/components/SessionBackgroundHint.tsx +0 -108
  454. package/src/components/SessionPreview.tsx +0 -194
  455. package/src/components/Settings/Config.tsx +0 -1822
  456. package/src/components/Settings/Settings.tsx +0 -137
  457. package/src/components/Settings/Status.tsx +0 -241
  458. package/src/components/Settings/Usage.tsx +0 -377
  459. package/src/components/ShowInIDEPrompt.tsx +0 -170
  460. package/src/components/SkillImprovementSurvey.tsx +0 -152
  461. package/src/components/Spinner/FlashingChar.tsx +0 -61
  462. package/src/components/Spinner/GlimmerMessage.tsx +0 -328
  463. package/src/components/Spinner/ShimmerChar.tsx +0 -36
  464. package/src/components/Spinner/SpinnerAnimationRow.tsx +0 -265
  465. package/src/components/Spinner/SpinnerGlyph.tsx +0 -80
  466. package/src/components/Spinner/TeammateSpinnerLine.tsx +0 -233
  467. package/src/components/Spinner/TeammateSpinnerTree.tsx +0 -272
  468. package/src/components/Spinner/index.ts +0 -10
  469. package/src/components/Spinner/teammateSelectHint.ts +0 -1
  470. package/src/components/Spinner/types.ts +0 -2
  471. package/src/components/Spinner/useShimmerAnimation.ts +0 -31
  472. package/src/components/Spinner/useStalledAnimation.ts +0 -75
  473. package/src/components/Spinner/utils.ts +0 -84
  474. package/src/components/Spinner.tsx +0 -562
  475. package/src/components/Stats.tsx +0 -1228
  476. package/src/components/StatusLine.tsx +0 -324
  477. package/src/components/StatusNotices.tsx +0 -55
  478. package/src/components/StructuredDiff/Fallback.tsx +0 -487
  479. package/src/components/StructuredDiff/colorDiff.ts +0 -37
  480. package/src/components/StructuredDiff.tsx +0 -190
  481. package/src/components/StructuredDiffList.tsx +0 -30
  482. package/src/components/TagTabs.tsx +0 -139
  483. package/src/components/TaskListV2.tsx +0 -378
  484. package/src/components/TeammateViewHeader.tsx +0 -82
  485. package/src/components/TeleportError.tsx +0 -189
  486. package/src/components/TeleportProgress.tsx +0 -140
  487. package/src/components/TeleportRepoMismatchDialog.tsx +0 -104
  488. package/src/components/TeleportResumeWrapper.tsx +0 -167
  489. package/src/components/TeleportStash.tsx +0 -116
  490. package/src/components/TextInput.tsx +0 -124
  491. package/src/components/ThemePicker.tsx +0 -333
  492. package/src/components/ThinkingToggle.tsx +0 -153
  493. package/src/components/TokenWarning.tsx +0 -179
  494. package/src/components/ToolUseLoader.tsx +0 -42
  495. package/src/components/TrustDialog/TrustDialog.tsx +0 -290
  496. package/src/components/TrustDialog/utils.ts +0 -245
  497. package/src/components/ValidationErrorsList.tsx +0 -148
  498. package/src/components/VimTextInput.tsx +0 -140
  499. package/src/components/VirtualMessageList.tsx +0 -1082
  500. package/src/components/WorkflowMultiselectDialog.tsx +0 -128
  501. package/src/components/WorktreeExitDialog.tsx +0 -231
  502. package/src/components/agents/AgentDetail.tsx +0 -220
  503. package/src/components/agents/AgentEditor.tsx +0 -178
  504. package/src/components/agents/AgentNavigationFooter.tsx +0 -26
  505. package/src/components/agents/AgentsList.tsx +0 -440
  506. package/src/components/agents/AgentsMenu.tsx +0 -800
  507. package/src/components/agents/ColorPicker.tsx +0 -112
  508. package/src/components/agents/ModelSelector.tsx +0 -68
  509. package/src/components/agents/SnapshotUpdateDialog.ts +0 -2
  510. package/src/components/agents/ToolSelector.tsx +0 -562
  511. package/src/components/agents/agentFileUtils.ts +0 -272
  512. package/src/components/agents/generateAgent.ts +0 -197
  513. package/src/components/agents/new-agent-creation/CreateAgentWizard.tsx +0 -97
  514. package/src/components/agents/new-agent-creation/types.ts +0 -1
  515. package/src/components/agents/new-agent-creation/wizard-steps/ColorStep.tsx +0 -84
  516. package/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx +0 -378
  517. package/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx +0 -74
  518. package/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx +0 -123
  519. package/src/components/agents/new-agent-creation/wizard-steps/GenerateStep.tsx +0 -143
  520. package/src/components/agents/new-agent-creation/wizard-steps/LocationStep.tsx +0 -80
  521. package/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.tsx +0 -113
  522. package/src/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx +0 -80
  523. package/src/components/agents/new-agent-creation/wizard-steps/ModelStep.tsx +0 -52
  524. package/src/components/agents/new-agent-creation/wizard-steps/PromptStep.tsx +0 -128
  525. package/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.tsx +0 -61
  526. package/src/components/agents/new-agent-creation/wizard-steps/TypeStep.tsx +0 -103
  527. package/src/components/agents/types.ts +0 -27
  528. package/src/components/agents/utils.ts +0 -18
  529. package/src/components/agents/validateAgent.ts +0 -109
  530. package/src/components/design-system/Byline.tsx +0 -77
  531. package/src/components/design-system/Dialog.tsx +0 -138
  532. package/src/components/design-system/Divider.tsx +0 -149
  533. package/src/components/design-system/FuzzyPicker.tsx +0 -312
  534. package/src/components/design-system/KeyboardShortcutHint.tsx +0 -81
  535. package/src/components/design-system/ListItem.tsx +0 -244
  536. package/src/components/design-system/LoadingState.tsx +0 -94
  537. package/src/components/design-system/Pane.tsx +0 -77
  538. package/src/components/design-system/ProgressBar.tsx +0 -86
  539. package/src/components/design-system/Ratchet.tsx +0 -80
  540. package/src/components/design-system/StatusIcon.tsx +0 -95
  541. package/src/components/design-system/Tabs.tsx +0 -340
  542. package/src/components/design-system/ThemeProvider.tsx +0 -170
  543. package/src/components/design-system/ThemedBox.tsx +0 -156
  544. package/src/components/design-system/ThemedText.tsx +0 -124
  545. package/src/components/design-system/color.ts +0 -30
  546. package/src/components/diff/DiffDetailView.tsx +0 -281
  547. package/src/components/diff/DiffDialog.tsx +0 -383
  548. package/src/components/diff/DiffFileList.tsx +0 -292
  549. package/src/components/grove/Grove.tsx +0 -463
  550. package/src/components/hooks/HooksConfigMenu.tsx +0 -578
  551. package/src/components/hooks/PromptDialog.tsx +0 -90
  552. package/src/components/hooks/SelectEventMode.tsx +0 -127
  553. package/src/components/hooks/SelectHookMode.tsx +0 -112
  554. package/src/components/hooks/SelectMatcherMode.tsx +0 -144
  555. package/src/components/hooks/ViewHookMode.tsx +0 -199
  556. package/src/components/mcp/CapabilitiesSection.tsx +0 -61
  557. package/src/components/mcp/ElicitationDialog.tsx +0 -1169
  558. package/src/components/mcp/MCPAgentServerMenu.tsx +0 -183
  559. package/src/components/mcp/MCPListPanel.tsx +0 -504
  560. package/src/components/mcp/MCPReconnect.tsx +0 -167
  561. package/src/components/mcp/MCPRemoteServerMenu.tsx +0 -649
  562. package/src/components/mcp/MCPSettings.tsx +0 -398
  563. package/src/components/mcp/MCPStdioServerMenu.tsx +0 -177
  564. package/src/components/mcp/MCPToolDetailView.tsx +0 -212
  565. package/src/components/mcp/MCPToolListView.tsx +0 -141
  566. package/src/components/mcp/McpParsingWarnings.tsx +0 -213
  567. package/src/components/mcp/index.ts +0 -9
  568. package/src/components/mcp/types.ts +0 -7
  569. package/src/components/mcp/utils/reconnectHelpers.tsx +0 -49
  570. package/src/components/memory/MemoryFileSelector.tsx +0 -438
  571. package/src/components/memory/MemoryUpdateNotification.tsx +0 -45
  572. package/src/components/messageActions.tsx +0 -450
  573. package/src/components/messages/AdvisorMessage.tsx +0 -158
  574. package/src/components/messages/AssistantRedactedThinkingMessage.tsx +0 -31
  575. package/src/components/messages/AssistantTextMessage.tsx +0 -270
  576. package/src/components/messages/AssistantThinkingMessage.tsx +0 -86
  577. package/src/components/messages/AssistantToolUseMessage.tsx +0 -368
  578. package/src/components/messages/AttachmentMessage.tsx +0 -536
  579. package/src/components/messages/CollapsedReadSearchContent.tsx +0 -484
  580. package/src/components/messages/CompactBoundaryMessage.tsx +0 -18
  581. package/src/components/messages/GroupedToolUseContent.tsx +0 -58
  582. package/src/components/messages/HighlightedThinkingText.tsx +0 -162
  583. package/src/components/messages/HookProgressMessage.tsx +0 -116
  584. package/src/components/messages/PlanApprovalMessage.tsx +0 -222
  585. package/src/components/messages/RateLimitMessage.tsx +0 -161
  586. package/src/components/messages/ShutdownMessage.tsx +0 -132
  587. package/src/components/messages/SnipBoundaryMessage.ts +0 -2
  588. package/src/components/messages/SystemAPIErrorMessage.tsx +0 -141
  589. package/src/components/messages/SystemTextMessage.tsx +0 -827
  590. package/src/components/messages/TaskAssignmentMessage.tsx +0 -76
  591. package/src/components/messages/UserAgentNotificationMessage.tsx +0 -83
  592. package/src/components/messages/UserBashInputMessage.tsx +0 -58
  593. package/src/components/messages/UserBashOutputMessage.tsx +0 -54
  594. package/src/components/messages/UserChannelMessage.tsx +0 -137
  595. package/src/components/messages/UserCommandMessage.tsx +0 -108
  596. package/src/components/messages/UserCrossSessionMessage.ts +0 -2
  597. package/src/components/messages/UserForkBoilerplateMessage.ts +0 -2
  598. package/src/components/messages/UserGitHubWebhookMessage.ts +0 -2
  599. package/src/components/messages/UserImageMessage.tsx +0 -59
  600. package/src/components/messages/UserLocalCommandOutputMessage.tsx +0 -167
  601. package/src/components/messages/UserMemoryInputMessage.tsx +0 -75
  602. package/src/components/messages/UserPlanMessage.tsx +0 -42
  603. package/src/components/messages/UserPromptMessage.tsx +0 -80
  604. package/src/components/messages/UserResourceUpdateMessage.tsx +0 -121
  605. package/src/components/messages/UserTeammateMessage.tsx +0 -206
  606. package/src/components/messages/UserTextMessage.tsx +0 -275
  607. package/src/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx +0 -31
  608. package/src/components/messages/UserToolResultMessage/RejectedToolUseMessage.tsx +0 -16
  609. package/src/components/messages/UserToolResultMessage/UserToolCanceledMessage.tsx +0 -16
  610. package/src/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx +0 -103
  611. package/src/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx +0 -95
  612. package/src/components/messages/UserToolResultMessage/UserToolResultMessage.tsx +0 -106
  613. package/src/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx +0 -104
  614. package/src/components/messages/UserToolResultMessage/utils.tsx +0 -44
  615. package/src/components/messages/nullRenderingAttachments.ts +0 -70
  616. package/src/components/messages/teamMemCollapsed.tsx +0 -140
  617. package/src/components/messages/teamMemSaved.ts +0 -19
  618. package/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx +0 -645
  619. package/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx +0 -229
  620. package/src/components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx +0 -328
  621. package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx +0 -178
  622. package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx +0 -465
  623. package/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx +0 -144
  624. package/src/components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.ts +0 -179
  625. package/src/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx +0 -482
  626. package/src/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx +0 -147
  627. package/src/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx +0 -441
  628. package/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx +0 -122
  629. package/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx +0 -768
  630. package/src/components/permissions/FallbackPermissionRequest.tsx +0 -333
  631. package/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx +0 -182
  632. package/src/components/permissions/FilePermissionDialog/FilePermissionDialog.tsx +0 -204
  633. package/src/components/permissions/FilePermissionDialog/ideDiffConfig.ts +0 -42
  634. package/src/components/permissions/FilePermissionDialog/permissionOptions.tsx +0 -177
  635. package/src/components/permissions/FilePermissionDialog/useFilePermissionDialog.ts +0 -212
  636. package/src/components/permissions/FilePermissionDialog/usePermissionHandler.ts +0 -185
  637. package/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx +0 -161
  638. package/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx +0 -89
  639. package/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx +0 -115
  640. package/src/components/permissions/MonitorPermissionRequest/MonitorPermissionRequest.ts +0 -2
  641. package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx +0 -166
  642. package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx +0 -235
  643. package/src/components/permissions/PermissionDecisionDebugInfo.tsx +0 -460
  644. package/src/components/permissions/PermissionDialog.tsx +0 -72
  645. package/src/components/permissions/PermissionExplanation.tsx +0 -272
  646. package/src/components/permissions/PermissionPrompt.tsx +0 -336
  647. package/src/components/permissions/PermissionRequest.tsx +0 -217
  648. package/src/components/permissions/PermissionRequestTitle.tsx +0 -66
  649. package/src/components/permissions/PermissionRuleExplanation.tsx +0 -121
  650. package/src/components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx +0 -235
  651. package/src/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx +0 -91
  652. package/src/components/permissions/ReviewArtifactPermissionRequest/ReviewArtifactPermissionRequest.ts +0 -2
  653. package/src/components/permissions/SandboxPermissionRequest.tsx +0 -163
  654. package/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx +0 -230
  655. package/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx +0 -369
  656. package/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx +0 -258
  657. package/src/components/permissions/WorkerBadge.tsx +0 -49
  658. package/src/components/permissions/WorkerPendingPermission.tsx +0 -105
  659. package/src/components/permissions/hooks.ts +0 -209
  660. package/src/components/permissions/rules/AddPermissionRules.tsx +0 -180
  661. package/src/components/permissions/rules/AddWorkspaceDirectory.tsx +0 -340
  662. package/src/components/permissions/rules/PermissionRuleDescription.tsx +0 -76
  663. package/src/components/permissions/rules/PermissionRuleInput.tsx +0 -138
  664. package/src/components/permissions/rules/PermissionRuleList.tsx +0 -1179
  665. package/src/components/permissions/rules/RecentDenialsTab.tsx +0 -207
  666. package/src/components/permissions/rules/RemoveWorkspaceDirectory.tsx +0 -110
  667. package/src/components/permissions/rules/WorkspaceTab.tsx +0 -150
  668. package/src/components/permissions/shellPermissionHelpers.tsx +0 -164
  669. package/src/components/permissions/useShellPermissionFeedback.ts +0 -148
  670. package/src/components/permissions/utils.ts +0 -25
  671. package/src/components/sandbox/SandboxConfigTab.tsx +0 -45
  672. package/src/components/sandbox/SandboxDependenciesTab.tsx +0 -120
  673. package/src/components/sandbox/SandboxDoctorSection.tsx +0 -46
  674. package/src/components/sandbox/SandboxOverridesTab.tsx +0 -193
  675. package/src/components/sandbox/SandboxSettings.tsx +0 -296
  676. package/src/components/shell/ExpandShellOutputContext.tsx +0 -36
  677. package/src/components/shell/OutputLine.tsx +0 -118
  678. package/src/components/shell/ShellProgressMessage.tsx +0 -150
  679. package/src/components/shell/ShellTimeDisplay.tsx +0 -74
  680. package/src/components/skills/SkillsMenu.tsx +0 -237
  681. package/src/components/tasks/AsyncAgentDetailDialog.tsx +0 -229
  682. package/src/components/tasks/BackgroundTask.tsx +0 -345
  683. package/src/components/tasks/BackgroundTaskStatus.tsx +0 -429
  684. package/src/components/tasks/BackgroundTasksDialog.tsx +0 -652
  685. package/src/components/tasks/DreamDetailDialog.tsx +0 -251
  686. package/src/components/tasks/InProcessTeammateDetailDialog.tsx +0 -266
  687. package/src/components/tasks/MonitorMcpDetailDialog.ts +0 -2
  688. package/src/components/tasks/RemoteSessionDetailDialog.tsx +0 -904
  689. package/src/components/tasks/RemoteSessionProgress.tsx +0 -243
  690. package/src/components/tasks/ShellDetailDialog.tsx +0 -404
  691. package/src/components/tasks/ShellProgress.tsx +0 -87
  692. package/src/components/tasks/WorkflowDetailDialog.ts +0 -2
  693. package/src/components/tasks/renderToolActivity.tsx +0 -33
  694. package/src/components/tasks/taskStatusUtils.tsx +0 -107
  695. package/src/components/teams/TeamStatus.tsx +0 -80
  696. package/src/components/teams/TeamsDialog.tsx +0 -715
  697. package/src/components/ui/OrderedList.tsx +0 -71
  698. package/src/components/ui/OrderedListItem.tsx +0 -45
  699. package/src/components/ui/TreeSelect.tsx +0 -397
  700. package/src/components/ui/option.ts +0 -4
  701. package/src/components/wizard/WizardDialogLayout.tsx +0 -65
  702. package/src/components/wizard/WizardNavigationFooter.tsx +0 -24
  703. package/src/components/wizard/WizardProvider.tsx +0 -213
  704. package/src/components/wizard/index.ts +0 -9
  705. package/src/components/wizard/types.ts +0 -3
  706. package/src/components/wizard/useWizard.ts +0 -13
  707. package/src/constants/apiLimits.ts +0 -94
  708. package/src/constants/betas.ts +0 -52
  709. package/src/constants/common.ts +0 -33
  710. package/src/constants/cyberRiskInstruction.ts +0 -24
  711. package/src/constants/errorIds.ts +0 -15
  712. package/src/constants/figures.ts +0 -45
  713. package/src/constants/files.ts +0 -156
  714. package/src/constants/github-app.ts +0 -144
  715. package/src/constants/keys.ts +0 -11
  716. package/src/constants/messages.ts +0 -1
  717. package/src/constants/oauth.ts +0 -234
  718. package/src/constants/outputStyles.ts +0 -216
  719. package/src/constants/product.ts +0 -76
  720. package/src/constants/prompts.ts +0 -915
  721. package/src/constants/querySource.ts +0 -1
  722. package/src/constants/spinnerVerbs.ts +0 -204
  723. package/src/constants/system.ts +0 -95
  724. package/src/constants/systemPromptSections.ts +0 -68
  725. package/src/constants/toolLimits.ts +0 -56
  726. package/src/constants/tools.ts +0 -112
  727. package/src/constants/turnCompletionVerbs.ts +0 -12
  728. package/src/constants/xml.ts +0 -86
  729. package/src/context/QueuedMessageContext.tsx +0 -63
  730. package/src/context/fpsMetrics.tsx +0 -30
  731. package/src/context/mailbox.tsx +0 -38
  732. package/src/context/modalContext.tsx +0 -58
  733. package/src/context/notifications.tsx +0 -240
  734. package/src/context/overlayContext.tsx +0 -151
  735. package/src/context/promptOverlayContext.tsx +0 -125
  736. package/src/context/stats.tsx +0 -220
  737. package/src/context/voice.tsx +0 -88
  738. package/src/context.ts +0 -189
  739. package/src/coordinator/coordinatorMode.ts +0 -369
  740. package/src/coordinator/workerAgent.ts +0 -2
  741. package/src/cost-tracker.ts +0 -323
  742. package/src/costHook.ts +0 -22
  743. package/src/daemon/main.ts +0 -2
  744. package/src/daemon/workerRegistry.ts +0 -2
  745. package/src/dialogLaunchers.tsx +0 -133
  746. package/src/engine/CostMapper.ts +0 -57
  747. package/src/engine/MessageMapper.ts +0 -276
  748. package/src/engine/ModelResolver.ts +0 -153
  749. package/src/engine/PermissionBridge.ts +0 -114
  750. package/src/engine/PiAgentAdapter.ts +0 -299
  751. package/src/engine/SubagentTools.ts +0 -92
  752. package/src/engine/ToolAdapter.ts +0 -122
  753. package/src/engine/engine-backup/CostMapper.ts +0 -57
  754. package/src/engine/engine-backup/MessageMapper.ts +0 -276
  755. package/src/engine/engine-backup/ModelResolver.ts +0 -153
  756. package/src/engine/engine-backup/PermissionBridge.ts +0 -114
  757. package/src/engine/engine-backup/PiAgentAdapter.ts +0 -299
  758. package/src/engine/engine-backup/SubagentTools.ts +0 -92
  759. package/src/engine/engine-backup/ToolAdapter.ts +0 -122
  760. package/src/engine/engine-backup/index.ts +0 -14
  761. package/src/engine/engine-backup/piQueryBridge.ts +0 -396
  762. package/src/engine/index.ts +0 -14
  763. package/src/engine/piQueryBridge.ts +0 -396
  764. package/src/entrypoints/agentSdkTypes.ts +0 -443
  765. package/src/entrypoints/cli.tsx +0 -303
  766. package/src/entrypoints/init.ts +0 -340
  767. package/src/entrypoints/mcp.ts +0 -196
  768. package/src/entrypoints/sandboxTypes.ts +0 -156
  769. package/src/entrypoints/sdk/controlSchemas.ts +0 -663
  770. package/src/entrypoints/sdk/controlTypes.ts +0 -12
  771. package/src/entrypoints/sdk/coreSchemas.ts +0 -1889
  772. package/src/entrypoints/sdk/coreTypes.generated.ts +0 -1
  773. package/src/entrypoints/sdk/coreTypes.ts +0 -62
  774. package/src/entrypoints/sdk/runtimeTypes.ts +0 -18
  775. package/src/entrypoints/sdk/sdkUtilityTypes.ts +0 -1
  776. package/src/entrypoints/sdk/settingsTypes.generated.ts +0 -1
  777. package/src/entrypoints/sdk/toolTypes.ts +0 -2
  778. package/src/environment-runner/main.ts +0 -2
  779. package/src/history.ts +0 -464
  780. package/src/hooks/fileSuggestions.ts +0 -811
  781. package/src/hooks/notifs/useAntOrgWarningNotification.ts +0 -2
  782. package/src/hooks/notifs/useAutoModeUnavailableNotification.ts +0 -56
  783. package/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx +0 -60
  784. package/src/hooks/notifs/useDeprecationWarningNotification.tsx +0 -44
  785. package/src/hooks/notifs/useFastModeNotification.tsx +0 -162
  786. package/src/hooks/notifs/useIDEStatusIndicator.tsx +0 -186
  787. package/src/hooks/notifs/useInstallMessages.tsx +0 -26
  788. package/src/hooks/notifs/useLspInitializationNotification.tsx +0 -143
  789. package/src/hooks/notifs/useMcpConnectivityStatus.tsx +0 -88
  790. package/src/hooks/notifs/useModelMigrationNotifications.tsx +0 -52
  791. package/src/hooks/notifs/useNpmDeprecationNotification.tsx +0 -25
  792. package/src/hooks/notifs/usePluginAutoupdateNotification.tsx +0 -83
  793. package/src/hooks/notifs/usePluginInstallationStatus.tsx +0 -128
  794. package/src/hooks/notifs/useRateLimitWarningNotification.tsx +0 -114
  795. package/src/hooks/notifs/useSettingsErrors.tsx +0 -69
  796. package/src/hooks/notifs/useStartupNotification.ts +0 -41
  797. package/src/hooks/notifs/useTeammateShutdownNotification.ts +0 -78
  798. package/src/hooks/renderPlaceholder.ts +0 -51
  799. package/src/hooks/toolPermission/PermissionContext.ts +0 -388
  800. package/src/hooks/toolPermission/handlers/coordinatorHandler.ts +0 -65
  801. package/src/hooks/toolPermission/handlers/interactiveHandler.ts +0 -536
  802. package/src/hooks/toolPermission/handlers/swarmWorkerHandler.ts +0 -159
  803. package/src/hooks/toolPermission/permissionLogging.ts +0 -238
  804. package/src/hooks/unifiedSuggestions.ts +0 -202
  805. package/src/hooks/useAfterFirstRender.ts +0 -17
  806. package/src/hooks/useApiKeyVerification.ts +0 -84
  807. package/src/hooks/useArrowKeyHistory.tsx +0 -229
  808. package/src/hooks/useAssistantHistory.ts +0 -250
  809. package/src/hooks/useAwaySummary.ts +0 -125
  810. package/src/hooks/useBackgroundTaskNavigation.ts +0 -251
  811. package/src/hooks/useBlink.ts +0 -34
  812. package/src/hooks/useCanUseTool.tsx +0 -204
  813. package/src/hooks/useCancelRequest.ts +0 -276
  814. package/src/hooks/useChromeExtensionNotification.tsx +0 -50
  815. package/src/hooks/useClaudeCodeHintRecommendation.tsx +0 -129
  816. package/src/hooks/useClipboardImageHint.ts +0 -77
  817. package/src/hooks/useCommandKeybindings.tsx +0 -108
  818. package/src/hooks/useCommandQueue.ts +0 -15
  819. package/src/hooks/useCopyOnSelect.ts +0 -98
  820. package/src/hooks/useDeferredHookMessages.ts +0 -46
  821. package/src/hooks/useDiffData.ts +0 -110
  822. package/src/hooks/useDiffInIDE.ts +0 -379
  823. package/src/hooks/useDirectConnect.ts +0 -229
  824. package/src/hooks/useDoublePress.ts +0 -62
  825. package/src/hooks/useDynamicConfig.ts +0 -22
  826. package/src/hooks/useElapsedTime.ts +0 -37
  827. package/src/hooks/useExitOnCtrlCD.ts +0 -95
  828. package/src/hooks/useExitOnCtrlCDWithKeybindings.ts +0 -24
  829. package/src/hooks/useFileHistorySnapshotInit.ts +0 -25
  830. package/src/hooks/useGlobalKeybindings.tsx +0 -249
  831. package/src/hooks/useHistorySearch.ts +0 -303
  832. package/src/hooks/useIDEIntegration.tsx +0 -70
  833. package/src/hooks/useIdeAtMentioned.ts +0 -76
  834. package/src/hooks/useIdeConnectionStatus.ts +0 -33
  835. package/src/hooks/useIdeLogging.ts +0 -41
  836. package/src/hooks/useIdeSelection.ts +0 -150
  837. package/src/hooks/useInboxPoller.ts +0 -969
  838. package/src/hooks/useInputBuffer.ts +0 -132
  839. package/src/hooks/useIssueFlagBanner.ts +0 -133
  840. package/src/hooks/useLogMessages.ts +0 -119
  841. package/src/hooks/useLspPluginRecommendation.tsx +0 -194
  842. package/src/hooks/useMailboxBridge.ts +0 -21
  843. package/src/hooks/useMainLoopModel.ts +0 -34
  844. package/src/hooks/useManagePlugins.ts +0 -304
  845. package/src/hooks/useMemoryUsage.ts +0 -39
  846. package/src/hooks/useMergedClients.ts +0 -23
  847. package/src/hooks/useMergedCommands.ts +0 -15
  848. package/src/hooks/useMergedTools.ts +0 -44
  849. package/src/hooks/useMinDisplayTime.ts +0 -35
  850. package/src/hooks/useNotifyAfterTimeout.ts +0 -65
  851. package/src/hooks/useOfficialMarketplaceNotification.tsx +0 -48
  852. package/src/hooks/usePasteHandler.ts +0 -285
  853. package/src/hooks/usePluginRecommendationBase.tsx +0 -105
  854. package/src/hooks/usePrStatus.ts +0 -106
  855. package/src/hooks/usePromptSuggestion.ts +0 -177
  856. package/src/hooks/usePromptsFromClaudeInChrome.tsx +0 -71
  857. package/src/hooks/useQueueProcessor.ts +0 -68
  858. package/src/hooks/useRemoteSession.ts +0 -605
  859. package/src/hooks/useReplBridge.tsx +0 -723
  860. package/src/hooks/useSSHSession.ts +0 -241
  861. package/src/hooks/useScheduledTasks.ts +0 -139
  862. package/src/hooks/useSearchInput.ts +0 -364
  863. package/src/hooks/useSessionBackgrounding.ts +0 -158
  864. package/src/hooks/useSettings.ts +0 -17
  865. package/src/hooks/useSettingsChange.ts +0 -25
  866. package/src/hooks/useSkillImprovementSurvey.ts +0 -105
  867. package/src/hooks/useSkillsChange.ts +0 -62
  868. package/src/hooks/useSwarmInitialization.ts +0 -81
  869. package/src/hooks/useSwarmPermissionPoller.ts +0 -330
  870. package/src/hooks/useTaskListWatcher.ts +0 -221
  871. package/src/hooks/useTasksV2.ts +0 -250
  872. package/src/hooks/useTeammateViewAutoExit.ts +0 -63
  873. package/src/hooks/useTeleportResume.tsx +0 -85
  874. package/src/hooks/useTerminalSize.ts +0 -15
  875. package/src/hooks/useTextInput.ts +0 -529
  876. package/src/hooks/useTimeout.ts +0 -14
  877. package/src/hooks/useTurnDiffs.ts +0 -213
  878. package/src/hooks/useTypeahead.tsx +0 -1385
  879. package/src/hooks/useUpdateNotification.ts +0 -34
  880. package/src/hooks/useVimInput.ts +0 -316
  881. package/src/hooks/useVirtualScroll.ts +0 -721
  882. package/src/hooks/useVoice.ts +0 -1144
  883. package/src/hooks/useVoiceEnabled.ts +0 -25
  884. package/src/hooks/useVoiceIntegration.tsx +0 -677
  885. package/src/hunter.ts +0 -1
  886. package/src/ink/Ansi.tsx +0 -292
  887. package/src/ink/bidi.ts +0 -139
  888. package/src/ink/clearTerminal.ts +0 -74
  889. package/src/ink/colorize.ts +0 -231
  890. package/src/ink/components/AlternateScreen.tsx +0 -80
  891. package/src/ink/components/App.tsx +0 -658
  892. package/src/ink/components/AppContext.ts +0 -21
  893. package/src/ink/components/Box.tsx +0 -214
  894. package/src/ink/components/Button.tsx +0 -192
  895. package/src/ink/components/ClockContext.tsx +0 -112
  896. package/src/ink/components/CursorDeclarationContext.ts +0 -32
  897. package/src/ink/components/ErrorOverview.tsx +0 -109
  898. package/src/ink/components/Link.tsx +0 -42
  899. package/src/ink/components/Newline.tsx +0 -39
  900. package/src/ink/components/NoSelect.tsx +0 -68
  901. package/src/ink/components/RawAnsi.tsx +0 -57
  902. package/src/ink/components/ScrollBox.tsx +0 -237
  903. package/src/ink/components/Spacer.tsx +0 -20
  904. package/src/ink/components/StdinContext.ts +0 -49
  905. package/src/ink/components/TerminalFocusContext.tsx +0 -52
  906. package/src/ink/components/TerminalSizeContext.tsx +0 -7
  907. package/src/ink/components/Text.tsx +0 -254
  908. package/src/ink/constants.ts +0 -2
  909. package/src/ink/cursor.ts +0 -1
  910. package/src/ink/devtools.ts +0 -2
  911. package/src/ink/dom.ts +0 -484
  912. package/src/ink/events/click-event.ts +0 -38
  913. package/src/ink/events/dispatcher.ts +0 -233
  914. package/src/ink/events/emitter.ts +0 -39
  915. package/src/ink/events/event-handlers.ts +0 -73
  916. package/src/ink/events/event.ts +0 -11
  917. package/src/ink/events/focus-event.ts +0 -21
  918. package/src/ink/events/input-event.ts +0 -205
  919. package/src/ink/events/keyboard-event.ts +0 -51
  920. package/src/ink/events/paste-event.ts +0 -1
  921. package/src/ink/events/resize-event.ts +0 -1
  922. package/src/ink/events/terminal-event.ts +0 -107
  923. package/src/ink/events/terminal-focus-event.ts +0 -19
  924. package/src/ink/focus.ts +0 -181
  925. package/src/ink/frame.ts +0 -124
  926. package/src/ink/get-max-width.ts +0 -27
  927. package/src/ink/global.d.ts +0 -1
  928. package/src/ink/hit-test.ts +0 -130
  929. package/src/ink/hooks/use-animation-frame.ts +0 -57
  930. package/src/ink/hooks/use-app.ts +0 -8
  931. package/src/ink/hooks/use-declared-cursor.ts +0 -73
  932. package/src/ink/hooks/use-input.ts +0 -92
  933. package/src/ink/hooks/use-interval.ts +0 -67
  934. package/src/ink/hooks/use-search-highlight.ts +0 -53
  935. package/src/ink/hooks/use-selection.ts +0 -104
  936. package/src/ink/hooks/use-stdin.ts +0 -8
  937. package/src/ink/hooks/use-tab-status.ts +0 -72
  938. package/src/ink/hooks/use-terminal-focus.ts +0 -16
  939. package/src/ink/hooks/use-terminal-title.ts +0 -31
  940. package/src/ink/hooks/use-terminal-viewport.ts +0 -96
  941. package/src/ink/ink.tsx +0 -1723
  942. package/src/ink/instances.ts +0 -10
  943. package/src/ink/layout/engine.ts +0 -6
  944. package/src/ink/layout/geometry.ts +0 -97
  945. package/src/ink/layout/node.ts +0 -152
  946. package/src/ink/layout/yoga.ts +0 -308
  947. package/src/ink/line-width-cache.ts +0 -24
  948. package/src/ink/log-update.ts +0 -773
  949. package/src/ink/measure-element.ts +0 -23
  950. package/src/ink/measure-text.ts +0 -47
  951. package/src/ink/node-cache.ts +0 -54
  952. package/src/ink/optimizer.ts +0 -93
  953. package/src/ink/output.ts +0 -797
  954. package/src/ink/parse-keypress.ts +0 -801
  955. package/src/ink/reconciler.ts +0 -512
  956. package/src/ink/render-border.ts +0 -231
  957. package/src/ink/render-node-to-output.ts +0 -1462
  958. package/src/ink/render-to-screen.ts +0 -231
  959. package/src/ink/renderer.ts +0 -178
  960. package/src/ink/root.ts +0 -184
  961. package/src/ink/screen.ts +0 -1486
  962. package/src/ink/searchHighlight.ts +0 -93
  963. package/src/ink/selection.ts +0 -917
  964. package/src/ink/squash-text-nodes.ts +0 -92
  965. package/src/ink/stringWidth.ts +0 -222
  966. package/src/ink/styles.ts +0 -771
  967. package/src/ink/supports-hyperlinks.ts +0 -57
  968. package/src/ink/tabstops.ts +0 -46
  969. package/src/ink/terminal-focus-state.ts +0 -47
  970. package/src/ink/terminal-querier.ts +0 -212
  971. package/src/ink/terminal.ts +0 -248
  972. package/src/ink/termio/ansi.ts +0 -75
  973. package/src/ink/termio/csi.ts +0 -319
  974. package/src/ink/termio/dec.ts +0 -60
  975. package/src/ink/termio/esc.ts +0 -67
  976. package/src/ink/termio/osc.ts +0 -493
  977. package/src/ink/termio/parser.ts +0 -394
  978. package/src/ink/termio/sgr.ts +0 -308
  979. package/src/ink/termio/tokenize.ts +0 -319
  980. package/src/ink/termio/types.ts +0 -236
  981. package/src/ink/termio.ts +0 -42
  982. package/src/ink/useTerminalNotification.ts +0 -126
  983. package/src/ink/warn.ts +0 -9
  984. package/src/ink/widest-line.ts +0 -19
  985. package/src/ink/wrap-text.ts +0 -74
  986. package/src/ink/wrapAnsi.ts +0 -20
  987. package/src/ink.ts +0 -85
  988. package/src/interactiveHelpers.tsx +0 -366
  989. package/src/jobs/classifier.ts +0 -2
  990. package/src/keybindings/KeybindingContext.tsx +0 -243
  991. package/src/keybindings/KeybindingProviderSetup.tsx +0 -308
  992. package/src/keybindings/defaultBindings.ts +0 -340
  993. package/src/keybindings/loadUserBindings.ts +0 -472
  994. package/src/keybindings/match.ts +0 -120
  995. package/src/keybindings/parser.ts +0 -203
  996. package/src/keybindings/reservedShortcuts.ts +0 -127
  997. package/src/keybindings/resolver.ts +0 -244
  998. package/src/keybindings/schema.ts +0 -236
  999. package/src/keybindings/shortcutFormat.ts +0 -63
  1000. package/src/keybindings/template.ts +0 -52
  1001. package/src/keybindings/types.ts +0 -3
  1002. package/src/keybindings/useKeybinding.ts +0 -196
  1003. package/src/keybindings/useShortcutDisplay.ts +0 -59
  1004. package/src/keybindings/validate.ts +0 -498
  1005. package/src/main.tsx +0 -4684
  1006. package/src/memdir/findRelevantMemories.ts +0 -141
  1007. package/src/memdir/memdir.ts +0 -507
  1008. package/src/memdir/memoryAge.ts +0 -53
  1009. package/src/memdir/memoryScan.ts +0 -94
  1010. package/src/memdir/memoryShapeTelemetry.ts +0 -2
  1011. package/src/memdir/memoryTypes.ts +0 -271
  1012. package/src/memdir/paths.ts +0 -278
  1013. package/src/memdir/teamMemPaths.ts +0 -292
  1014. package/src/memdir/teamMemPrompts.ts +0 -100
  1015. package/src/migrations/migrateAutoUpdatesToSettings.ts +0 -61
  1016. package/src/migrations/migrateBypassPermissionsAcceptedToSettings.ts +0 -40
  1017. package/src/migrations/migrateEnableAllProjectMcpServersToSettings.ts +0 -118
  1018. package/src/migrations/migrateFennecToOpus.ts +0 -45
  1019. package/src/migrations/migrateLegacyOpusToCurrent.ts +0 -57
  1020. package/src/migrations/migrateOpusToOpus1m.ts +0 -43
  1021. package/src/migrations/migrateReplBridgeEnabledToRemoteControlAtStartup.ts +0 -22
  1022. package/src/migrations/migrateSonnet1mToSonnet45.ts +0 -48
  1023. package/src/migrations/migrateSonnet45ToSonnet46.ts +0 -67
  1024. package/src/migrations/resetAutoModeOptInForDefaultOffer.ts +0 -51
  1025. package/src/migrations/resetProToOpusDefault.ts +0 -51
  1026. package/src/moreright/useMoreRight.tsx +0 -26
  1027. package/src/native-ts/color-diff/index.ts +0 -1001
  1028. package/src/native-ts/file-index/index.ts +0 -370
  1029. package/src/native-ts/yoga-layout/enums.ts +0 -134
  1030. package/src/native-ts/yoga-layout/index.ts +0 -2578
  1031. package/src/outputStyles/loadOutputStylesDir.ts +0 -98
  1032. package/src/plugins/builtinPlugins.ts +0 -159
  1033. package/src/plugins/bundled/index.ts +0 -23
  1034. package/src/proactive/index.ts +0 -1
  1035. package/src/proactive/useProactive.ts +0 -1
  1036. package/src/projectOnboardingState.ts +0 -83
  1037. package/src/query/config.ts +0 -46
  1038. package/src/query/deps.ts +0 -33
  1039. package/src/query/stopHooks.ts +0 -473
  1040. package/src/query/tokenBudget.ts +0 -93
  1041. package/src/query/transitions.ts +0 -2
  1042. package/src/query.ts +0 -1729
  1043. package/src/remote/RemoteSessionManager.ts +0 -343
  1044. package/src/remote/SessionsWebSocket.ts +0 -404
  1045. package/src/remote/remotePermissionBridge.ts +0 -78
  1046. package/src/remote/sdkMessageAdapter.ts +0 -302
  1047. package/src/replLauncher.tsx +0 -23
  1048. package/src/schemas/hooks.ts +0 -222
  1049. package/src/screens/Doctor.tsx +0 -575
  1050. package/src/screens/REPL.tsx +0 -5006
  1051. package/src/screens/ResumeConversation.tsx +0 -399
  1052. package/src/self-hosted-runner/main.ts +0 -2
  1053. package/src/server/backends/dangerousBackend.ts +0 -2
  1054. package/src/server/connectHeadless.ts +0 -2
  1055. package/src/server/createDirectConnectSession.ts +0 -88
  1056. package/src/server/directConnectManager.ts +0 -213
  1057. package/src/server/lockfile.ts +0 -2
  1058. package/src/server/parseConnectUrl.ts +0 -2
  1059. package/src/server/server.ts +0 -2
  1060. package/src/server/serverBanner.ts +0 -2
  1061. package/src/server/serverLog.ts +0 -2
  1062. package/src/server/sessionManager.ts +0 -2
  1063. package/src/server/types.ts +0 -57
  1064. package/src/services/AgentSummary/agentSummary.ts +0 -179
  1065. package/src/services/MagicDocs/magicDocs.ts +0 -254
  1066. package/src/services/MagicDocs/prompts.ts +0 -127
  1067. package/src/services/PromptSuggestion/promptSuggestion.ts +0 -523
  1068. package/src/services/PromptSuggestion/speculation.ts +0 -991
  1069. package/src/services/SessionMemory/prompts.ts +0 -324
  1070. package/src/services/SessionMemory/sessionMemory.ts +0 -495
  1071. package/src/services/SessionMemory/sessionMemoryUtils.ts +0 -207
  1072. package/src/services/analytics/config.ts +0 -38
  1073. package/src/services/analytics/datadog.ts +0 -307
  1074. package/src/services/analytics/firstPartyEventLogger.ts +0 -449
  1075. package/src/services/analytics/firstPartyEventLoggingExporter.ts +0 -806
  1076. package/src/services/analytics/growthbook.ts +0 -1155
  1077. package/src/services/analytics/index.ts +0 -173
  1078. package/src/services/analytics/metadata.ts +0 -973
  1079. package/src/services/analytics/sink.ts +0 -114
  1080. package/src/services/analytics/sinkKillswitch.ts +0 -25
  1081. package/src/services/api/adminRequests.ts +0 -119
  1082. package/src/services/api/bootstrap.ts +0 -141
  1083. package/src/services/api/claude.ts +0 -3419
  1084. package/src/services/api/client.ts +0 -389
  1085. package/src/services/api/dumpPrompts.ts +0 -226
  1086. package/src/services/api/emptyUsage.ts +0 -22
  1087. package/src/services/api/errorUtils.ts +0 -260
  1088. package/src/services/api/errors.ts +0 -1205
  1089. package/src/services/api/filesApi.ts +0 -748
  1090. package/src/services/api/firstTokenDate.ts +0 -60
  1091. package/src/services/api/grove.ts +0 -357
  1092. package/src/services/api/logging.ts +0 -788
  1093. package/src/services/api/metricsOptOut.ts +0 -159
  1094. package/src/services/api/overageCreditGrant.ts +0 -137
  1095. package/src/services/api/promptCacheBreakDetection.ts +0 -727
  1096. package/src/services/api/referral.ts +0 -281
  1097. package/src/services/api/sessionIngress.ts +0 -514
  1098. package/src/services/api/ultrareviewQuota.ts +0 -38
  1099. package/src/services/api/usage.ts +0 -63
  1100. package/src/services/api/withRetry.ts +0 -818
  1101. package/src/services/autoDream/autoDream.ts +0 -324
  1102. package/src/services/autoDream/config.ts +0 -21
  1103. package/src/services/autoDream/consolidationLock.ts +0 -140
  1104. package/src/services/autoDream/consolidationPrompt.ts +0 -65
  1105. package/src/services/autoDream/dream.ts +0 -1
  1106. package/src/services/awaySummary.ts +0 -74
  1107. package/src/services/claudeAiLimits.ts +0 -515
  1108. package/src/services/claudeAiLimitsHook.ts +0 -23
  1109. package/src/services/compact/apiMicrocompact.ts +0 -153
  1110. package/src/services/compact/autoCompact.ts +0 -351
  1111. package/src/services/compact/cachedMCConfig.ts +0 -2
  1112. package/src/services/compact/cachedMicrocompact.ts +0 -2
  1113. package/src/services/compact/compact.ts +0 -1705
  1114. package/src/services/compact/compactWarningHook.ts +0 -16
  1115. package/src/services/compact/compactWarningState.ts +0 -18
  1116. package/src/services/compact/grouping.ts +0 -63
  1117. package/src/services/compact/microCompact.ts +0 -530
  1118. package/src/services/compact/postCompactCleanup.ts +0 -77
  1119. package/src/services/compact/prompt.ts +0 -374
  1120. package/src/services/compact/reactiveCompact.ts +0 -2
  1121. package/src/services/compact/sessionMemoryCompact.ts +0 -630
  1122. package/src/services/compact/snipCompact.ts +0 -1
  1123. package/src/services/compact/snipProjection.ts +0 -2
  1124. package/src/services/compact/timeBasedMCConfig.ts +0 -43
  1125. package/src/services/contextCollapse/index.ts +0 -2
  1126. package/src/services/contextCollapse/operations.ts +0 -2
  1127. package/src/services/contextCollapse/persist.ts +0 -2
  1128. package/src/services/diagnosticTracking.ts +0 -397
  1129. package/src/services/extractMemories/extractMemories.ts +0 -615
  1130. package/src/services/extractMemories/prompts.ts +0 -154
  1131. package/src/services/internalLogging.ts +0 -90
  1132. package/src/services/lsp/LSPClient.ts +0 -447
  1133. package/src/services/lsp/LSPDiagnosticRegistry.ts +0 -386
  1134. package/src/services/lsp/LSPServerInstance.ts +0 -511
  1135. package/src/services/lsp/LSPServerManager.ts +0 -420
  1136. package/src/services/lsp/config.ts +0 -79
  1137. package/src/services/lsp/manager.ts +0 -289
  1138. package/src/services/lsp/passiveFeedback.ts +0 -328
  1139. package/src/services/lsp/types.ts +0 -3
  1140. package/src/services/mcp/InProcessTransport.ts +0 -63
  1141. package/src/services/mcp/MCPConnectionManager.tsx +0 -73
  1142. package/src/services/mcp/SdkControlTransport.ts +0 -136
  1143. package/src/services/mcp/auth.ts +0 -2465
  1144. package/src/services/mcp/channelAllowlist.ts +0 -76
  1145. package/src/services/mcp/channelNotification.ts +0 -316
  1146. package/src/services/mcp/channelPermissions.ts +0 -240
  1147. package/src/services/mcp/claudeai.ts +0 -164
  1148. package/src/services/mcp/client.ts +0 -3348
  1149. package/src/services/mcp/config.ts +0 -1578
  1150. package/src/services/mcp/elicitationHandler.ts +0 -313
  1151. package/src/services/mcp/envExpansion.ts +0 -38
  1152. package/src/services/mcp/headersHelper.ts +0 -138
  1153. package/src/services/mcp/mcpStringUtils.ts +0 -106
  1154. package/src/services/mcp/normalization.ts +0 -23
  1155. package/src/services/mcp/oauthPort.ts +0 -78
  1156. package/src/services/mcp/officialRegistry.ts +0 -72
  1157. package/src/services/mcp/types.ts +0 -258
  1158. package/src/services/mcp/useManageMCPConnections.ts +0 -1141
  1159. package/src/services/mcp/utils.ts +0 -575
  1160. package/src/services/mcp/vscodeSdkMcp.ts +0 -112
  1161. package/src/services/mcp/xaa.ts +0 -511
  1162. package/src/services/mcp/xaaIdpLogin.ts +0 -487
  1163. package/src/services/mcpServerApproval.tsx +0 -41
  1164. package/src/services/mockRateLimits.ts +0 -882
  1165. package/src/services/notifier.ts +0 -156
  1166. package/src/services/oauth/auth-code-listener.ts +0 -211
  1167. package/src/services/oauth/client.ts +0 -566
  1168. package/src/services/oauth/crypto.ts +0 -23
  1169. package/src/services/oauth/getOauthProfile.ts +0 -53
  1170. package/src/services/oauth/index.ts +0 -198
  1171. package/src/services/oauth/types.ts +0 -7
  1172. package/src/services/plugins/PluginInstallationManager.ts +0 -184
  1173. package/src/services/plugins/pluginCliCommands.ts +0 -344
  1174. package/src/services/plugins/pluginOperations.ts +0 -1088
  1175. package/src/services/policyLimits/index.ts +0 -663
  1176. package/src/services/policyLimits/types.ts +0 -27
  1177. package/src/services/preventSleep.ts +0 -165
  1178. package/src/services/rateLimitMessages.ts +0 -344
  1179. package/src/services/rateLimitMocking.ts +0 -144
  1180. package/src/services/remoteManagedSettings/index.ts +0 -638
  1181. package/src/services/remoteManagedSettings/securityCheck.tsx +0 -74
  1182. package/src/services/remoteManagedSettings/syncCache.ts +0 -112
  1183. package/src/services/remoteManagedSettings/syncCacheState.ts +0 -96
  1184. package/src/services/remoteManagedSettings/types.ts +0 -31
  1185. package/src/services/sessionTranscript/sessionTranscript.ts +0 -2
  1186. package/src/services/settingsSync/index.ts +0 -581
  1187. package/src/services/settingsSync/types.ts +0 -67
  1188. package/src/services/skillSearch/featureCheck.ts +0 -2
  1189. package/src/services/skillSearch/localSearch.ts +0 -2
  1190. package/src/services/skillSearch/prefetch.ts +0 -2
  1191. package/src/services/skillSearch/remoteSkillLoader.ts +0 -2
  1192. package/src/services/skillSearch/remoteSkillState.ts +0 -2
  1193. package/src/services/skillSearch/signals.ts +0 -1
  1194. package/src/services/skillSearch/telemetry.ts +0 -2
  1195. package/src/services/teamMemorySync/index.ts +0 -1256
  1196. package/src/services/teamMemorySync/secretScanner.ts +0 -324
  1197. package/src/services/teamMemorySync/teamMemSecretGuard.ts +0 -44
  1198. package/src/services/teamMemorySync/types.ts +0 -156
  1199. package/src/services/teamMemorySync/watcher.ts +0 -387
  1200. package/src/services/tips/tipHistory.ts +0 -17
  1201. package/src/services/tips/tipRegistry.ts +0 -686
  1202. package/src/services/tips/tipScheduler.ts +0 -58
  1203. package/src/services/tips/types.ts +0 -5
  1204. package/src/services/tokenEstimation.ts +0 -495
  1205. package/src/services/toolUseSummary/toolUseSummaryGenerator.ts +0 -112
  1206. package/src/services/tools/StreamingToolExecutor.ts +0 -530
  1207. package/src/services/tools/toolExecution.ts +0 -1745
  1208. package/src/services/tools/toolHooks.ts +0 -650
  1209. package/src/services/tools/toolOrchestration.ts +0 -188
  1210. package/src/services/vcr.ts +0 -406
  1211. package/src/services/voice.ts +0 -525
  1212. package/src/services/voiceKeyterms.ts +0 -106
  1213. package/src/services/voiceStreamSTT.ts +0 -544
  1214. package/src/setup.ts +0 -477
  1215. package/src/shims/bun-bundle.ts +0 -18
  1216. package/src/shims/macro.ts +0 -12
  1217. package/src/skills/bundled/batch.ts +0 -124
  1218. package/src/skills/bundled/claude-api/SKILL.md +0 -1
  1219. package/src/skills/bundled/claude-api/SKILL.md.ts +0 -1
  1220. package/src/skills/bundled/claude-api/csharp/claude-api.md +0 -1
  1221. package/src/skills/bundled/claude-api/csharp/claude-api.md.ts +0 -1
  1222. package/src/skills/bundled/claude-api/curl/examples.md +0 -1
  1223. package/src/skills/bundled/claude-api/curl/examples.md.ts +0 -1
  1224. package/src/skills/bundled/claude-api/go/claude-api.md +0 -1
  1225. package/src/skills/bundled/claude-api/go/claude-api.md.ts +0 -1
  1226. package/src/skills/bundled/claude-api/java/claude-api.md +0 -1
  1227. package/src/skills/bundled/claude-api/java/claude-api.md.ts +0 -1
  1228. package/src/skills/bundled/claude-api/php/claude-api.md +0 -1
  1229. package/src/skills/bundled/claude-api/php/claude-api.md.ts +0 -1
  1230. package/src/skills/bundled/claude-api/python/agent-sdk/README.md +0 -1
  1231. package/src/skills/bundled/claude-api/python/agent-sdk/README.md.ts +0 -1
  1232. package/src/skills/bundled/claude-api/python/agent-sdk/patterns.md +0 -1
  1233. package/src/skills/bundled/claude-api/python/agent-sdk/patterns.md.ts +0 -1
  1234. package/src/skills/bundled/claude-api/python/claude-api/README.md +0 -1
  1235. package/src/skills/bundled/claude-api/python/claude-api/README.md.ts +0 -1
  1236. package/src/skills/bundled/claude-api/python/claude-api/batches.md +0 -1
  1237. package/src/skills/bundled/claude-api/python/claude-api/batches.md.ts +0 -1
  1238. package/src/skills/bundled/claude-api/python/claude-api/files-api.md +0 -1
  1239. package/src/skills/bundled/claude-api/python/claude-api/files-api.md.ts +0 -1
  1240. package/src/skills/bundled/claude-api/python/claude-api/streaming.md +0 -1
  1241. package/src/skills/bundled/claude-api/python/claude-api/streaming.md.ts +0 -1
  1242. package/src/skills/bundled/claude-api/python/claude-api/tool-use.md +0 -1
  1243. package/src/skills/bundled/claude-api/python/claude-api/tool-use.md.ts +0 -1
  1244. package/src/skills/bundled/claude-api/ruby/claude-api.md +0 -1
  1245. package/src/skills/bundled/claude-api/ruby/claude-api.md.ts +0 -1
  1246. package/src/skills/bundled/claude-api/shared/error-codes.md +0 -1
  1247. package/src/skills/bundled/claude-api/shared/error-codes.md.ts +0 -1
  1248. package/src/skills/bundled/claude-api/shared/live-sources.md +0 -1
  1249. package/src/skills/bundled/claude-api/shared/live-sources.md.ts +0 -1
  1250. package/src/skills/bundled/claude-api/shared/models.md +0 -1
  1251. package/src/skills/bundled/claude-api/shared/models.md.ts +0 -1
  1252. package/src/skills/bundled/claude-api/shared/prompt-caching.md +0 -1
  1253. package/src/skills/bundled/claude-api/shared/prompt-caching.md.ts +0 -1
  1254. package/src/skills/bundled/claude-api/shared/tool-use-concepts.md +0 -1
  1255. package/src/skills/bundled/claude-api/shared/tool-use-concepts.md.ts +0 -1
  1256. package/src/skills/bundled/claude-api/typescript/agent-sdk/README.md +0 -1
  1257. package/src/skills/bundled/claude-api/typescript/agent-sdk/README.md.ts +0 -1
  1258. package/src/skills/bundled/claude-api/typescript/agent-sdk/patterns.md +0 -1
  1259. package/src/skills/bundled/claude-api/typescript/agent-sdk/patterns.md.ts +0 -1
  1260. package/src/skills/bundled/claude-api/typescript/claude-api/README.md +0 -1
  1261. package/src/skills/bundled/claude-api/typescript/claude-api/README.md.ts +0 -1
  1262. package/src/skills/bundled/claude-api/typescript/claude-api/batches.md +0 -1
  1263. package/src/skills/bundled/claude-api/typescript/claude-api/batches.md.ts +0 -1
  1264. package/src/skills/bundled/claude-api/typescript/claude-api/files-api.md +0 -1
  1265. package/src/skills/bundled/claude-api/typescript/claude-api/files-api.md.ts +0 -1
  1266. package/src/skills/bundled/claude-api/typescript/claude-api/streaming.md +0 -1
  1267. package/src/skills/bundled/claude-api/typescript/claude-api/streaming.md.ts +0 -1
  1268. package/src/skills/bundled/claude-api/typescript/claude-api/tool-use.md +0 -1
  1269. package/src/skills/bundled/claude-api/typescript/claude-api/tool-use.md.ts +0 -1
  1270. package/src/skills/bundled/claudeApi.ts +0 -196
  1271. package/src/skills/bundled/claudeApiContent.ts +0 -75
  1272. package/src/skills/bundled/claudeInChrome.ts +0 -34
  1273. package/src/skills/bundled/debug.ts +0 -103
  1274. package/src/skills/bundled/dream.ts +0 -1
  1275. package/src/skills/bundled/hunter.ts +0 -1
  1276. package/src/skills/bundled/index.ts +0 -79
  1277. package/src/skills/bundled/keybindings.ts +0 -339
  1278. package/src/skills/bundled/loop.ts +0 -92
  1279. package/src/skills/bundled/loremIpsum.ts +0 -282
  1280. package/src/skills/bundled/remember.ts +0 -82
  1281. package/src/skills/bundled/runSkillGenerator.ts +0 -1
  1282. package/src/skills/bundled/scheduleRemoteAgents.ts +0 -447
  1283. package/src/skills/bundled/simplify.ts +0 -69
  1284. package/src/skills/bundled/skillify.ts +0 -197
  1285. package/src/skills/bundled/stuck.ts +0 -79
  1286. package/src/skills/bundled/updateConfig.ts +0 -475
  1287. package/src/skills/bundled/verify/SKILL.md +0 -1
  1288. package/src/skills/bundled/verify/SKILL.md.ts +0 -1
  1289. package/src/skills/bundled/verify/examples/cli.md +0 -1
  1290. package/src/skills/bundled/verify/examples/cli.md.ts +0 -1
  1291. package/src/skills/bundled/verify/examples/server.md +0 -1
  1292. package/src/skills/bundled/verify/examples/server.md.ts +0 -1
  1293. package/src/skills/bundled/verify.ts +0 -30
  1294. package/src/skills/bundled/verifyContent.ts +0 -13
  1295. package/src/skills/bundledSkills.ts +0 -220
  1296. package/src/skills/loadSkillsDir.ts +0 -1086
  1297. package/src/skills/mcpSkillBuilders.ts +0 -44
  1298. package/src/skills/mcpSkills.ts +0 -2
  1299. package/src/ssh/SSHSessionManager.ts +0 -1
  1300. package/src/ssh/createSSHSession.ts +0 -1
  1301. package/src/state/AppState.tsx +0 -200
  1302. package/src/state/AppStateStore.ts +0 -569
  1303. package/src/state/onChangeAppState.ts +0 -171
  1304. package/src/state/selectors.ts +0 -76
  1305. package/src/state/store.ts +0 -34
  1306. package/src/state/teammateViewHelpers.ts +0 -141
  1307. package/src/tasks/DreamTask/DreamTask.ts +0 -157
  1308. package/src/tasks/InProcessTeammateTask/InProcessTeammateTask.tsx +0 -126
  1309. package/src/tasks/InProcessTeammateTask/types.ts +0 -121
  1310. package/src/tasks/LocalAgentTask/LocalAgentTask.tsx +0 -683
  1311. package/src/tasks/LocalMainSessionTask.ts +0 -479
  1312. package/src/tasks/LocalShellTask/LocalShellTask.tsx +0 -523
  1313. package/src/tasks/LocalShellTask/guards.ts +0 -41
  1314. package/src/tasks/LocalShellTask/killShellTasks.ts +0 -76
  1315. package/src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts +0 -1
  1316. package/src/tasks/MonitorMcpTask/MonitorMcpTask.ts +0 -1
  1317. package/src/tasks/RemoteAgentTask/RemoteAgentTask.tsx +0 -856
  1318. package/src/tasks/pillLabel.ts +0 -82
  1319. package/src/tasks/stopTask.ts +0 -100
  1320. package/src/tasks/types.ts +0 -46
  1321. package/src/tasks.ts +0 -39
  1322. package/src/tools/AgentTool/AgentTool.tsx +0 -1398
  1323. package/src/tools/AgentTool/UI.tsx +0 -872
  1324. package/src/tools/AgentTool/agentColorManager.ts +0 -66
  1325. package/src/tools/AgentTool/agentDisplay.ts +0 -104
  1326. package/src/tools/AgentTool/agentMemory.ts +0 -177
  1327. package/src/tools/AgentTool/agentMemorySnapshot.ts +0 -197
  1328. package/src/tools/AgentTool/agentToolUtils.ts +0 -686
  1329. package/src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts +0 -205
  1330. package/src/tools/AgentTool/built-in/exploreAgent.ts +0 -87
  1331. package/src/tools/AgentTool/built-in/generalPurposeAgent.ts +0 -34
  1332. package/src/tools/AgentTool/built-in/planAgent.ts +0 -92
  1333. package/src/tools/AgentTool/built-in/statuslineSetup.ts +0 -144
  1334. package/src/tools/AgentTool/built-in/verificationAgent.ts +0 -152
  1335. package/src/tools/AgentTool/built-in/warpGrepAgent.ts +0 -67
  1336. package/src/tools/AgentTool/builtInAgents.ts +0 -73
  1337. package/src/tools/AgentTool/constants.ts +0 -12
  1338. package/src/tools/AgentTool/forkSubagent.ts +0 -210
  1339. package/src/tools/AgentTool/loadAgentsDir.ts +0 -755
  1340. package/src/tools/AgentTool/prompt.ts +0 -288
  1341. package/src/tools/AgentTool/resumeAgent.ts +0 -265
  1342. package/src/tools/AgentTool/runAgent.ts +0 -973
  1343. package/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx +0 -266
  1344. package/src/tools/AskUserQuestionTool/prompt.ts +0 -44
  1345. package/src/tools/BashTool/BashTool.tsx +0 -1144
  1346. package/src/tools/BashTool/BashToolResultMessage.tsx +0 -191
  1347. package/src/tools/BashTool/UI.tsx +0 -185
  1348. package/src/tools/BashTool/bashCommandHelpers.ts +0 -265
  1349. package/src/tools/BashTool/bashPermissions.ts +0 -2621
  1350. package/src/tools/BashTool/bashSecurity.ts +0 -2592
  1351. package/src/tools/BashTool/commandSemantics.ts +0 -140
  1352. package/src/tools/BashTool/commentLabel.ts +0 -13
  1353. package/src/tools/BashTool/destructiveCommandWarning.ts +0 -102
  1354. package/src/tools/BashTool/modeValidation.ts +0 -115
  1355. package/src/tools/BashTool/pathValidation.ts +0 -1303
  1356. package/src/tools/BashTool/prompt.ts +0 -369
  1357. package/src/tools/BashTool/readOnlyValidation.ts +0 -1990
  1358. package/src/tools/BashTool/sedEditParser.ts +0 -322
  1359. package/src/tools/BashTool/sedValidation.ts +0 -684
  1360. package/src/tools/BashTool/shouldUseSandbox.ts +0 -153
  1361. package/src/tools/BashTool/toolName.ts +0 -2
  1362. package/src/tools/BashTool/utils.ts +0 -223
  1363. package/src/tools/BriefTool/BriefTool.ts +0 -204
  1364. package/src/tools/BriefTool/UI.tsx +0 -101
  1365. package/src/tools/BriefTool/attachments.ts +0 -110
  1366. package/src/tools/BriefTool/prompt.ts +0 -22
  1367. package/src/tools/BriefTool/upload.ts +0 -174
  1368. package/src/tools/ConfigTool/ConfigTool.ts +0 -467
  1369. package/src/tools/ConfigTool/UI.tsx +0 -38
  1370. package/src/tools/ConfigTool/constants.ts +0 -1
  1371. package/src/tools/ConfigTool/prompt.ts +0 -93
  1372. package/src/tools/ConfigTool/supportedSettings.ts +0 -211
  1373. package/src/tools/CtxInspectTool/CtxInspectTool.ts +0 -1
  1374. package/src/tools/DiscoverSkillsTool/prompt.ts +0 -2
  1375. package/src/tools/EnterPlanModeTool/EnterPlanModeTool.ts +0 -126
  1376. package/src/tools/EnterPlanModeTool/UI.tsx +0 -33
  1377. package/src/tools/EnterPlanModeTool/constants.ts +0 -1
  1378. package/src/tools/EnterPlanModeTool/prompt.ts +0 -170
  1379. package/src/tools/EnterWorktreeTool/EnterWorktreeTool.ts +0 -127
  1380. package/src/tools/EnterWorktreeTool/UI.tsx +0 -20
  1381. package/src/tools/EnterWorktreeTool/constants.ts +0 -1
  1382. package/src/tools/EnterWorktreeTool/prompt.ts +0 -30
  1383. package/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts +0 -493
  1384. package/src/tools/ExitPlanModeTool/UI.tsx +0 -82
  1385. package/src/tools/ExitPlanModeTool/constants.ts +0 -2
  1386. package/src/tools/ExitPlanModeTool/prompt.ts +0 -29
  1387. package/src/tools/ExitWorktreeTool/ExitWorktreeTool.ts +0 -329
  1388. package/src/tools/ExitWorktreeTool/UI.tsx +0 -25
  1389. package/src/tools/ExitWorktreeTool/constants.ts +0 -1
  1390. package/src/tools/ExitWorktreeTool/prompt.ts +0 -32
  1391. package/src/tools/FileEditTool/FileEditTool.ts +0 -625
  1392. package/src/tools/FileEditTool/UI.tsx +0 -289
  1393. package/src/tools/FileEditTool/constants.ts +0 -11
  1394. package/src/tools/FileEditTool/prompt.ts +0 -28
  1395. package/src/tools/FileEditTool/types.ts +0 -85
  1396. package/src/tools/FileEditTool/utils.ts +0 -775
  1397. package/src/tools/FileReadTool/FileReadTool.ts +0 -1183
  1398. package/src/tools/FileReadTool/UI.tsx +0 -185
  1399. package/src/tools/FileReadTool/imageProcessor.ts +0 -94
  1400. package/src/tools/FileReadTool/limits.ts +0 -92
  1401. package/src/tools/FileReadTool/prompt.ts +0 -49
  1402. package/src/tools/FileWriteTool/FileWriteTool.ts +0 -434
  1403. package/src/tools/FileWriteTool/UI.tsx +0 -405
  1404. package/src/tools/FileWriteTool/prompt.ts +0 -18
  1405. package/src/tools/GlobTool/GlobTool.ts +0 -198
  1406. package/src/tools/GlobTool/UI.tsx +0 -63
  1407. package/src/tools/GlobTool/prompt.ts +0 -7
  1408. package/src/tools/GrepTool/GrepTool.ts +0 -577
  1409. package/src/tools/GrepTool/UI.tsx +0 -201
  1410. package/src/tools/GrepTool/prompt.ts +0 -18
  1411. package/src/tools/LSPTool/LSPTool.ts +0 -860
  1412. package/src/tools/LSPTool/UI.tsx +0 -228
  1413. package/src/tools/LSPTool/formatters.ts +0 -592
  1414. package/src/tools/LSPTool/prompt.ts +0 -21
  1415. package/src/tools/LSPTool/schemas.ts +0 -215
  1416. package/src/tools/LSPTool/symbolContext.ts +0 -90
  1417. package/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.ts +0 -123
  1418. package/src/tools/ListMcpResourcesTool/UI.tsx +0 -29
  1419. package/src/tools/ListMcpResourcesTool/prompt.ts +0 -20
  1420. package/src/tools/ListPeersTool/ListPeersTool.ts +0 -1
  1421. package/src/tools/MCPTool/MCPTool.ts +0 -77
  1422. package/src/tools/MCPTool/UI.tsx +0 -403
  1423. package/src/tools/MCPTool/classifyForCollapse.ts +0 -604
  1424. package/src/tools/MCPTool/prompt.ts +0 -3
  1425. package/src/tools/McpAuthTool/McpAuthTool.ts +0 -215
  1426. package/src/tools/MonitorTool/MonitorTool.ts +0 -2
  1427. package/src/tools/NotebookEditTool/NotebookEditTool.ts +0 -490
  1428. package/src/tools/NotebookEditTool/UI.tsx +0 -93
  1429. package/src/tools/NotebookEditTool/constants.ts +0 -2
  1430. package/src/tools/NotebookEditTool/prompt.ts +0 -3
  1431. package/src/tools/OverflowTestTool/OverflowTestTool.ts +0 -2
  1432. package/src/tools/PowerShellTool/PowerShellTool.tsx +0 -1001
  1433. package/src/tools/PowerShellTool/UI.tsx +0 -131
  1434. package/src/tools/PowerShellTool/clmTypes.ts +0 -211
  1435. package/src/tools/PowerShellTool/commandSemantics.ts +0 -142
  1436. package/src/tools/PowerShellTool/commonParameters.ts +0 -30
  1437. package/src/tools/PowerShellTool/destructiveCommandWarning.ts +0 -109
  1438. package/src/tools/PowerShellTool/gitSafety.ts +0 -176
  1439. package/src/tools/PowerShellTool/modeValidation.ts +0 -404
  1440. package/src/tools/PowerShellTool/pathValidation.ts +0 -2049
  1441. package/src/tools/PowerShellTool/powershellPermissions.ts +0 -1648
  1442. package/src/tools/PowerShellTool/powershellSecurity.ts +0 -1090
  1443. package/src/tools/PowerShellTool/prompt.ts +0 -145
  1444. package/src/tools/PowerShellTool/readOnlyValidation.ts +0 -1823
  1445. package/src/tools/PowerShellTool/toolName.ts +0 -2
  1446. package/src/tools/PushNotificationTool/PushNotificationTool.ts +0 -1
  1447. package/src/tools/REPLTool/REPLTool.ts +0 -1
  1448. package/src/tools/REPLTool/constants.ts +0 -46
  1449. package/src/tools/REPLTool/primitiveTools.ts +0 -39
  1450. package/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.ts +0 -158
  1451. package/src/tools/ReadMcpResourceTool/UI.tsx +0 -37
  1452. package/src/tools/ReadMcpResourceTool/prompt.ts +0 -16
  1453. package/src/tools/RemoteTriggerTool/RemoteTriggerTool.ts +0 -161
  1454. package/src/tools/RemoteTriggerTool/UI.tsx +0 -17
  1455. package/src/tools/RemoteTriggerTool/prompt.ts +0 -15
  1456. package/src/tools/ReviewArtifactTool/ReviewArtifactTool.ts +0 -2
  1457. package/src/tools/ScheduleCronTool/CronCreateTool.ts +0 -157
  1458. package/src/tools/ScheduleCronTool/CronDeleteTool.ts +0 -95
  1459. package/src/tools/ScheduleCronTool/CronListTool.ts +0 -97
  1460. package/src/tools/ScheduleCronTool/UI.tsx +0 -60
  1461. package/src/tools/ScheduleCronTool/prompt.ts +0 -135
  1462. package/src/tools/SendMessageTool/SendMessageTool.ts +0 -917
  1463. package/src/tools/SendMessageTool/UI.tsx +0 -31
  1464. package/src/tools/SendMessageTool/constants.ts +0 -1
  1465. package/src/tools/SendMessageTool/prompt.ts +0 -49
  1466. package/src/tools/SendUserFileTool/SendUserFileTool.ts +0 -1
  1467. package/src/tools/SendUserFileTool/prompt.ts +0 -2
  1468. package/src/tools/SkillTool/SkillTool.ts +0 -1108
  1469. package/src/tools/SkillTool/UI.tsx +0 -128
  1470. package/src/tools/SkillTool/constants.ts +0 -1
  1471. package/src/tools/SkillTool/prompt.ts +0 -241
  1472. package/src/tools/SleepTool/SleepTool.ts +0 -1
  1473. package/src/tools/SleepTool/prompt.ts +0 -17
  1474. package/src/tools/SnipTool/SnipTool.ts +0 -1
  1475. package/src/tools/SnipTool/prompt.ts +0 -2
  1476. package/src/tools/SubscribePRTool/SubscribePRTool.ts +0 -1
  1477. package/src/tools/SuggestBackgroundPRTool/SuggestBackgroundPRTool.ts +0 -1
  1478. package/src/tools/SyntheticOutputTool/SyntheticOutputTool.ts +0 -163
  1479. package/src/tools/TaskCreateTool/TaskCreateTool.ts +0 -138
  1480. package/src/tools/TaskCreateTool/constants.ts +0 -1
  1481. package/src/tools/TaskCreateTool/prompt.ts +0 -56
  1482. package/src/tools/TaskGetTool/TaskGetTool.ts +0 -128
  1483. package/src/tools/TaskGetTool/constants.ts +0 -1
  1484. package/src/tools/TaskGetTool/prompt.ts +0 -24
  1485. package/src/tools/TaskListTool/TaskListTool.ts +0 -116
  1486. package/src/tools/TaskListTool/constants.ts +0 -1
  1487. package/src/tools/TaskListTool/prompt.ts +0 -49
  1488. package/src/tools/TaskOutputTool/TaskOutputTool.tsx +0 -584
  1489. package/src/tools/TaskOutputTool/constants.ts +0 -1
  1490. package/src/tools/TaskStopTool/TaskStopTool.ts +0 -131
  1491. package/src/tools/TaskStopTool/UI.tsx +0 -41
  1492. package/src/tools/TaskStopTool/prompt.ts +0 -8
  1493. package/src/tools/TaskUpdateTool/TaskUpdateTool.ts +0 -406
  1494. package/src/tools/TaskUpdateTool/constants.ts +0 -1
  1495. package/src/tools/TaskUpdateTool/prompt.ts +0 -77
  1496. package/src/tools/TeamCreateTool/TeamCreateTool.ts +0 -240
  1497. package/src/tools/TeamCreateTool/UI.tsx +0 -6
  1498. package/src/tools/TeamCreateTool/constants.ts +0 -1
  1499. package/src/tools/TeamCreateTool/prompt.ts +0 -113
  1500. package/src/tools/TeamDeleteTool/TeamDeleteTool.ts +0 -139
  1501. package/src/tools/TeamDeleteTool/UI.tsx +0 -20
  1502. package/src/tools/TeamDeleteTool/constants.ts +0 -1
  1503. package/src/tools/TeamDeleteTool/prompt.ts +0 -16
  1504. package/src/tools/TerminalCaptureTool/TerminalCaptureTool.ts +0 -1
  1505. package/src/tools/TerminalCaptureTool/prompt.ts +0 -2
  1506. package/src/tools/TodoWriteTool/TodoWriteTool.ts +0 -115
  1507. package/src/tools/TodoWriteTool/constants.ts +0 -1
  1508. package/src/tools/TodoWriteTool/prompt.ts +0 -184
  1509. package/src/tools/ToolSearchTool/ToolSearchTool.ts +0 -471
  1510. package/src/tools/ToolSearchTool/constants.ts +0 -1
  1511. package/src/tools/ToolSearchTool/prompt.ts +0 -121
  1512. package/src/tools/TungstenTool/TungstenLiveMonitor.ts +0 -3
  1513. package/src/tools/TungstenTool/TungstenLiveMonitor.tsx +0 -6
  1514. package/src/tools/TungstenTool/TungstenTool.ts +0 -26
  1515. package/src/tools/VerifyPlanExecutionTool/VerifyPlanExecutionTool.ts +0 -1
  1516. package/src/tools/VerifyPlanExecutionTool/constants.ts +0 -2
  1517. package/src/tools/WarpGrepTool/WarpGrepTool.ts +0 -106
  1518. package/src/tools/WebBrowserTool/WebBrowserPanel.ts +0 -2
  1519. package/src/tools/WebBrowserTool/WebBrowserTool.ts +0 -1
  1520. package/src/tools/WebFetchTool/UI.tsx +0 -72
  1521. package/src/tools/WebFetchTool/WebFetchTool.ts +0 -318
  1522. package/src/tools/WebFetchTool/preapproved.ts +0 -166
  1523. package/src/tools/WebFetchTool/prompt.ts +0 -46
  1524. package/src/tools/WebFetchTool/utils.ts +0 -530
  1525. package/src/tools/WebSearchTool/UI.tsx +0 -101
  1526. package/src/tools/WebSearchTool/WebSearchTool.ts +0 -435
  1527. package/src/tools/WebSearchTool/prompt.ts +0 -34
  1528. package/src/tools/WorkflowTool/WorkflowPermissionRequest.ts +0 -2
  1529. package/src/tools/WorkflowTool/WorkflowTool.ts +0 -2
  1530. package/src/tools/WorkflowTool/bundled/index.ts +0 -1
  1531. package/src/tools/WorkflowTool/constants.ts +0 -1
  1532. package/src/tools/WorkflowTool/createWorkflowCommand.ts +0 -2
  1533. package/src/tools/shared/gitOperationTracking.ts +0 -277
  1534. package/src/tools/shared/spawnMultiAgent.ts +0 -1093
  1535. package/src/tools/testing/TestingPermissionTool.tsx +0 -74
  1536. package/src/tools/utils.ts +0 -40
  1537. package/src/tools.ts +0 -394
  1538. package/src/types/command.ts +0 -216
  1539. package/src/types/connectorText.ts +0 -3
  1540. package/src/types/declarations/bun-globals.d.ts +0 -19
  1541. package/src/types/declarations/external-modules.d.ts +0 -120
  1542. package/src/types/declarations/react-compiler.d.ts +0 -3
  1543. package/src/types/fileSuggestion.ts +0 -1
  1544. package/src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.ts +0 -865
  1545. package/src/types/generated/events_mono/common/v1/auth.ts +0 -100
  1546. package/src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.ts +0 -223
  1547. package/src/types/generated/google/protobuf/timestamp.ts +0 -187
  1548. package/src/types/hooks.ts +0 -290
  1549. package/src/types/ids.ts +0 -44
  1550. package/src/types/logs.ts +0 -330
  1551. package/src/types/message.ts +0 -40
  1552. package/src/types/messageQueueTypes.ts +0 -2
  1553. package/src/types/notebook.ts +0 -7
  1554. package/src/types/permissions.ts +0 -441
  1555. package/src/types/plugin.ts +0 -363
  1556. package/src/types/statusLine.ts +0 -1
  1557. package/src/types/textInputTypes.ts +0 -387
  1558. package/src/types/tools.ts +0 -11
  1559. package/src/types/utils.ts +0 -2
  1560. package/src/upstreamproxy/relay.ts +0 -455
  1561. package/src/upstreamproxy/upstreamproxy.ts +0 -285
  1562. package/src/utils/CircularBuffer.ts +0 -84
  1563. package/src/utils/Cursor.ts +0 -1530
  1564. package/src/utils/QueryGuard.ts +0 -121
  1565. package/src/utils/Shell.ts +0 -474
  1566. package/src/utils/ShellCommand.ts +0 -465
  1567. package/src/utils/abortController.ts +0 -99
  1568. package/src/utils/activityManager.ts +0 -164
  1569. package/src/utils/advisor.ts +0 -145
  1570. package/src/utils/agentContext.ts +0 -178
  1571. package/src/utils/agentId.ts +0 -99
  1572. package/src/utils/agentSwarmsEnabled.ts +0 -44
  1573. package/src/utils/agenticSessionSearch.ts +0 -307
  1574. package/src/utils/analyzeContext.ts +0 -1382
  1575. package/src/utils/ansiToPng.ts +0 -334
  1576. package/src/utils/ansiToSvg.ts +0 -272
  1577. package/src/utils/api.ts +0 -718
  1578. package/src/utils/apiPreconnect.ts +0 -71
  1579. package/src/utils/appleTerminalBackup.ts +0 -124
  1580. package/src/utils/argumentSubstitution.ts +0 -145
  1581. package/src/utils/array.ts +0 -13
  1582. package/src/utils/asciicast.ts +0 -239
  1583. package/src/utils/attachments.ts +0 -3997
  1584. package/src/utils/attribution.ts +0 -393
  1585. package/src/utils/attributionHooks.ts +0 -2
  1586. package/src/utils/attributionTrailer.ts +0 -2
  1587. package/src/utils/auth.ts +0 -2002
  1588. package/src/utils/authFileDescriptor.ts +0 -196
  1589. package/src/utils/authPortable.ts +0 -19
  1590. package/src/utils/autoModeDenials.ts +0 -26
  1591. package/src/utils/autoRunIssue.tsx +0 -122
  1592. package/src/utils/autoUpdater.ts +0 -561
  1593. package/src/utils/aws.ts +0 -74
  1594. package/src/utils/awsAuthStatusManager.ts +0 -81
  1595. package/src/utils/background/remote/preconditions.ts +0 -235
  1596. package/src/utils/background/remote/remoteSession.ts +0 -98
  1597. package/src/utils/backgroundHousekeeping.ts +0 -94
  1598. package/src/utils/bash/ParsedCommand.ts +0 -318
  1599. package/src/utils/bash/ShellSnapshot.ts +0 -582
  1600. package/src/utils/bash/ast.ts +0 -2679
  1601. package/src/utils/bash/bashParser.ts +0 -4436
  1602. package/src/utils/bash/bashPipeCommand.ts +0 -294
  1603. package/src/utils/bash/commands.ts +0 -1339
  1604. package/src/utils/bash/heredoc.ts +0 -733
  1605. package/src/utils/bash/parser.ts +0 -230
  1606. package/src/utils/bash/prefix.ts +0 -204
  1607. package/src/utils/bash/registry.ts +0 -53
  1608. package/src/utils/bash/shellCompletion.ts +0 -259
  1609. package/src/utils/bash/shellPrefix.ts +0 -28
  1610. package/src/utils/bash/shellQuote.ts +0 -304
  1611. package/src/utils/bash/shellQuoting.ts +0 -128
  1612. package/src/utils/bash/specs/alias.ts +0 -14
  1613. package/src/utils/bash/specs/index.ts +0 -18
  1614. package/src/utils/bash/specs/nohup.ts +0 -13
  1615. package/src/utils/bash/specs/pyright.ts +0 -91
  1616. package/src/utils/bash/specs/sleep.ts +0 -13
  1617. package/src/utils/bash/specs/srun.ts +0 -31
  1618. package/src/utils/bash/specs/time.ts +0 -13
  1619. package/src/utils/bash/specs/timeout.ts +0 -20
  1620. package/src/utils/bash/treeSitterAnalysis.ts +0 -506
  1621. package/src/utils/betas.ts +0 -434
  1622. package/src/utils/billing.ts +0 -78
  1623. package/src/utils/binaryCheck.ts +0 -53
  1624. package/src/utils/browser.ts +0 -68
  1625. package/src/utils/bufferedWriter.ts +0 -100
  1626. package/src/utils/bundledMode.ts +0 -22
  1627. package/src/utils/caCerts.ts +0 -115
  1628. package/src/utils/caCertsConfig.ts +0 -88
  1629. package/src/utils/cachePaths.ts +0 -38
  1630. package/src/utils/ccshareResume.ts +0 -2
  1631. package/src/utils/classifierApprovals.ts +0 -88
  1632. package/src/utils/classifierApprovalsHook.ts +0 -17
  1633. package/src/utils/claudeCodeHints.ts +0 -193
  1634. package/src/utils/claudeDesktop.ts +0 -152
  1635. package/src/utils/claudeInChrome/chromeNativeHost.ts +0 -527
  1636. package/src/utils/claudeInChrome/common.ts +0 -540
  1637. package/src/utils/claudeInChrome/mcpServer.ts +0 -293
  1638. package/src/utils/claudeInChrome/prompt.ts +0 -83
  1639. package/src/utils/claudeInChrome/setup.ts +0 -400
  1640. package/src/utils/claudeInChrome/setupPortable.ts +0 -233
  1641. package/src/utils/claudeInChrome/toolRendering.tsx +0 -262
  1642. package/src/utils/claudemd.ts +0 -1479
  1643. package/src/utils/cleanup.ts +0 -602
  1644. package/src/utils/cleanupRegistry.ts +0 -25
  1645. package/src/utils/cliArgs.ts +0 -60
  1646. package/src/utils/cliHighlight.ts +0 -54
  1647. package/src/utils/codeIndexing.ts +0 -206
  1648. package/src/utils/collapseBackgroundBashNotifications.ts +0 -84
  1649. package/src/utils/collapseHookSummaries.ts +0 -59
  1650. package/src/utils/collapseReadSearch.ts +0 -1109
  1651. package/src/utils/collapseTeammateShutdowns.ts +0 -55
  1652. package/src/utils/combinedAbortSignal.ts +0 -47
  1653. package/src/utils/commandLifecycle.ts +0 -21
  1654. package/src/utils/commitAttribution.ts +0 -961
  1655. package/src/utils/completionCache.ts +0 -166
  1656. package/src/utils/computerUse/appNames.ts +0 -196
  1657. package/src/utils/computerUse/cleanup.ts +0 -86
  1658. package/src/utils/computerUse/common.ts +0 -61
  1659. package/src/utils/computerUse/computerUseLock.ts +0 -215
  1660. package/src/utils/computerUse/drainRunLoop.ts +0 -79
  1661. package/src/utils/computerUse/escHotkey.ts +0 -54
  1662. package/src/utils/computerUse/executor.ts +0 -658
  1663. package/src/utils/computerUse/gates.ts +0 -72
  1664. package/src/utils/computerUse/hostAdapter.ts +0 -69
  1665. package/src/utils/computerUse/inputLoader.ts +0 -30
  1666. package/src/utils/computerUse/mcpServer.ts +0 -106
  1667. package/src/utils/computerUse/setup.ts +0 -53
  1668. package/src/utils/computerUse/swiftLoader.ts +0 -23
  1669. package/src/utils/computerUse/toolRendering.tsx +0 -125
  1670. package/src/utils/computerUse/wrapper.tsx +0 -336
  1671. package/src/utils/concurrentSessions.ts +0 -204
  1672. package/src/utils/config.ts +0 -1817
  1673. package/src/utils/configConstants.ts +0 -21
  1674. package/src/utils/contentArray.ts +0 -51
  1675. package/src/utils/context.ts +0 -221
  1676. package/src/utils/contextAnalysis.ts +0 -272
  1677. package/src/utils/contextSuggestions.ts +0 -235
  1678. package/src/utils/controlMessageCompat.ts +0 -32
  1679. package/src/utils/conversationRecovery.ts +0 -597
  1680. package/src/utils/cron.ts +0 -308
  1681. package/src/utils/cronJitterConfig.ts +0 -75
  1682. package/src/utils/cronScheduler.ts +0 -565
  1683. package/src/utils/cronTasks.ts +0 -458
  1684. package/src/utils/cronTasksLock.ts +0 -195
  1685. package/src/utils/crossProjectResume.ts +0 -75
  1686. package/src/utils/crypto.ts +0 -13
  1687. package/src/utils/cwd.ts +0 -32
  1688. package/src/utils/debug.ts +0 -268
  1689. package/src/utils/debugFilter.ts +0 -157
  1690. package/src/utils/deepLink/banner.ts +0 -123
  1691. package/src/utils/deepLink/parseDeepLink.ts +0 -170
  1692. package/src/utils/deepLink/protocolHandler.ts +0 -136
  1693. package/src/utils/deepLink/registerProtocol.ts +0 -348
  1694. package/src/utils/deepLink/terminalLauncher.ts +0 -557
  1695. package/src/utils/deepLink/terminalPreference.ts +0 -54
  1696. package/src/utils/desktopDeepLink.ts +0 -236
  1697. package/src/utils/detectRepository.ts +0 -178
  1698. package/src/utils/diagLogs.ts +0 -94
  1699. package/src/utils/diff.ts +0 -177
  1700. package/src/utils/directMemberMessage.ts +0 -69
  1701. package/src/utils/displayTags.ts +0 -51
  1702. package/src/utils/doctorContextWarnings.ts +0 -265
  1703. package/src/utils/doctorDiagnostic.ts +0 -625
  1704. package/src/utils/dxt/helpers.ts +0 -88
  1705. package/src/utils/dxt/zip.ts +0 -226
  1706. package/src/utils/earlyInput.ts +0 -191
  1707. package/src/utils/editor.ts +0 -183
  1708. package/src/utils/effort.ts +0 -329
  1709. package/src/utils/embeddedTools.ts +0 -29
  1710. package/src/utils/env.ts +0 -347
  1711. package/src/utils/envDynamic.ts +0 -151
  1712. package/src/utils/envUtils.ts +0 -183
  1713. package/src/utils/envValidation.ts +0 -38
  1714. package/src/utils/errorLogSink.ts +0 -235
  1715. package/src/utils/errors.ts +0 -238
  1716. package/src/utils/eventLoopStallDetector.ts +0 -2
  1717. package/src/utils/exampleCommands.ts +0 -184
  1718. package/src/utils/execFileNoThrow.ts +0 -150
  1719. package/src/utils/execFileNoThrowPortable.ts +0 -89
  1720. package/src/utils/execSyncWrapper.ts +0 -38
  1721. package/src/utils/exportRenderer.tsx +0 -98
  1722. package/src/utils/extraUsage.ts +0 -23
  1723. package/src/utils/fastMode.ts +0 -532
  1724. package/src/utils/file.ts +0 -584
  1725. package/src/utils/fileHistory.ts +0 -1115
  1726. package/src/utils/fileOperationAnalytics.ts +0 -71
  1727. package/src/utils/filePersistence/filePersistence.ts +0 -287
  1728. package/src/utils/filePersistence/outputsScanner.ts +0 -126
  1729. package/src/utils/filePersistence/types.ts +0 -33
  1730. package/src/utils/fileRead.ts +0 -102
  1731. package/src/utils/fileReadCache.ts +0 -96
  1732. package/src/utils/fileStateCache.ts +0 -142
  1733. package/src/utils/findExecutable.ts +0 -17
  1734. package/src/utils/fingerprint.ts +0 -76
  1735. package/src/utils/forkedAgent.ts +0 -689
  1736. package/src/utils/format.ts +0 -308
  1737. package/src/utils/formatBriefTimestamp.ts +0 -81
  1738. package/src/utils/fpsTracker.ts +0 -47
  1739. package/src/utils/frontmatterParser.ts +0 -370
  1740. package/src/utils/fsOperations.ts +0 -770
  1741. package/src/utils/fullscreen.ts +0 -202
  1742. package/src/utils/generatedFiles.ts +0 -136
  1743. package/src/utils/generators.ts +0 -88
  1744. package/src/utils/genericProcessUtils.ts +0 -184
  1745. package/src/utils/getWorktreePaths.ts +0 -70
  1746. package/src/utils/getWorktreePathsPortable.ts +0 -27
  1747. package/src/utils/ghPrStatus.ts +0 -106
  1748. package/src/utils/git/gitConfigParser.ts +0 -277
  1749. package/src/utils/git/gitFilesystem.ts +0 -699
  1750. package/src/utils/git/gitignore.ts +0 -99
  1751. package/src/utils/git.ts +0 -926
  1752. package/src/utils/gitDiff.ts +0 -532
  1753. package/src/utils/gitSettings.ts +0 -18
  1754. package/src/utils/github/ghAuthStatus.ts +0 -29
  1755. package/src/utils/githubRepoPathMapping.ts +0 -162
  1756. package/src/utils/glob.ts +0 -130
  1757. package/src/utils/gracefulShutdown.ts +0 -529
  1758. package/src/utils/groupToolUses.ts +0 -182
  1759. package/src/utils/handlePromptSubmit.ts +0 -610
  1760. package/src/utils/hash.ts +0 -46
  1761. package/src/utils/headlessProfiler.ts +0 -178
  1762. package/src/utils/heapDumpService.ts +0 -303
  1763. package/src/utils/heatmap.ts +0 -198
  1764. package/src/utils/highlightMatch.tsx +0 -28
  1765. package/src/utils/hooks/AsyncHookRegistry.ts +0 -309
  1766. package/src/utils/hooks/apiQueryHookHelper.ts +0 -141
  1767. package/src/utils/hooks/execAgentHook.ts +0 -339
  1768. package/src/utils/hooks/execHttpHook.ts +0 -242
  1769. package/src/utils/hooks/execPromptHook.ts +0 -211
  1770. package/src/utils/hooks/fileChangedWatcher.ts +0 -191
  1771. package/src/utils/hooks/hookEvents.ts +0 -192
  1772. package/src/utils/hooks/hookHelpers.ts +0 -83
  1773. package/src/utils/hooks/hooksConfigManager.ts +0 -400
  1774. package/src/utils/hooks/hooksConfigSnapshot.ts +0 -133
  1775. package/src/utils/hooks/hooksSettings.ts +0 -271
  1776. package/src/utils/hooks/postSamplingHooks.ts +0 -70
  1777. package/src/utils/hooks/registerFrontmatterHooks.ts +0 -67
  1778. package/src/utils/hooks/registerSkillHooks.ts +0 -64
  1779. package/src/utils/hooks/sessionHooks.ts +0 -447
  1780. package/src/utils/hooks/skillImprovement.ts +0 -267
  1781. package/src/utils/hooks/ssrfGuard.ts +0 -294
  1782. package/src/utils/hooks.ts +0 -5022
  1783. package/src/utils/horizontalScroll.ts +0 -137
  1784. package/src/utils/http.ts +0 -136
  1785. package/src/utils/hyperlink.ts +0 -39
  1786. package/src/utils/iTermBackup.ts +0 -73
  1787. package/src/utils/ide.ts +0 -1494
  1788. package/src/utils/idePathConversion.ts +0 -90
  1789. package/src/utils/idleTimeout.ts +0 -53
  1790. package/src/utils/imagePaste.ts +0 -416
  1791. package/src/utils/imageResizer.ts +0 -880
  1792. package/src/utils/imageStore.ts +0 -167
  1793. package/src/utils/imageValidation.ts +0 -104
  1794. package/src/utils/immediateCommand.ts +0 -15
  1795. package/src/utils/inProcessTeammateHelpers.ts +0 -102
  1796. package/src/utils/ink.ts +0 -26
  1797. package/src/utils/intl.ts +0 -94
  1798. package/src/utils/jetbrains.ts +0 -191
  1799. package/src/utils/json.ts +0 -277
  1800. package/src/utils/jsonRead.ts +0 -16
  1801. package/src/utils/keyboardShortcuts.ts +0 -14
  1802. package/src/utils/lazySchema.ts +0 -8
  1803. package/src/utils/listSessionsImpl.ts +0 -454
  1804. package/src/utils/localInstaller.ts +0 -162
  1805. package/src/utils/lockfile.ts +0 -43
  1806. package/src/utils/log.ts +0 -362
  1807. package/src/utils/logoV2Utils.ts +0 -350
  1808. package/src/utils/mailbox.ts +0 -73
  1809. package/src/utils/managedEnv.ts +0 -199
  1810. package/src/utils/managedEnvConstants.ts +0 -191
  1811. package/src/utils/markdown.ts +0 -381
  1812. package/src/utils/markdownConfigLoader.ts +0 -600
  1813. package/src/utils/mcp/dateTimeParser.ts +0 -121
  1814. package/src/utils/mcp/elicitationValidation.ts +0 -336
  1815. package/src/utils/mcpInstructionsDelta.ts +0 -130
  1816. package/src/utils/mcpOutputStorage.ts +0 -189
  1817. package/src/utils/mcpValidation.ts +0 -208
  1818. package/src/utils/mcpWebSocketTransport.ts +0 -200
  1819. package/src/utils/memoize.ts +0 -269
  1820. package/src/utils/memory/types.ts +0 -12
  1821. package/src/utils/memory/versions.ts +0 -8
  1822. package/src/utils/memoryFileDetection.ts +0 -289
  1823. package/src/utils/messagePredicates.ts +0 -8
  1824. package/src/utils/messageQueueManager.ts +0 -547
  1825. package/src/utils/messages/mappers.ts +0 -290
  1826. package/src/utils/messages/systemInit.ts +0 -96
  1827. package/src/utils/messages.ts +0 -5512
  1828. package/src/utils/model/agent.ts +0 -157
  1829. package/src/utils/model/aliases.ts +0 -25
  1830. package/src/utils/model/antModels.ts +0 -64
  1831. package/src/utils/model/bedrock.ts +0 -265
  1832. package/src/utils/model/check1mAccess.ts +0 -72
  1833. package/src/utils/model/configs.ts +0 -118
  1834. package/src/utils/model/contextWindowUpgradeCheck.ts +0 -47
  1835. package/src/utils/model/deprecation.ts +0 -101
  1836. package/src/utils/model/model.ts +0 -618
  1837. package/src/utils/model/modelAllowlist.ts +0 -170
  1838. package/src/utils/model/modelCapabilities.ts +0 -118
  1839. package/src/utils/model/modelOptions.ts +0 -540
  1840. package/src/utils/model/modelStrings.ts +0 -166
  1841. package/src/utils/model/modelSupportOverrides.ts +0 -50
  1842. package/src/utils/model/providers.ts +0 -40
  1843. package/src/utils/model/validateModel.ts +0 -159
  1844. package/src/utils/modelCost.ts +0 -231
  1845. package/src/utils/modifiers.ts +0 -41
  1846. package/src/utils/mtls.ts +0 -179
  1847. package/src/utils/nativeInstaller/download.ts +0 -523
  1848. package/src/utils/nativeInstaller/index.ts +0 -18
  1849. package/src/utils/nativeInstaller/installer.ts +0 -1708
  1850. package/src/utils/nativeInstaller/packageManagers.ts +0 -336
  1851. package/src/utils/nativeInstaller/pidLock.ts +0 -433
  1852. package/src/utils/notebook.ts +0 -224
  1853. package/src/utils/objectGroupBy.ts +0 -18
  1854. package/src/utils/pasteStore.ts +0 -104
  1855. package/src/utils/path.ts +0 -155
  1856. package/src/utils/pdf.ts +0 -300
  1857. package/src/utils/pdfUtils.ts +0 -70
  1858. package/src/utils/peerAddress.ts +0 -21
  1859. package/src/utils/permissions/PermissionMode.ts +0 -141
  1860. package/src/utils/permissions/PermissionPromptToolResultSchema.ts +0 -127
  1861. package/src/utils/permissions/PermissionResult.ts +0 -35
  1862. package/src/utils/permissions/PermissionRule.ts +0 -40
  1863. package/src/utils/permissions/PermissionUpdate.ts +0 -389
  1864. package/src/utils/permissions/PermissionUpdateSchema.ts +0 -78
  1865. package/src/utils/permissions/autoModeState.ts +0 -39
  1866. package/src/utils/permissions/bashClassifier.ts +0 -61
  1867. package/src/utils/permissions/bypassPermissionsKillswitch.ts +0 -155
  1868. package/src/utils/permissions/classifierDecision.ts +0 -98
  1869. package/src/utils/permissions/classifierShared.ts +0 -39
  1870. package/src/utils/permissions/dangerousPatterns.ts +0 -80
  1871. package/src/utils/permissions/denialTracking.ts +0 -45
  1872. package/src/utils/permissions/filesystem.ts +0 -1777
  1873. package/src/utils/permissions/getNextPermissionMode.ts +0 -101
  1874. package/src/utils/permissions/pathValidation.ts +0 -485
  1875. package/src/utils/permissions/permissionExplainer.ts +0 -250
  1876. package/src/utils/permissions/permissionRuleParser.ts +0 -198
  1877. package/src/utils/permissions/permissionSetup.ts +0 -1532
  1878. package/src/utils/permissions/permissions.ts +0 -1486
  1879. package/src/utils/permissions/permissionsLoader.ts +0 -296
  1880. package/src/utils/permissions/shadowedRuleDetection.ts +0 -234
  1881. package/src/utils/permissions/shellRuleMatching.ts +0 -228
  1882. package/src/utils/permissions/yolo-classifier-prompts/auto_mode_system_prompt.txt +0 -1
  1883. package/src/utils/permissions/yolo-classifier-prompts/permissions_anthropic.txt +0 -1
  1884. package/src/utils/permissions/yolo-classifier-prompts/permissions_external.txt +0 -1
  1885. package/src/utils/permissions/yoloClassifier.ts +0 -1495
  1886. package/src/utils/planModeV2.ts +0 -95
  1887. package/src/utils/plans.ts +0 -397
  1888. package/src/utils/platform.ts +0 -150
  1889. package/src/utils/plugins/addDirPluginSettings.ts +0 -71
  1890. package/src/utils/plugins/cacheUtils.ts +0 -196
  1891. package/src/utils/plugins/dependencyResolver.ts +0 -305
  1892. package/src/utils/plugins/fetchTelemetry.ts +0 -135
  1893. package/src/utils/plugins/gitAvailability.ts +0 -69
  1894. package/src/utils/plugins/headlessPluginInstall.ts +0 -174
  1895. package/src/utils/plugins/hintRecommendation.ts +0 -164
  1896. package/src/utils/plugins/installCounts.ts +0 -292
  1897. package/src/utils/plugins/installedPluginsManager.ts +0 -1268
  1898. package/src/utils/plugins/loadPluginAgents.ts +0 -348
  1899. package/src/utils/plugins/loadPluginCommands.ts +0 -946
  1900. package/src/utils/plugins/loadPluginHooks.ts +0 -287
  1901. package/src/utils/plugins/loadPluginOutputStyles.ts +0 -178
  1902. package/src/utils/plugins/lspPluginIntegration.ts +0 -387
  1903. package/src/utils/plugins/lspRecommendation.ts +0 -374
  1904. package/src/utils/plugins/managedPlugins.ts +0 -27
  1905. package/src/utils/plugins/marketplaceHelpers.ts +0 -592
  1906. package/src/utils/plugins/marketplaceManager.ts +0 -2643
  1907. package/src/utils/plugins/mcpPluginIntegration.ts +0 -634
  1908. package/src/utils/plugins/mcpbHandler.ts +0 -968
  1909. package/src/utils/plugins/officialMarketplace.ts +0 -25
  1910. package/src/utils/plugins/officialMarketplaceGcs.ts +0 -216
  1911. package/src/utils/plugins/officialMarketplaceStartupCheck.ts +0 -439
  1912. package/src/utils/plugins/orphanedPluginFilter.ts +0 -114
  1913. package/src/utils/plugins/parseMarketplaceInput.ts +0 -162
  1914. package/src/utils/plugins/performStartupChecks.tsx +0 -70
  1915. package/src/utils/plugins/pluginAutoupdate.ts +0 -284
  1916. package/src/utils/plugins/pluginBlocklist.ts +0 -127
  1917. package/src/utils/plugins/pluginDirectories.ts +0 -178
  1918. package/src/utils/plugins/pluginFlagging.ts +0 -208
  1919. package/src/utils/plugins/pluginIdentifier.ts +0 -123
  1920. package/src/utils/plugins/pluginInstallationHelpers.ts +0 -595
  1921. package/src/utils/plugins/pluginLoader.ts +0 -3302
  1922. package/src/utils/plugins/pluginOptionsStorage.ts +0 -400
  1923. package/src/utils/plugins/pluginPolicy.ts +0 -20
  1924. package/src/utils/plugins/pluginStartupCheck.ts +0 -341
  1925. package/src/utils/plugins/pluginVersioning.ts +0 -157
  1926. package/src/utils/plugins/reconciler.ts +0 -265
  1927. package/src/utils/plugins/refresh.ts +0 -215
  1928. package/src/utils/plugins/schemas.ts +0 -1681
  1929. package/src/utils/plugins/validatePlugin.ts +0 -903
  1930. package/src/utils/plugins/walkPluginMarkdown.ts +0 -69
  1931. package/src/utils/plugins/zipCache.ts +0 -406
  1932. package/src/utils/plugins/zipCacheAdapters.ts +0 -164
  1933. package/src/utils/postCommitAttribution.ts +0 -2
  1934. package/src/utils/powershell/dangerousCmdlets.ts +0 -185
  1935. package/src/utils/powershell/parser.ts +0 -1804
  1936. package/src/utils/powershell/staticPrefix.ts +0 -316
  1937. package/src/utils/preflightChecks.tsx +0 -151
  1938. package/src/utils/privacyLevel.ts +0 -55
  1939. package/src/utils/process.ts +0 -68
  1940. package/src/utils/processUserInput/processBashCommand.tsx +0 -140
  1941. package/src/utils/processUserInput/processSlashCommand.tsx +0 -922
  1942. package/src/utils/processUserInput/processTextPrompt.ts +0 -100
  1943. package/src/utils/processUserInput/processUserInput.ts +0 -605
  1944. package/src/utils/profilerBase.ts +0 -46
  1945. package/src/utils/promptCategory.ts +0 -49
  1946. package/src/utils/promptEditor.ts +0 -188
  1947. package/src/utils/promptShellExecution.ts +0 -183
  1948. package/src/utils/protectedNamespace.ts +0 -2
  1949. package/src/utils/proxy.ts +0 -426
  1950. package/src/utils/queryContext.ts +0 -179
  1951. package/src/utils/queryHelpers.ts +0 -552
  1952. package/src/utils/queryProfiler.ts +0 -301
  1953. package/src/utils/queueProcessor.ts +0 -95
  1954. package/src/utils/readEditContext.ts +0 -227
  1955. package/src/utils/readFileInRange.ts +0 -383
  1956. package/src/utils/releaseNotes.ts +0 -360
  1957. package/src/utils/renderOptions.ts +0 -77
  1958. package/src/utils/ripgrep.ts +0 -679
  1959. package/src/utils/sandbox/sandbox-adapter.ts +0 -985
  1960. package/src/utils/sandbox/sandbox-ui-utils.ts +0 -12
  1961. package/src/utils/sanitization.ts +0 -91
  1962. package/src/utils/screenshotClipboard.ts +0 -121
  1963. package/src/utils/sdkEventQueue.ts +0 -134
  1964. package/src/utils/sdkHeapDumpMonitor.ts +0 -2
  1965. package/src/utils/secureStorage/fallbackStorage.ts +0 -70
  1966. package/src/utils/secureStorage/index.ts +0 -17
  1967. package/src/utils/secureStorage/keychainPrefetch.ts +0 -116
  1968. package/src/utils/secureStorage/macOsKeychainHelpers.ts +0 -111
  1969. package/src/utils/secureStorage/macOsKeychainStorage.ts +0 -231
  1970. package/src/utils/secureStorage/plainTextStorage.ts +0 -84
  1971. package/src/utils/secureStorage/types.ts +0 -2
  1972. package/src/utils/semanticBoolean.ts +0 -29
  1973. package/src/utils/semanticNumber.ts +0 -36
  1974. package/src/utils/semver.ts +0 -59
  1975. package/src/utils/sequential.ts +0 -56
  1976. package/src/utils/sessionActivity.ts +0 -133
  1977. package/src/utils/sessionDataUploader.ts +0 -2
  1978. package/src/utils/sessionEnvVars.ts +0 -22
  1979. package/src/utils/sessionEnvironment.ts +0 -166
  1980. package/src/utils/sessionFileAccessHooks.ts +0 -250
  1981. package/src/utils/sessionIngressAuth.ts +0 -140
  1982. package/src/utils/sessionRestore.ts +0 -551
  1983. package/src/utils/sessionStart.ts +0 -232
  1984. package/src/utils/sessionState.ts +0 -150
  1985. package/src/utils/sessionStorage.ts +0 -5105
  1986. package/src/utils/sessionStoragePortable.ts +0 -793
  1987. package/src/utils/sessionTitle.ts +0 -129
  1988. package/src/utils/sessionUrl.ts +0 -64
  1989. package/src/utils/set.ts +0 -53
  1990. package/src/utils/settings/allErrors.ts +0 -32
  1991. package/src/utils/settings/applySettingsChange.ts +0 -92
  1992. package/src/utils/settings/changeDetector.ts +0 -488
  1993. package/src/utils/settings/constants.ts +0 -202
  1994. package/src/utils/settings/internalWrites.ts +0 -37
  1995. package/src/utils/settings/managedPath.ts +0 -34
  1996. package/src/utils/settings/mdm/constants.ts +0 -81
  1997. package/src/utils/settings/mdm/rawRead.ts +0 -130
  1998. package/src/utils/settings/mdm/settings.ts +0 -316
  1999. package/src/utils/settings/permissionValidation.ts +0 -262
  2000. package/src/utils/settings/pluginOnlyPolicy.ts +0 -60
  2001. package/src/utils/settings/schemaOutput.ts +0 -8
  2002. package/src/utils/settings/settings.ts +0 -1015
  2003. package/src/utils/settings/settingsCache.ts +0 -80
  2004. package/src/utils/settings/toolValidationConfig.ts +0 -103
  2005. package/src/utils/settings/types.ts +0 -1148
  2006. package/src/utils/settings/validateEditTool.ts +0 -45
  2007. package/src/utils/settings/validation.ts +0 -265
  2008. package/src/utils/settings/validationTips.ts +0 -164
  2009. package/src/utils/shell/bashProvider.ts +0 -255
  2010. package/src/utils/shell/outputLimits.ts +0 -14
  2011. package/src/utils/shell/powershellDetection.ts +0 -107
  2012. package/src/utils/shell/powershellProvider.ts +0 -123
  2013. package/src/utils/shell/prefix.ts +0 -367
  2014. package/src/utils/shell/readOnlyCommandValidation.ts +0 -1893
  2015. package/src/utils/shell/resolveDefaultShell.ts +0 -14
  2016. package/src/utils/shell/shellProvider.ts +0 -33
  2017. package/src/utils/shell/shellToolUtils.ts +0 -22
  2018. package/src/utils/shell/specPrefix.ts +0 -241
  2019. package/src/utils/shellConfig.ts +0 -167
  2020. package/src/utils/sideQuery.ts +0 -222
  2021. package/src/utils/sideQuestion.ts +0 -155
  2022. package/src/utils/signal.ts +0 -43
  2023. package/src/utils/sinks.ts +0 -16
  2024. package/src/utils/skills/skillChangeDetector.ts +0 -311
  2025. package/src/utils/slashCommandParsing.ts +0 -60
  2026. package/src/utils/sleep.ts +0 -84
  2027. package/src/utils/sliceAnsi.ts +0 -91
  2028. package/src/utils/slowOperations.ts +0 -286
  2029. package/src/utils/standaloneAgent.ts +0 -23
  2030. package/src/utils/startupProfiler.ts +0 -194
  2031. package/src/utils/staticRender.tsx +0 -116
  2032. package/src/utils/stats.ts +0 -1061
  2033. package/src/utils/statsCache.ts +0 -434
  2034. package/src/utils/status.tsx +0 -362
  2035. package/src/utils/statusNoticeDefinitions.tsx +0 -198
  2036. package/src/utils/statusNoticeHelpers.ts +0 -20
  2037. package/src/utils/stream.ts +0 -76
  2038. package/src/utils/streamJsonStdoutGuard.ts +0 -123
  2039. package/src/utils/streamlinedTransform.ts +0 -201
  2040. package/src/utils/stringUtils.ts +0 -235
  2041. package/src/utils/subprocessEnv.ts +0 -99
  2042. package/src/utils/suggestions/commandSuggestions.ts +0 -567
  2043. package/src/utils/suggestions/directoryCompletion.ts +0 -263
  2044. package/src/utils/suggestions/shellHistoryCompletion.ts +0 -119
  2045. package/src/utils/suggestions/skillUsageTracking.ts +0 -55
  2046. package/src/utils/suggestions/slackChannelSuggestions.ts +0 -209
  2047. package/src/utils/swarm/It2SetupPrompt.tsx +0 -380
  2048. package/src/utils/swarm/backends/ITermBackend.ts +0 -370
  2049. package/src/utils/swarm/backends/InProcessBackend.ts +0 -339
  2050. package/src/utils/swarm/backends/PaneBackendExecutor.ts +0 -354
  2051. package/src/utils/swarm/backends/TmuxBackend.ts +0 -764
  2052. package/src/utils/swarm/backends/detection.ts +0 -128
  2053. package/src/utils/swarm/backends/it2Setup.ts +0 -245
  2054. package/src/utils/swarm/backends/registry.ts +0 -464
  2055. package/src/utils/swarm/backends/teammateModeSnapshot.ts +0 -87
  2056. package/src/utils/swarm/backends/types.ts +0 -311
  2057. package/src/utils/swarm/constants.ts +0 -33
  2058. package/src/utils/swarm/inProcessRunner.ts +0 -1552
  2059. package/src/utils/swarm/leaderPermissionBridge.ts +0 -54
  2060. package/src/utils/swarm/permissionSync.ts +0 -928
  2061. package/src/utils/swarm/reconnection.ts +0 -119
  2062. package/src/utils/swarm/spawnInProcess.ts +0 -328
  2063. package/src/utils/swarm/spawnUtils.ts +0 -146
  2064. package/src/utils/swarm/teamHelpers.ts +0 -683
  2065. package/src/utils/swarm/teammateInit.ts +0 -129
  2066. package/src/utils/swarm/teammateLayoutManager.ts +0 -107
  2067. package/src/utils/swarm/teammateModel.ts +0 -10
  2068. package/src/utils/swarm/teammatePromptAddendum.ts +0 -18
  2069. package/src/utils/systemDirectories.ts +0 -74
  2070. package/src/utils/systemPrompt.ts +0 -123
  2071. package/src/utils/systemPromptType.ts +0 -14
  2072. package/src/utils/systemTheme.ts +0 -119
  2073. package/src/utils/systemThemeWatcher.ts +0 -2
  2074. package/src/utils/taggedId.ts +0 -54
  2075. package/src/utils/task/TaskOutput.ts +0 -390
  2076. package/src/utils/task/diskOutput.ts +0 -451
  2077. package/src/utils/task/framework.ts +0 -308
  2078. package/src/utils/task/outputFormatting.ts +0 -38
  2079. package/src/utils/task/sdkProgress.ts +0 -36
  2080. package/src/utils/taskSummary.ts +0 -2
  2081. package/src/utils/tasks.ts +0 -862
  2082. package/src/utils/teamDiscovery.ts +0 -81
  2083. package/src/utils/teamMemoryOps.ts +0 -88
  2084. package/src/utils/teammate.ts +0 -292
  2085. package/src/utils/teammateContext.ts +0 -96
  2086. package/src/utils/teammateMailbox.ts +0 -1183
  2087. package/src/utils/telemetry/betaSessionTracing.ts +0 -491
  2088. package/src/utils/telemetry/bigqueryExporter.ts +0 -252
  2089. package/src/utils/telemetry/events.ts +0 -75
  2090. package/src/utils/telemetry/instrumentation.ts +0 -825
  2091. package/src/utils/telemetry/logger.ts +0 -26
  2092. package/src/utils/telemetry/perfettoTracing.ts +0 -1120
  2093. package/src/utils/telemetry/pluginTelemetry.ts +0 -289
  2094. package/src/utils/telemetry/sessionTracing.ts +0 -927
  2095. package/src/utils/telemetry/skillLoadedEvent.ts +0 -39
  2096. package/src/utils/telemetryAttributes.ts +0 -71
  2097. package/src/utils/teleport/api.ts +0 -466
  2098. package/src/utils/teleport/environmentSelection.ts +0 -77
  2099. package/src/utils/teleport/environments.ts +0 -120
  2100. package/src/utils/teleport/gitBundle.ts +0 -292
  2101. package/src/utils/teleport.tsx +0 -1226
  2102. package/src/utils/tempfile.ts +0 -31
  2103. package/src/utils/terminal.ts +0 -131
  2104. package/src/utils/terminalPanel.ts +0 -191
  2105. package/src/utils/textHighlighting.ts +0 -166
  2106. package/src/utils/theme.ts +0 -639
  2107. package/src/utils/thinking.ts +0 -162
  2108. package/src/utils/timeouts.ts +0 -39
  2109. package/src/utils/tmuxSocket.ts +0 -427
  2110. package/src/utils/todo/types.ts +0 -18
  2111. package/src/utils/tokenBudget.ts +0 -73
  2112. package/src/utils/tokens.ts +0 -261
  2113. package/src/utils/toolErrors.ts +0 -132
  2114. package/src/utils/toolPool.ts +0 -79
  2115. package/src/utils/toolResultStorage.ts +0 -1040
  2116. package/src/utils/toolSchemaCache.ts +0 -26
  2117. package/src/utils/toolSearch.ts +0 -756
  2118. package/src/utils/transcriptSearch.ts +0 -202
  2119. package/src/utils/treeify.ts +0 -170
  2120. package/src/utils/truncate.ts +0 -179
  2121. package/src/utils/udsClient.ts +0 -2
  2122. package/src/utils/udsMessaging.ts +0 -2
  2123. package/src/utils/ultraplan/ccrSession.ts +0 -349
  2124. package/src/utils/ultraplan/keyword.ts +0 -127
  2125. package/src/utils/ultraplan/prompt.txt +0 -1
  2126. package/src/utils/unaryLogging.ts +0 -39
  2127. package/src/utils/undercover.ts +0 -89
  2128. package/src/utils/user.ts +0 -194
  2129. package/src/utils/userAgent.ts +0 -10
  2130. package/src/utils/userPromptKeywords.ts +0 -27
  2131. package/src/utils/uuid.ts +0 -27
  2132. package/src/utils/warningHandler.ts +0 -121
  2133. package/src/utils/which.ts +0 -82
  2134. package/src/utils/windowsPaths.ts +0 -173
  2135. package/src/utils/withResolvers.ts +0 -13
  2136. package/src/utils/words.ts +0 -800
  2137. package/src/utils/workloadContext.ts +0 -57
  2138. package/src/utils/worktree.ts +0 -1519
  2139. package/src/utils/worktreeModeEnabled.ts +0 -11
  2140. package/src/utils/xdg.ts +0 -65
  2141. package/src/utils/xml.ts +0 -16
  2142. package/src/utils/yaml.ts +0 -15
  2143. package/src/utils/zodToJsonSchema.ts +0 -23
  2144. package/src/vim/motions.ts +0 -82
  2145. package/src/vim/operators.ts +0 -556
  2146. package/src/vim/textObjects.ts +0 -186
  2147. package/src/vim/transitions.ts +0 -490
  2148. package/src/vim/types.ts +0 -199
  2149. package/src/voice/voiceModeEnabled.ts +0 -54
  2150. package/stubs/@ant/claude-for-chrome-mcp/index.js +0 -1
  2151. package/stubs/@ant/claude-for-chrome-mcp/index.ts +0 -4
  2152. package/stubs/@ant/claude-for-chrome-mcp/package.json +0 -6
  2153. package/stubs/@ant/computer-use-input/index.js +0 -2
  2154. package/stubs/@ant/computer-use-input/index.ts +0 -3
  2155. package/stubs/@ant/computer-use-input/package.json +0 -6
  2156. package/stubs/@ant/computer-use-mcp/index.js +0 -1
  2157. package/stubs/@ant/computer-use-mcp/index.ts +0 -1
  2158. package/stubs/@ant/computer-use-mcp/package.json +0 -11
  2159. package/stubs/@ant/computer-use-mcp/sentinelApps.js +0 -3
  2160. package/stubs/@ant/computer-use-mcp/sentinelApps.ts +0 -3
  2161. package/stubs/@ant/computer-use-mcp/types.js +0 -2
  2162. package/stubs/@ant/computer-use-mcp/types.ts +0 -6
  2163. package/stubs/@ant/computer-use-swift/index.js +0 -2
  2164. package/stubs/@ant/computer-use-swift/index.ts +0 -2
  2165. package/stubs/@ant/computer-use-swift/package.json +0 -6
  2166. package/stubs/@anthropic-ai/claude-agent-sdk/index.js +0 -2
  2167. package/stubs/@anthropic-ai/claude-agent-sdk/index.ts +0 -2
  2168. package/stubs/@anthropic-ai/claude-agent-sdk/package.json +0 -6
  2169. package/stubs/@anthropic-ai/mcpb/index.js +0 -2
  2170. package/stubs/@anthropic-ai/mcpb/index.ts +0 -3
  2171. package/stubs/@anthropic-ai/mcpb/package.json +0 -6
  2172. package/stubs/@anthropic-ai/sandbox-runtime/index.js +0 -4
  2173. package/stubs/@anthropic-ai/sandbox-runtime/index.ts +0 -49
  2174. package/stubs/@anthropic-ai/sandbox-runtime/package.json +0 -6
  2175. package/stubs/globals.ts +0 -11
  2176. package/stubs/macro.d.ts +0 -9
  2177. package/tsconfig.json +0 -28
@@ -1,2578 +0,0 @@
1
- /**
2
- * Pure-TypeScript port of yoga-layout (Meta's flexbox engine).
3
- *
4
- * This matches the `yoga-layout/load` API surface used by src/ink/layout/yoga.ts.
5
- * The upstream C++ source is ~2500 lines in CalculateLayout.cpp alone; this port
6
- * is a simplified single-pass flexbox implementation that covers the subset of
7
- * features Ink actually uses:
8
- * - flex-direction (row/column + reverse)
9
- * - flex-grow / flex-shrink / flex-basis
10
- * - align-items / align-self (stretch, flex-start, center, flex-end)
11
- * - justify-content (all six values)
12
- * - margin / padding / border / gap
13
- * - width / height / min / max (point, percent, auto)
14
- * - position: relative / absolute
15
- * - display: flex / none
16
- * - measure functions (for text nodes)
17
- *
18
- * Also implemented for spec parity (not used by Ink):
19
- * - margin: auto (main + cross axis, overrides justify/align)
20
- * - multi-pass flex clamping when children hit min/max constraints
21
- * - flex-grow/shrink against container min/max when size is indefinite
22
- *
23
- * Also implemented for spec parity (not used by Ink):
24
- * - flex-wrap: wrap / wrap-reverse (multi-line flex)
25
- * - align-content (positions wrapped lines on cross axis)
26
- *
27
- * Also implemented for spec parity (not used by Ink):
28
- * - display: contents (children lifted to grandparent, box removed)
29
- *
30
- * Also implemented for spec parity (not used by Ink):
31
- * - baseline alignment (align-items/align-self: baseline)
32
- *
33
- * Not implemented (not used by Ink):
34
- * - aspect-ratio
35
- * - box-sizing: content-box
36
- * - RTL direction (Ink always passes Direction.LTR)
37
- *
38
- * Upstream: https://github.com/facebook/yoga
39
- */
40
-
41
- import {
42
- Align,
43
- BoxSizing,
44
- Dimension,
45
- Direction,
46
- Display,
47
- Edge,
48
- Errata,
49
- ExperimentalFeature,
50
- FlexDirection,
51
- Gutter,
52
- Justify,
53
- MeasureMode,
54
- Overflow,
55
- PositionType,
56
- Unit,
57
- Wrap,
58
- } from './enums.js'
59
-
60
- export {
61
- Align,
62
- BoxSizing,
63
- Dimension,
64
- Direction,
65
- Display,
66
- Edge,
67
- Errata,
68
- ExperimentalFeature,
69
- FlexDirection,
70
- Gutter,
71
- Justify,
72
- MeasureMode,
73
- Overflow,
74
- PositionType,
75
- Unit,
76
- Wrap,
77
- }
78
-
79
- // --
80
- // Value types
81
-
82
- export type Value = {
83
- unit: Unit
84
- value: number
85
- }
86
-
87
- const UNDEFINED_VALUE: Value = { unit: Unit.Undefined, value: NaN }
88
- const AUTO_VALUE: Value = { unit: Unit.Auto, value: NaN }
89
-
90
- function pointValue(v: number): Value {
91
- return { unit: Unit.Point, value: v }
92
- }
93
- function percentValue(v: number): Value {
94
- return { unit: Unit.Percent, value: v }
95
- }
96
-
97
- function resolveValue(v: Value, ownerSize: number): number {
98
- switch (v.unit) {
99
- case Unit.Point:
100
- return v.value
101
- case Unit.Percent:
102
- return isNaN(ownerSize) ? NaN : (v.value * ownerSize) / 100
103
- default:
104
- return NaN
105
- }
106
- }
107
-
108
- function isDefined(n: number): boolean {
109
- return !isNaN(n)
110
- }
111
-
112
- // NaN-safe equality for layout-cache input comparison
113
- function sameFloat(a: number, b: number): boolean {
114
- return a === b || (a !== a && b !== b)
115
- }
116
-
117
- // --
118
- // Layout result (computed values)
119
-
120
- type Layout = {
121
- left: number
122
- top: number
123
- width: number
124
- height: number
125
- // Computed per-edge values (resolved to physical edges)
126
- border: [number, number, number, number] // left, top, right, bottom
127
- padding: [number, number, number, number]
128
- margin: [number, number, number, number]
129
- }
130
-
131
- // --
132
- // Style (input values)
133
-
134
- type Style = {
135
- direction: Direction
136
- flexDirection: FlexDirection
137
- justifyContent: Justify
138
- alignItems: Align
139
- alignSelf: Align
140
- alignContent: Align
141
- flexWrap: Wrap
142
- overflow: Overflow
143
- display: Display
144
- positionType: PositionType
145
-
146
- flexGrow: number
147
- flexShrink: number
148
- flexBasis: Value
149
-
150
- // 9-edge arrays indexed by Edge enum
151
- margin: Value[]
152
- padding: Value[]
153
- border: Value[]
154
- position: Value[]
155
-
156
- // 3-gutter array indexed by Gutter enum
157
- gap: Value[]
158
-
159
- width: Value
160
- height: Value
161
- minWidth: Value
162
- minHeight: Value
163
- maxWidth: Value
164
- maxHeight: Value
165
- }
166
-
167
- function defaultStyle(): Style {
168
- return {
169
- direction: Direction.Inherit,
170
- flexDirection: FlexDirection.Column,
171
- justifyContent: Justify.FlexStart,
172
- alignItems: Align.Stretch,
173
- alignSelf: Align.Auto,
174
- alignContent: Align.FlexStart,
175
- flexWrap: Wrap.NoWrap,
176
- overflow: Overflow.Visible,
177
- display: Display.Flex,
178
- positionType: PositionType.Relative,
179
- flexGrow: 0,
180
- flexShrink: 0,
181
- flexBasis: AUTO_VALUE,
182
- margin: new Array(9).fill(UNDEFINED_VALUE),
183
- padding: new Array(9).fill(UNDEFINED_VALUE),
184
- border: new Array(9).fill(UNDEFINED_VALUE),
185
- position: new Array(9).fill(UNDEFINED_VALUE),
186
- gap: new Array(3).fill(UNDEFINED_VALUE),
187
- width: AUTO_VALUE,
188
- height: AUTO_VALUE,
189
- minWidth: UNDEFINED_VALUE,
190
- minHeight: UNDEFINED_VALUE,
191
- maxWidth: UNDEFINED_VALUE,
192
- maxHeight: UNDEFINED_VALUE,
193
- }
194
- }
195
-
196
- // --
197
- // Edge resolution — yoga's 9-edge model collapsed to 4 physical edges
198
-
199
- const EDGE_LEFT = 0
200
- const EDGE_TOP = 1
201
- const EDGE_RIGHT = 2
202
- const EDGE_BOTTOM = 3
203
-
204
- function resolveEdge(
205
- edges: Value[],
206
- physicalEdge: number,
207
- ownerSize: number,
208
- // For margin/position we allow auto; for padding/border auto resolves to 0
209
- allowAuto = false,
210
- ): number {
211
- // Precedence: specific edge > horizontal/vertical > all
212
- let v = edges[physicalEdge]!
213
- if (v.unit === Unit.Undefined) {
214
- if (physicalEdge === EDGE_LEFT || physicalEdge === EDGE_RIGHT) {
215
- v = edges[Edge.Horizontal]!
216
- } else {
217
- v = edges[Edge.Vertical]!
218
- }
219
- }
220
- if (v.unit === Unit.Undefined) {
221
- v = edges[Edge.All]!
222
- }
223
- // Start/End map to Left/Right for LTR (Ink is always LTR)
224
- if (v.unit === Unit.Undefined) {
225
- if (physicalEdge === EDGE_LEFT) v = edges[Edge.Start]!
226
- if (physicalEdge === EDGE_RIGHT) v = edges[Edge.End]!
227
- }
228
- if (v.unit === Unit.Undefined) return 0
229
- if (v.unit === Unit.Auto) return allowAuto ? NaN : 0
230
- return resolveValue(v, ownerSize)
231
- }
232
-
233
- function resolveEdgeRaw(edges: Value[], physicalEdge: number): Value {
234
- let v = edges[physicalEdge]!
235
- if (v.unit === Unit.Undefined) {
236
- if (physicalEdge === EDGE_LEFT || physicalEdge === EDGE_RIGHT) {
237
- v = edges[Edge.Horizontal]!
238
- } else {
239
- v = edges[Edge.Vertical]!
240
- }
241
- }
242
- if (v.unit === Unit.Undefined) v = edges[Edge.All]!
243
- if (v.unit === Unit.Undefined) {
244
- if (physicalEdge === EDGE_LEFT) v = edges[Edge.Start]!
245
- if (physicalEdge === EDGE_RIGHT) v = edges[Edge.End]!
246
- }
247
- return v
248
- }
249
-
250
- function isMarginAuto(edges: Value[], physicalEdge: number): boolean {
251
- return resolveEdgeRaw(edges, physicalEdge).unit === Unit.Auto
252
- }
253
-
254
- // Setter helpers for the _hasAutoMargin / _hasPosition fast-path flags.
255
- // Unit.Undefined = 0, Unit.Auto = 3.
256
- function hasAnyAutoEdge(edges: Value[]): boolean {
257
- for (let i = 0; i < 9; i++) if (edges[i]!.unit === 3) return true
258
- return false
259
- }
260
- function hasAnyDefinedEdge(edges: Value[]): boolean {
261
- for (let i = 0; i < 9; i++) if (edges[i]!.unit !== 0) return true
262
- return false
263
- }
264
-
265
- // Hot path: resolve all 4 physical edges in one pass, writing into `out`.
266
- // Equivalent to calling resolveEdge() 4× with allowAuto=false, but hoists the
267
- // shared fallback lookups (Horizontal/Vertical/All/Start/End) and avoids
268
- // allocating a fresh 4-array on every layoutNode() call.
269
- function resolveEdges4Into(
270
- edges: Value[],
271
- ownerSize: number,
272
- out: [number, number, number, number],
273
- ): void {
274
- // Hoist fallbacks once — the 4 per-edge chains share these reads.
275
- const eH = edges[6]! // Edge.Horizontal
276
- const eV = edges[7]! // Edge.Vertical
277
- const eA = edges[8]! // Edge.All
278
- const eS = edges[4]! // Edge.Start
279
- const eE = edges[5]! // Edge.End
280
- const pctDenom = isNaN(ownerSize) ? NaN : ownerSize / 100
281
-
282
- // Left: edges[0] → Horizontal → All → Start
283
- let v = edges[0]!
284
- if (v.unit === 0) v = eH
285
- if (v.unit === 0) v = eA
286
- if (v.unit === 0) v = eS
287
- out[0] = v.unit === 1 ? v.value : v.unit === 2 ? v.value * pctDenom : 0
288
-
289
- // Top: edges[1] → Vertical → All
290
- v = edges[1]!
291
- if (v.unit === 0) v = eV
292
- if (v.unit === 0) v = eA
293
- out[1] = v.unit === 1 ? v.value : v.unit === 2 ? v.value * pctDenom : 0
294
-
295
- // Right: edges[2] → Horizontal → All → End
296
- v = edges[2]!
297
- if (v.unit === 0) v = eH
298
- if (v.unit === 0) v = eA
299
- if (v.unit === 0) v = eE
300
- out[2] = v.unit === 1 ? v.value : v.unit === 2 ? v.value * pctDenom : 0
301
-
302
- // Bottom: edges[3] → Vertical → All
303
- v = edges[3]!
304
- if (v.unit === 0) v = eV
305
- if (v.unit === 0) v = eA
306
- out[3] = v.unit === 1 ? v.value : v.unit === 2 ? v.value * pctDenom : 0
307
- }
308
-
309
- // --
310
- // Axis helpers
311
-
312
- function isRow(dir: FlexDirection): boolean {
313
- return dir === FlexDirection.Row || dir === FlexDirection.RowReverse
314
- }
315
- function isReverse(dir: FlexDirection): boolean {
316
- return dir === FlexDirection.RowReverse || dir === FlexDirection.ColumnReverse
317
- }
318
- function crossAxis(dir: FlexDirection): FlexDirection {
319
- return isRow(dir) ? FlexDirection.Column : FlexDirection.Row
320
- }
321
- function leadingEdge(dir: FlexDirection): number {
322
- switch (dir) {
323
- case FlexDirection.Row:
324
- return EDGE_LEFT
325
- case FlexDirection.RowReverse:
326
- return EDGE_RIGHT
327
- case FlexDirection.Column:
328
- return EDGE_TOP
329
- case FlexDirection.ColumnReverse:
330
- return EDGE_BOTTOM
331
- }
332
- }
333
- function trailingEdge(dir: FlexDirection): number {
334
- switch (dir) {
335
- case FlexDirection.Row:
336
- return EDGE_RIGHT
337
- case FlexDirection.RowReverse:
338
- return EDGE_LEFT
339
- case FlexDirection.Column:
340
- return EDGE_BOTTOM
341
- case FlexDirection.ColumnReverse:
342
- return EDGE_TOP
343
- }
344
- }
345
-
346
- // --
347
- // Public types
348
-
349
- export type MeasureFunction = (
350
- width: number,
351
- widthMode: MeasureMode,
352
- height: number,
353
- heightMode: MeasureMode,
354
- ) => { width: number; height: number }
355
-
356
- export type Size = { width: number; height: number }
357
-
358
- // --
359
- // Config
360
-
361
- export type Config = {
362
- pointScaleFactor: number
363
- errata: Errata
364
- useWebDefaults: boolean
365
- free(): void
366
- isExperimentalFeatureEnabled(_: ExperimentalFeature): boolean
367
- setExperimentalFeatureEnabled(_: ExperimentalFeature, __: boolean): void
368
- setPointScaleFactor(factor: number): void
369
- getErrata(): Errata
370
- setErrata(errata: Errata): void
371
- setUseWebDefaults(v: boolean): void
372
- }
373
-
374
- function createConfig(): Config {
375
- const config: Config = {
376
- pointScaleFactor: 1,
377
- errata: Errata.None,
378
- useWebDefaults: false,
379
- free() {},
380
- isExperimentalFeatureEnabled() {
381
- return false
382
- },
383
- setExperimentalFeatureEnabled() {},
384
- setPointScaleFactor(f) {
385
- config.pointScaleFactor = f
386
- },
387
- getErrata() {
388
- return config.errata
389
- },
390
- setErrata(e) {
391
- config.errata = e
392
- },
393
- setUseWebDefaults(v) {
394
- config.useWebDefaults = v
395
- },
396
- }
397
- return config
398
- }
399
-
400
- // --
401
- // Node implementation
402
-
403
- export class Node {
404
- style: Style
405
- layout: Layout
406
- parent: Node | null
407
- children: Node[]
408
- measureFunc: MeasureFunction | null
409
- config: Config
410
- isDirty_: boolean
411
- isReferenceBaseline_: boolean
412
-
413
- // Per-layout scratch (not public API)
414
- _flexBasis = 0
415
- _mainSize = 0
416
- _crossSize = 0
417
- _lineIndex = 0
418
- // Fast-path flags maintained by style setters. Per CPU profile, the
419
- // positioning loop calls isMarginAuto 6× and resolveEdgeRaw(position) 4×
420
- // per child per layout pass — ~11k calls for the 1000-node bench, nearly
421
- // all of which return false/undefined since most nodes have no auto
422
- // margins and no position insets. These flags let us skip straight to
423
- // the common case with a single branch.
424
- _hasAutoMargin = false
425
- _hasPosition = false
426
- // Same pattern for the 3× resolveEdges4Into calls at the top of every
427
- // layoutNode(). In the 1000-node bench ~67% of those calls operate on
428
- // all-undefined edge arrays (most nodes have no border; only cols have
429
- // padding; only leaf cells have margin) — a single-branch skip beats
430
- // ~20 property reads + ~15 compares + 4 writes of zeros.
431
- _hasPadding = false
432
- _hasBorder = false
433
- _hasMargin = false
434
- // -- Dirty-flag layout cache. Mirrors upstream CalculateLayout.cpp's
435
- // layoutNodeInternal: skip a subtree entirely when it's clean and we're
436
- // asking the same question we cached the answer to. Two slots since
437
- // each node typically sees a measure call (performLayout=false, from
438
- // computeFlexBasis) followed by a layout call (performLayout=true) with
439
- // different inputs per parent pass — a single slot thrashes. Re-layout
440
- // bench (dirty one leaf, recompute root) went 2.7x→1.1x with this:
441
- // clean siblings skip straight through, only the dirty chain recomputes.
442
- _lW = NaN
443
- _lH = NaN
444
- _lWM: MeasureMode = 0
445
- _lHM: MeasureMode = 0
446
- _lOW = NaN
447
- _lOH = NaN
448
- _lFW = false
449
- _lFH = false
450
- // _hasL stores INPUTS early (before compute) but layout.width/height are
451
- // mutated by the multi-entry cache and by subsequent compute calls with
452
- // different inputs. Without storing OUTPUTS, a _hasL hit returns whatever
453
- // layout.width/height happened to be left by the last call — the scrollbox
454
- // vpH=33→2624 bug. Store + restore outputs like the multi-entry cache does.
455
- _lOutW = NaN
456
- _lOutH = NaN
457
- _hasL = false
458
- _mW = NaN
459
- _mH = NaN
460
- _mWM: MeasureMode = 0
461
- _mHM: MeasureMode = 0
462
- _mOW = NaN
463
- _mOH = NaN
464
- _mOutW = NaN
465
- _mOutH = NaN
466
- _hasM = false
467
- // Cached computeFlexBasis result. For clean children, basis only depends
468
- // on the container's inner dimensions — if those haven't changed, skip the
469
- // layoutNode(performLayout=false) recursion entirely. This is the hot path
470
- // for scroll: 500-message content container is dirty, its 499 clean
471
- // children each get measured ~20× as the dirty chain's measure/layout
472
- // passes cascade. Basis cache short-circuits at the child boundary.
473
- _fbBasis = NaN
474
- _fbOwnerW = NaN
475
- _fbOwnerH = NaN
476
- _fbAvailMain = NaN
477
- _fbAvailCross = NaN
478
- _fbCrossMode: MeasureMode = 0
479
- // Generation at which _fbBasis was written. Dirty nodes from a PREVIOUS
480
- // generation have stale cache (subtree changed), but within the SAME
481
- // generation the cache is fresh — the dirty chain's measure→layout
482
- // cascade invokes computeFlexBasis ≥2^depth times per calculateLayout on
483
- // fresh-mounted items, and the subtree doesn't change between calls.
484
- // Gating on generation instead of isDirty_ lets fresh mounts (virtual
485
- // scroll) cache-hit after first compute: 105k visits → ~10k.
486
- _fbGen = -1
487
- // Multi-entry layout cache — stores (inputs → computed w,h) so hits with
488
- // different inputs than _hasL can restore the right dimensions. Upstream
489
- // yoga uses 16; 4 covers Ink's dirty-chain depth. Packed as flat arrays
490
- // to avoid per-entry object allocs. Slot i uses indices [i*8, i*8+8) in
491
- // _cIn (aW,aH,wM,hM,oW,oH,fW,fH) and [i*2, i*2+2) in _cOut (w,h).
492
- _cIn: Float64Array | null = null
493
- _cOut: Float64Array | null = null
494
- _cGen = -1
495
- _cN = 0
496
- _cWr = 0
497
-
498
- constructor(config?: Config) {
499
- this.style = defaultStyle()
500
- this.layout = {
501
- left: 0,
502
- top: 0,
503
- width: 0,
504
- height: 0,
505
- border: [0, 0, 0, 0],
506
- padding: [0, 0, 0, 0],
507
- margin: [0, 0, 0, 0],
508
- }
509
- this.parent = null
510
- this.children = []
511
- this.measureFunc = null
512
- this.config = config ?? DEFAULT_CONFIG
513
- this.isDirty_ = true
514
- this.isReferenceBaseline_ = false
515
- _yogaLiveNodes++
516
- }
517
-
518
- // -- Tree
519
-
520
- insertChild(child: Node, index: number): void {
521
- child.parent = this
522
- this.children.splice(index, 0, child)
523
- this.markDirty()
524
- }
525
- removeChild(child: Node): void {
526
- const idx = this.children.indexOf(child)
527
- if (idx >= 0) {
528
- this.children.splice(idx, 1)
529
- child.parent = null
530
- this.markDirty()
531
- }
532
- }
533
- getChild(index: number): Node {
534
- return this.children[index]!
535
- }
536
- getChildCount(): number {
537
- return this.children.length
538
- }
539
- getParent(): Node | null {
540
- return this.parent
541
- }
542
-
543
- // -- Lifecycle
544
-
545
- free(): void {
546
- this.parent = null
547
- this.children = []
548
- this.measureFunc = null
549
- this._cIn = null
550
- this._cOut = null
551
- _yogaLiveNodes--
552
- }
553
- freeRecursive(): void {
554
- for (const c of this.children) c.freeRecursive()
555
- this.free()
556
- }
557
- reset(): void {
558
- this.style = defaultStyle()
559
- this.children = []
560
- this.parent = null
561
- this.measureFunc = null
562
- this.isDirty_ = true
563
- this._hasAutoMargin = false
564
- this._hasPosition = false
565
- this._hasPadding = false
566
- this._hasBorder = false
567
- this._hasMargin = false
568
- this._hasL = false
569
- this._hasM = false
570
- this._cN = 0
571
- this._cWr = 0
572
- this._fbBasis = NaN
573
- }
574
-
575
- // -- Dirty tracking
576
-
577
- markDirty(): void {
578
- this.isDirty_ = true
579
- if (this.parent && !this.parent.isDirty_) this.parent.markDirty()
580
- }
581
- isDirty(): boolean {
582
- return this.isDirty_
583
- }
584
- hasNewLayout(): boolean {
585
- return true
586
- }
587
- markLayoutSeen(): void {}
588
-
589
- // -- Measure function
590
-
591
- setMeasureFunc(fn: MeasureFunction | null): void {
592
- this.measureFunc = fn
593
- this.markDirty()
594
- }
595
- unsetMeasureFunc(): void {
596
- this.measureFunc = null
597
- this.markDirty()
598
- }
599
-
600
- // -- Computed layout getters
601
-
602
- getComputedLeft(): number {
603
- return this.layout.left
604
- }
605
- getComputedTop(): number {
606
- return this.layout.top
607
- }
608
- getComputedWidth(): number {
609
- return this.layout.width
610
- }
611
- getComputedHeight(): number {
612
- return this.layout.height
613
- }
614
- getComputedRight(): number {
615
- const p = this.parent
616
- return p ? p.layout.width - this.layout.left - this.layout.width : 0
617
- }
618
- getComputedBottom(): number {
619
- const p = this.parent
620
- return p ? p.layout.height - this.layout.top - this.layout.height : 0
621
- }
622
- getComputedLayout(): {
623
- left: number
624
- top: number
625
- right: number
626
- bottom: number
627
- width: number
628
- height: number
629
- } {
630
- return {
631
- left: this.layout.left,
632
- top: this.layout.top,
633
- right: this.getComputedRight(),
634
- bottom: this.getComputedBottom(),
635
- width: this.layout.width,
636
- height: this.layout.height,
637
- }
638
- }
639
- getComputedBorder(edge: Edge): number {
640
- return this.layout.border[physicalEdge(edge)]!
641
- }
642
- getComputedPadding(edge: Edge): number {
643
- return this.layout.padding[physicalEdge(edge)]!
644
- }
645
- getComputedMargin(edge: Edge): number {
646
- return this.layout.margin[physicalEdge(edge)]!
647
- }
648
-
649
- // -- Style setters: dimensions
650
-
651
- setWidth(v: number | 'auto' | string | undefined): void {
652
- this.style.width = parseDimension(v)
653
- this.markDirty()
654
- }
655
- setWidthPercent(v: number): void {
656
- this.style.width = percentValue(v)
657
- this.markDirty()
658
- }
659
- setWidthAuto(): void {
660
- this.style.width = AUTO_VALUE
661
- this.markDirty()
662
- }
663
- setHeight(v: number | 'auto' | string | undefined): void {
664
- this.style.height = parseDimension(v)
665
- this.markDirty()
666
- }
667
- setHeightPercent(v: number): void {
668
- this.style.height = percentValue(v)
669
- this.markDirty()
670
- }
671
- setHeightAuto(): void {
672
- this.style.height = AUTO_VALUE
673
- this.markDirty()
674
- }
675
- setMinWidth(v: number | string | undefined): void {
676
- this.style.minWidth = parseDimension(v)
677
- this.markDirty()
678
- }
679
- setMinWidthPercent(v: number): void {
680
- this.style.minWidth = percentValue(v)
681
- this.markDirty()
682
- }
683
- setMinHeight(v: number | string | undefined): void {
684
- this.style.minHeight = parseDimension(v)
685
- this.markDirty()
686
- }
687
- setMinHeightPercent(v: number): void {
688
- this.style.minHeight = percentValue(v)
689
- this.markDirty()
690
- }
691
- setMaxWidth(v: number | string | undefined): void {
692
- this.style.maxWidth = parseDimension(v)
693
- this.markDirty()
694
- }
695
- setMaxWidthPercent(v: number): void {
696
- this.style.maxWidth = percentValue(v)
697
- this.markDirty()
698
- }
699
- setMaxHeight(v: number | string | undefined): void {
700
- this.style.maxHeight = parseDimension(v)
701
- this.markDirty()
702
- }
703
- setMaxHeightPercent(v: number): void {
704
- this.style.maxHeight = percentValue(v)
705
- this.markDirty()
706
- }
707
-
708
- // -- Style setters: flex
709
-
710
- setFlexDirection(dir: FlexDirection): void {
711
- this.style.flexDirection = dir
712
- this.markDirty()
713
- }
714
- setFlexGrow(v: number | undefined): void {
715
- this.style.flexGrow = v ?? 0
716
- this.markDirty()
717
- }
718
- setFlexShrink(v: number | undefined): void {
719
- this.style.flexShrink = v ?? 0
720
- this.markDirty()
721
- }
722
- setFlex(v: number | undefined): void {
723
- if (v === undefined || isNaN(v)) {
724
- this.style.flexGrow = 0
725
- this.style.flexShrink = 0
726
- } else if (v > 0) {
727
- this.style.flexGrow = v
728
- this.style.flexShrink = 1
729
- this.style.flexBasis = pointValue(0)
730
- } else if (v < 0) {
731
- this.style.flexGrow = 0
732
- this.style.flexShrink = -v
733
- } else {
734
- this.style.flexGrow = 0
735
- this.style.flexShrink = 0
736
- }
737
- this.markDirty()
738
- }
739
- setFlexBasis(v: number | 'auto' | string | undefined): void {
740
- this.style.flexBasis = parseDimension(v)
741
- this.markDirty()
742
- }
743
- setFlexBasisPercent(v: number): void {
744
- this.style.flexBasis = percentValue(v)
745
- this.markDirty()
746
- }
747
- setFlexBasisAuto(): void {
748
- this.style.flexBasis = AUTO_VALUE
749
- this.markDirty()
750
- }
751
- setFlexWrap(wrap: Wrap): void {
752
- this.style.flexWrap = wrap
753
- this.markDirty()
754
- }
755
-
756
- // -- Style setters: alignment
757
-
758
- setAlignItems(a: Align): void {
759
- this.style.alignItems = a
760
- this.markDirty()
761
- }
762
- setAlignSelf(a: Align): void {
763
- this.style.alignSelf = a
764
- this.markDirty()
765
- }
766
- setAlignContent(a: Align): void {
767
- this.style.alignContent = a
768
- this.markDirty()
769
- }
770
- setJustifyContent(j: Justify): void {
771
- this.style.justifyContent = j
772
- this.markDirty()
773
- }
774
-
775
- // -- Style setters: display / position / overflow
776
-
777
- setDisplay(d: Display): void {
778
- this.style.display = d
779
- this.markDirty()
780
- }
781
- getDisplay(): Display {
782
- return this.style.display
783
- }
784
- setPositionType(t: PositionType): void {
785
- this.style.positionType = t
786
- this.markDirty()
787
- }
788
- setPosition(edge: Edge, v: number | string | undefined): void {
789
- this.style.position[edge] = parseDimension(v)
790
- this._hasPosition = hasAnyDefinedEdge(this.style.position)
791
- this.markDirty()
792
- }
793
- setPositionPercent(edge: Edge, v: number): void {
794
- this.style.position[edge] = percentValue(v)
795
- this._hasPosition = true
796
- this.markDirty()
797
- }
798
- setPositionAuto(edge: Edge): void {
799
- this.style.position[edge] = AUTO_VALUE
800
- this._hasPosition = true
801
- this.markDirty()
802
- }
803
- setOverflow(o: Overflow): void {
804
- this.style.overflow = o
805
- this.markDirty()
806
- }
807
- setDirection(d: Direction): void {
808
- this.style.direction = d
809
- this.markDirty()
810
- }
811
- setBoxSizing(_: BoxSizing): void {
812
- // Not implemented — Ink doesn't use content-box
813
- }
814
-
815
- // -- Style setters: spacing
816
-
817
- setMargin(edge: Edge, v: number | 'auto' | string | undefined): void {
818
- const val = parseDimension(v)
819
- this.style.margin[edge] = val
820
- if (val.unit === Unit.Auto) this._hasAutoMargin = true
821
- else this._hasAutoMargin = hasAnyAutoEdge(this.style.margin)
822
- this._hasMargin =
823
- this._hasAutoMargin || hasAnyDefinedEdge(this.style.margin)
824
- this.markDirty()
825
- }
826
- setMarginPercent(edge: Edge, v: number): void {
827
- this.style.margin[edge] = percentValue(v)
828
- this._hasAutoMargin = hasAnyAutoEdge(this.style.margin)
829
- this._hasMargin = true
830
- this.markDirty()
831
- }
832
- setMarginAuto(edge: Edge): void {
833
- this.style.margin[edge] = AUTO_VALUE
834
- this._hasAutoMargin = true
835
- this._hasMargin = true
836
- this.markDirty()
837
- }
838
- setPadding(edge: Edge, v: number | string | undefined): void {
839
- this.style.padding[edge] = parseDimension(v)
840
- this._hasPadding = hasAnyDefinedEdge(this.style.padding)
841
- this.markDirty()
842
- }
843
- setPaddingPercent(edge: Edge, v: number): void {
844
- this.style.padding[edge] = percentValue(v)
845
- this._hasPadding = true
846
- this.markDirty()
847
- }
848
- setBorder(edge: Edge, v: number | undefined): void {
849
- this.style.border[edge] = v === undefined ? UNDEFINED_VALUE : pointValue(v)
850
- this._hasBorder = hasAnyDefinedEdge(this.style.border)
851
- this.markDirty()
852
- }
853
- setGap(gutter: Gutter, v: number | string | undefined): void {
854
- this.style.gap[gutter] = parseDimension(v)
855
- this.markDirty()
856
- }
857
- setGapPercent(gutter: Gutter, v: number): void {
858
- this.style.gap[gutter] = percentValue(v)
859
- this.markDirty()
860
- }
861
-
862
- // -- Style getters (partial — only what tests need)
863
-
864
- getFlexDirection(): FlexDirection {
865
- return this.style.flexDirection
866
- }
867
- getJustifyContent(): Justify {
868
- return this.style.justifyContent
869
- }
870
- getAlignItems(): Align {
871
- return this.style.alignItems
872
- }
873
- getAlignSelf(): Align {
874
- return this.style.alignSelf
875
- }
876
- getAlignContent(): Align {
877
- return this.style.alignContent
878
- }
879
- getFlexGrow(): number {
880
- return this.style.flexGrow
881
- }
882
- getFlexShrink(): number {
883
- return this.style.flexShrink
884
- }
885
- getFlexBasis(): Value {
886
- return this.style.flexBasis
887
- }
888
- getFlexWrap(): Wrap {
889
- return this.style.flexWrap
890
- }
891
- getWidth(): Value {
892
- return this.style.width
893
- }
894
- getHeight(): Value {
895
- return this.style.height
896
- }
897
- getOverflow(): Overflow {
898
- return this.style.overflow
899
- }
900
- getPositionType(): PositionType {
901
- return this.style.positionType
902
- }
903
- getDirection(): Direction {
904
- return this.style.direction
905
- }
906
-
907
- // -- Unused API stubs (present for API parity)
908
-
909
- copyStyle(_: Node): void {}
910
- setDirtiedFunc(_: unknown): void {}
911
- unsetDirtiedFunc(): void {}
912
- setIsReferenceBaseline(v: boolean): void {
913
- this.isReferenceBaseline_ = v
914
- this.markDirty()
915
- }
916
- isReferenceBaseline(): boolean {
917
- return this.isReferenceBaseline_
918
- }
919
- setAspectRatio(_: number | undefined): void {}
920
- getAspectRatio(): number {
921
- return NaN
922
- }
923
- setAlwaysFormsContainingBlock(_: boolean): void {}
924
-
925
- // -- Layout entry point
926
-
927
- calculateLayout(
928
- ownerWidth: number | undefined,
929
- ownerHeight: number | undefined,
930
- _direction?: Direction,
931
- ): void {
932
- _yogaNodesVisited = 0
933
- _yogaMeasureCalls = 0
934
- _yogaCacheHits = 0
935
- _generation++
936
- const w = ownerWidth === undefined ? NaN : ownerWidth
937
- const h = ownerHeight === undefined ? NaN : ownerHeight
938
- layoutNode(
939
- this,
940
- w,
941
- h,
942
- isDefined(w) ? MeasureMode.Exactly : MeasureMode.Undefined,
943
- isDefined(h) ? MeasureMode.Exactly : MeasureMode.Undefined,
944
- w,
945
- h,
946
- true,
947
- )
948
- // Root's own position = margin + position insets (yoga applies position
949
- // to the root even without a parent container; this matters for rounding
950
- // since the root's abs top/left seeds the pixel-grid walk).
951
- const mar = this.layout.margin
952
- const posL = resolveValue(
953
- resolveEdgeRaw(this.style.position, EDGE_LEFT),
954
- isDefined(w) ? w : 0,
955
- )
956
- const posT = resolveValue(
957
- resolveEdgeRaw(this.style.position, EDGE_TOP),
958
- isDefined(w) ? w : 0,
959
- )
960
- this.layout.left = mar[EDGE_LEFT] + (isDefined(posL) ? posL : 0)
961
- this.layout.top = mar[EDGE_TOP] + (isDefined(posT) ? posT : 0)
962
- roundLayout(this, this.config.pointScaleFactor, 0, 0)
963
- }
964
- }
965
-
966
- const DEFAULT_CONFIG = createConfig()
967
-
968
- const CACHE_SLOTS = 4
969
- function cacheWrite(
970
- node: Node,
971
- aW: number,
972
- aH: number,
973
- wM: MeasureMode,
974
- hM: MeasureMode,
975
- oW: number,
976
- oH: number,
977
- fW: boolean,
978
- fH: boolean,
979
- wasDirty: boolean,
980
- ): void {
981
- if (!node._cIn) {
982
- node._cIn = new Float64Array(CACHE_SLOTS * 8)
983
- node._cOut = new Float64Array(CACHE_SLOTS * 2)
984
- }
985
- // First write after a dirty clears stale entries from before the dirty.
986
- // _cGen < _generation means entries are from a previous calculateLayout;
987
- // if wasDirty, the subtree changed since then → old dimensions invalid.
988
- // Clean nodes' old entries stay — same subtree → same result for same
989
- // inputs, so cross-generation caching works (the scroll hot path where
990
- // 499 clean messages cache-hit while one dirty leaf recomputes).
991
- if (wasDirty && node._cGen !== _generation) {
992
- node._cN = 0
993
- node._cWr = 0
994
- }
995
- // LRU write index wraps; _cN stays at CACHE_SLOTS so the read scan always
996
- // checks all populated slots (not just those since last wrap).
997
- const i = node._cWr++ % CACHE_SLOTS
998
- if (node._cN < CACHE_SLOTS) node._cN = node._cWr
999
- const o = i * 8
1000
- const cIn = node._cIn
1001
- cIn[o] = aW
1002
- cIn[o + 1] = aH
1003
- cIn[o + 2] = wM
1004
- cIn[o + 3] = hM
1005
- cIn[o + 4] = oW
1006
- cIn[o + 5] = oH
1007
- cIn[o + 6] = fW ? 1 : 0
1008
- cIn[o + 7] = fH ? 1 : 0
1009
- node._cOut![i * 2] = node.layout.width
1010
- node._cOut![i * 2 + 1] = node.layout.height
1011
- node._cGen = _generation
1012
- }
1013
-
1014
- // Store computed layout.width/height into the single-slot cache output fields.
1015
- // _hasL/_hasM inputs are committed at the TOP of layoutNode (before compute);
1016
- // outputs must be committed HERE (after compute) so a cache hit can restore
1017
- // the correct dimensions. Without this, a _hasL hit returns whatever
1018
- // layout.width/height was left by the last call — which may be the intrinsic
1019
- // content height from a heightMode=Undefined measure pass rather than the
1020
- // constrained viewport height from the layout pass. That's the scrollbox
1021
- // vpH=33→2624 bug: scrollTop clamps to 0, viewport goes blank.
1022
- function commitCacheOutputs(node: Node, performLayout: boolean): void {
1023
- if (performLayout) {
1024
- node._lOutW = node.layout.width
1025
- node._lOutH = node.layout.height
1026
- } else {
1027
- node._mOutW = node.layout.width
1028
- node._mOutH = node.layout.height
1029
- }
1030
- }
1031
-
1032
- // --
1033
- // Core flexbox algorithm
1034
-
1035
- // Profiling counters — reset per calculateLayout, read via getYogaCounters.
1036
- // Incremented on each calculateLayout(). Nodes stamp _fbGen/_cGen when
1037
- // their cache is written; a cache entry with gen === _generation was
1038
- // computed THIS pass and is fresh regardless of isDirty_ state.
1039
- let _generation = 0
1040
- let _yogaNodesVisited = 0
1041
- let _yogaMeasureCalls = 0
1042
- let _yogaCacheHits = 0
1043
- let _yogaLiveNodes = 0
1044
- export function getYogaCounters(): {
1045
- visited: number
1046
- measured: number
1047
- cacheHits: number
1048
- live: number
1049
- } {
1050
- return {
1051
- visited: _yogaNodesVisited,
1052
- measured: _yogaMeasureCalls,
1053
- cacheHits: _yogaCacheHits,
1054
- live: _yogaLiveNodes,
1055
- }
1056
- }
1057
-
1058
- function layoutNode(
1059
- node: Node,
1060
- availableWidth: number,
1061
- availableHeight: number,
1062
- widthMode: MeasureMode,
1063
- heightMode: MeasureMode,
1064
- ownerWidth: number,
1065
- ownerHeight: number,
1066
- performLayout: boolean,
1067
- // When true, ignore style dimension on this axis — the flex container
1068
- // has already determined the main size (flex-basis + grow/shrink result).
1069
- forceWidth = false,
1070
- forceHeight = false,
1071
- ): void {
1072
- _yogaNodesVisited++
1073
- const style = node.style
1074
- const layout = node.layout
1075
-
1076
- // Dirty-flag skip: clean subtree + matching inputs → layout object already
1077
- // holds the answer. A cached layout result also satisfies a measure request
1078
- // (positions are a superset of dimensions); the reverse does not hold.
1079
- // Same-generation entries are fresh regardless of isDirty_ — they were
1080
- // computed THIS calculateLayout, the subtree hasn't changed since.
1081
- // Previous-generation entries need !isDirty_ (a dirty node's cache from
1082
- // before the dirty is stale).
1083
- // sameGen bypass only for MEASURE calls — a layout-pass cache hit would
1084
- // skip the child-positioning recursion (STEP 5), leaving children at
1085
- // stale positions. Measure calls only need w/h which the cache stores.
1086
- const sameGen = node._cGen === _generation && !performLayout
1087
- if (!node.isDirty_ || sameGen) {
1088
- if (
1089
- !node.isDirty_ &&
1090
- node._hasL &&
1091
- node._lWM === widthMode &&
1092
- node._lHM === heightMode &&
1093
- node._lFW === forceWidth &&
1094
- node._lFH === forceHeight &&
1095
- sameFloat(node._lW, availableWidth) &&
1096
- sameFloat(node._lH, availableHeight) &&
1097
- sameFloat(node._lOW, ownerWidth) &&
1098
- sameFloat(node._lOH, ownerHeight)
1099
- ) {
1100
- _yogaCacheHits++
1101
- layout.width = node._lOutW
1102
- layout.height = node._lOutH
1103
- return
1104
- }
1105
- // Multi-entry cache: scan for matching inputs, restore cached w/h on hit.
1106
- // Covers the scroll case where a dirty ancestor's measure→layout cascade
1107
- // produces N>1 distinct input combos per clean child — the single _hasL
1108
- // slot thrashed, forcing full subtree recursion. With 500-message
1109
- // scrollbox and one dirty leaf, this took dirty-leaf relayout from
1110
- // 76k layoutNode calls (21.7×nodes) to 4k (1.2×nodes), 6.86ms → 550µs.
1111
- // Same-generation check covers fresh-mounted (dirty) nodes during
1112
- // virtual scroll — the dirty chain invokes them ≥2^depth times, first
1113
- // call writes cache, rest hit: 105k visits → ~10k for 1593-node tree.
1114
- if (node._cN > 0 && (sameGen || !node.isDirty_)) {
1115
- const cIn = node._cIn!
1116
- for (let i = 0; i < node._cN; i++) {
1117
- const o = i * 8
1118
- if (
1119
- cIn[o + 2] === widthMode &&
1120
- cIn[o + 3] === heightMode &&
1121
- cIn[o + 6] === (forceWidth ? 1 : 0) &&
1122
- cIn[o + 7] === (forceHeight ? 1 : 0) &&
1123
- sameFloat(cIn[o]!, availableWidth) &&
1124
- sameFloat(cIn[o + 1]!, availableHeight) &&
1125
- sameFloat(cIn[o + 4]!, ownerWidth) &&
1126
- sameFloat(cIn[o + 5]!, ownerHeight)
1127
- ) {
1128
- layout.width = node._cOut![i * 2]!
1129
- layout.height = node._cOut![i * 2 + 1]!
1130
- _yogaCacheHits++
1131
- return
1132
- }
1133
- }
1134
- }
1135
- if (
1136
- !node.isDirty_ &&
1137
- !performLayout &&
1138
- node._hasM &&
1139
- node._mWM === widthMode &&
1140
- node._mHM === heightMode &&
1141
- sameFloat(node._mW, availableWidth) &&
1142
- sameFloat(node._mH, availableHeight) &&
1143
- sameFloat(node._mOW, ownerWidth) &&
1144
- sameFloat(node._mOH, ownerHeight)
1145
- ) {
1146
- layout.width = node._mOutW
1147
- layout.height = node._mOutH
1148
- _yogaCacheHits++
1149
- return
1150
- }
1151
- }
1152
- // Commit cache inputs up front so every return path leaves a valid entry.
1153
- // Only clear isDirty_ on the LAYOUT pass — the measure pass (computeFlexBasis
1154
- // → layoutNode(performLayout=false)) runs before the layout pass in the same
1155
- // calculateLayout call. Clearing dirty during measure lets the subsequent
1156
- // layout pass hit the STALE _hasL cache from the previous calculateLayout
1157
- // (before children were inserted), so ScrollBox content height never grows
1158
- // and sticky-scroll never follows new content. A dirty node's _hasL entry is
1159
- // stale by definition — invalidate it so the layout pass recomputes.
1160
- const wasDirty = node.isDirty_
1161
- if (performLayout) {
1162
- node._lW = availableWidth
1163
- node._lH = availableHeight
1164
- node._lWM = widthMode
1165
- node._lHM = heightMode
1166
- node._lOW = ownerWidth
1167
- node._lOH = ownerHeight
1168
- node._lFW = forceWidth
1169
- node._lFH = forceHeight
1170
- node._hasL = true
1171
- node.isDirty_ = false
1172
- // Previous approach cleared _cN here to prevent stale pre-dirty entries
1173
- // from hitting (long-continuous blank-screen bug). Now replaced by
1174
- // generation stamping: the cache check requires sameGen || !isDirty_, so
1175
- // previous-generation entries from a dirty node can't hit. Clearing here
1176
- // would wipe fresh same-generation entries from an earlier measure call,
1177
- // forcing recompute on the layout call.
1178
- if (wasDirty) node._hasM = false
1179
- } else {
1180
- node._mW = availableWidth
1181
- node._mH = availableHeight
1182
- node._mWM = widthMode
1183
- node._mHM = heightMode
1184
- node._mOW = ownerWidth
1185
- node._mOH = ownerHeight
1186
- node._hasM = true
1187
- // Don't clear isDirty_. For DIRTY nodes, invalidate _hasL so the upcoming
1188
- // performLayout=true call recomputes with the new child set (otherwise
1189
- // sticky-scroll never follows new content — the bug from 4557bc9f9c).
1190
- // Clean nodes keep _hasL: their layout from the previous generation is
1191
- // still valid, they're only here because an ancestor is dirty and called
1192
- // with different inputs than cached.
1193
- if (wasDirty) node._hasL = false
1194
- }
1195
-
1196
- // Resolve padding/border/margin against ownerWidth (yoga uses ownerWidth for %)
1197
- // Write directly into the pre-allocated layout arrays — avoids 3 allocs per
1198
- // layoutNode call and 12 resolveEdge calls (was the #1 hotspot per CPU profile).
1199
- // Skip entirely when no edges are set — the 4-write zero is cheaper than
1200
- // the ~20 reads + ~15 compares resolveEdges4Into does to produce zeros.
1201
- const pad = layout.padding
1202
- const bor = layout.border
1203
- const mar = layout.margin
1204
- if (node._hasPadding) resolveEdges4Into(style.padding, ownerWidth, pad)
1205
- else pad[0] = pad[1] = pad[2] = pad[3] = 0
1206
- if (node._hasBorder) resolveEdges4Into(style.border, ownerWidth, bor)
1207
- else bor[0] = bor[1] = bor[2] = bor[3] = 0
1208
- if (node._hasMargin) resolveEdges4Into(style.margin, ownerWidth, mar)
1209
- else mar[0] = mar[1] = mar[2] = mar[3] = 0
1210
-
1211
- const paddingBorderWidth = pad[0] + pad[2] + bor[0] + bor[2]
1212
- const paddingBorderHeight = pad[1] + pad[3] + bor[1] + bor[3]
1213
-
1214
- // Resolve style dimensions
1215
- const styleWidth = forceWidth ? NaN : resolveValue(style.width, ownerWidth)
1216
- const styleHeight = forceHeight
1217
- ? NaN
1218
- : resolveValue(style.height, ownerHeight)
1219
-
1220
- // If style dimension is defined, it overrides the available size
1221
- let width = availableWidth
1222
- let height = availableHeight
1223
- let wMode = widthMode
1224
- let hMode = heightMode
1225
- if (isDefined(styleWidth)) {
1226
- width = styleWidth
1227
- wMode = MeasureMode.Exactly
1228
- }
1229
- if (isDefined(styleHeight)) {
1230
- height = styleHeight
1231
- hMode = MeasureMode.Exactly
1232
- }
1233
-
1234
- // Apply min/max constraints to the node's own dimensions
1235
- width = boundAxis(style, true, width, ownerWidth, ownerHeight)
1236
- height = boundAxis(style, false, height, ownerWidth, ownerHeight)
1237
-
1238
- // Measure-func leaf node
1239
- if (node.measureFunc && node.children.length === 0) {
1240
- const innerW =
1241
- wMode === MeasureMode.Undefined
1242
- ? NaN
1243
- : Math.max(0, width - paddingBorderWidth)
1244
- const innerH =
1245
- hMode === MeasureMode.Undefined
1246
- ? NaN
1247
- : Math.max(0, height - paddingBorderHeight)
1248
- _yogaMeasureCalls++
1249
- const measured = node.measureFunc(innerW, wMode, innerH, hMode)
1250
- node.layout.width =
1251
- wMode === MeasureMode.Exactly
1252
- ? width
1253
- : boundAxis(
1254
- style,
1255
- true,
1256
- (measured.width ?? 0) + paddingBorderWidth,
1257
- ownerWidth,
1258
- ownerHeight,
1259
- )
1260
- node.layout.height =
1261
- hMode === MeasureMode.Exactly
1262
- ? height
1263
- : boundAxis(
1264
- style,
1265
- false,
1266
- (measured.height ?? 0) + paddingBorderHeight,
1267
- ownerWidth,
1268
- ownerHeight,
1269
- )
1270
- commitCacheOutputs(node, performLayout)
1271
- // Write cache even for dirty nodes — fresh-mounted items during virtual
1272
- // scroll are dirty on first layout, but the dirty chain's measure→layout
1273
- // cascade invokes them ≥2^depth times per calculateLayout. Writing here
1274
- // lets the 2nd+ calls hit cache (isDirty_ was cleared in the layout pass
1275
- // above). Measured: 105k visits → 10k for a 1593-node fresh-mount tree.
1276
- cacheWrite(
1277
- node,
1278
- availableWidth,
1279
- availableHeight,
1280
- widthMode,
1281
- heightMode,
1282
- ownerWidth,
1283
- ownerHeight,
1284
- forceWidth,
1285
- forceHeight,
1286
- wasDirty,
1287
- )
1288
- return
1289
- }
1290
-
1291
- // Leaf node with no children and no measure func
1292
- if (node.children.length === 0) {
1293
- node.layout.width =
1294
- wMode === MeasureMode.Exactly
1295
- ? width
1296
- : boundAxis(style, true, paddingBorderWidth, ownerWidth, ownerHeight)
1297
- node.layout.height =
1298
- hMode === MeasureMode.Exactly
1299
- ? height
1300
- : boundAxis(style, false, paddingBorderHeight, ownerWidth, ownerHeight)
1301
- commitCacheOutputs(node, performLayout)
1302
- // Write cache even for dirty nodes — fresh-mounted items during virtual
1303
- // scroll are dirty on first layout, but the dirty chain's measure→layout
1304
- // cascade invokes them ≥2^depth times per calculateLayout. Writing here
1305
- // lets the 2nd+ calls hit cache (isDirty_ was cleared in the layout pass
1306
- // above). Measured: 105k visits → 10k for a 1593-node fresh-mount tree.
1307
- cacheWrite(
1308
- node,
1309
- availableWidth,
1310
- availableHeight,
1311
- widthMode,
1312
- heightMode,
1313
- ownerWidth,
1314
- ownerHeight,
1315
- forceWidth,
1316
- forceHeight,
1317
- wasDirty,
1318
- )
1319
- return
1320
- }
1321
-
1322
- // Container with children — run flexbox algorithm
1323
- const mainAxis = style.flexDirection
1324
- const crossAx = crossAxis(mainAxis)
1325
- const isMainRow = isRow(mainAxis)
1326
-
1327
- const mainSize = isMainRow ? width : height
1328
- const crossSize = isMainRow ? height : width
1329
- const mainMode = isMainRow ? wMode : hMode
1330
- const crossMode = isMainRow ? hMode : wMode
1331
- const mainPadBorder = isMainRow ? paddingBorderWidth : paddingBorderHeight
1332
- const crossPadBorder = isMainRow ? paddingBorderHeight : paddingBorderWidth
1333
-
1334
- const innerMainSize = isDefined(mainSize)
1335
- ? Math.max(0, mainSize - mainPadBorder)
1336
- : NaN
1337
- const innerCrossSize = isDefined(crossSize)
1338
- ? Math.max(0, crossSize - crossPadBorder)
1339
- : NaN
1340
-
1341
- // Resolve gap
1342
- const gapMain = resolveGap(
1343
- style,
1344
- isMainRow ? Gutter.Column : Gutter.Row,
1345
- innerMainSize,
1346
- )
1347
-
1348
- // Partition children into flow vs absolute. display:contents nodes are
1349
- // transparent — their children are lifted into the grandparent's child list
1350
- // (recursively), and the contents node itself gets zero layout.
1351
- const flowChildren: Node[] = []
1352
- const absChildren: Node[] = []
1353
- collectLayoutChildren(node, flowChildren, absChildren)
1354
-
1355
- // ownerW/H are the reference sizes for resolving children's percentage
1356
- // values. Per CSS, a % width resolves against the parent's content-box
1357
- // width. If this node's width is indefinite, children's % widths are also
1358
- // indefinite — do NOT fall through to the grandparent's size.
1359
- const ownerW = isDefined(width) ? width : NaN
1360
- const ownerH = isDefined(height) ? height : NaN
1361
- const isWrap = style.flexWrap !== Wrap.NoWrap
1362
- const gapCross = resolveGap(
1363
- style,
1364
- isMainRow ? Gutter.Row : Gutter.Column,
1365
- innerCrossSize,
1366
- )
1367
-
1368
- // STEP 1: Compute flex-basis for each flow child and break into lines.
1369
- // Single-line (NoWrap) containers always get one line; multi-line containers
1370
- // break when accumulated basis+margin+gap exceeds innerMainSize.
1371
- for (const c of flowChildren) {
1372
- c._flexBasis = computeFlexBasis(
1373
- c,
1374
- mainAxis,
1375
- innerMainSize,
1376
- innerCrossSize,
1377
- crossMode,
1378
- ownerW,
1379
- ownerH,
1380
- )
1381
- }
1382
- const lines: Node[][] = []
1383
- if (!isWrap || !isDefined(innerMainSize) || flowChildren.length === 0) {
1384
- for (const c of flowChildren) c._lineIndex = 0
1385
- lines.push(flowChildren)
1386
- } else {
1387
- // Line-break decisions use the min/max-clamped basis (flexbox spec §9.3.5:
1388
- // "hypothetical main size"), not the raw flex-basis.
1389
- let lineStart = 0
1390
- let lineLen = 0
1391
- for (let i = 0; i < flowChildren.length; i++) {
1392
- const c = flowChildren[i]!
1393
- const hypo = boundAxis(c.style, isMainRow, c._flexBasis, ownerW, ownerH)
1394
- const outer = Math.max(0, hypo) + childMarginForAxis(c, mainAxis, ownerW)
1395
- const withGap = i > lineStart ? gapMain : 0
1396
- if (i > lineStart && lineLen + withGap + outer > innerMainSize) {
1397
- lines.push(flowChildren.slice(lineStart, i))
1398
- lineStart = i
1399
- lineLen = outer
1400
- } else {
1401
- lineLen += withGap + outer
1402
- }
1403
- c._lineIndex = lines.length
1404
- }
1405
- lines.push(flowChildren.slice(lineStart))
1406
- }
1407
- const lineCount = lines.length
1408
- const isBaseline = isBaselineLayout(node, flowChildren)
1409
-
1410
- // STEP 2+3: For each line, resolve flexible lengths and lay out children to
1411
- // measure cross sizes. Track per-line consumed main and max cross.
1412
- const lineConsumedMain: number[] = new Array(lineCount)
1413
- const lineCrossSizes: number[] = new Array(lineCount)
1414
- // Baseline layout tracks max ascent (baseline + leading margin) per line so
1415
- // baseline-aligned items can be positioned at maxAscent - childBaseline.
1416
- const lineMaxAscent: number[] = isBaseline ? new Array(lineCount).fill(0) : []
1417
- let maxLineMain = 0
1418
- let totalLinesCross = 0
1419
- for (let li = 0; li < lineCount; li++) {
1420
- const line = lines[li]!
1421
- const lineGap = line.length > 1 ? gapMain * (line.length - 1) : 0
1422
- let lineBasis = lineGap
1423
- for (const c of line) {
1424
- lineBasis += c._flexBasis + childMarginForAxis(c, mainAxis, ownerW)
1425
- }
1426
- // Resolve flexible lengths against available inner main. For indefinite
1427
- // containers with min/max, flex against the clamped size.
1428
- let availMain = innerMainSize
1429
- if (!isDefined(availMain)) {
1430
- const mainOwner = isMainRow ? ownerWidth : ownerHeight
1431
- const minM = resolveValue(
1432
- isMainRow ? style.minWidth : style.minHeight,
1433
- mainOwner,
1434
- )
1435
- const maxM = resolveValue(
1436
- isMainRow ? style.maxWidth : style.maxHeight,
1437
- mainOwner,
1438
- )
1439
- if (isDefined(maxM) && lineBasis > maxM - mainPadBorder) {
1440
- availMain = Math.max(0, maxM - mainPadBorder)
1441
- } else if (isDefined(minM) && lineBasis < minM - mainPadBorder) {
1442
- availMain = Math.max(0, minM - mainPadBorder)
1443
- }
1444
- }
1445
- resolveFlexibleLengths(
1446
- line,
1447
- availMain,
1448
- lineBasis,
1449
- isMainRow,
1450
- ownerW,
1451
- ownerH,
1452
- )
1453
-
1454
- // Lay out each child in this line to measure cross
1455
- let lineCross = 0
1456
- for (const c of line) {
1457
- const cStyle = c.style
1458
- const childAlign =
1459
- cStyle.alignSelf === Align.Auto ? style.alignItems : cStyle.alignSelf
1460
- const cMarginCross = childMarginForAxis(c, crossAx, ownerW)
1461
- let childCrossSize = NaN
1462
- let childCrossMode: MeasureMode = MeasureMode.Undefined
1463
- const resolvedCrossStyle = resolveValue(
1464
- isMainRow ? cStyle.height : cStyle.width,
1465
- isMainRow ? ownerH : ownerW,
1466
- )
1467
- const crossLeadE = isMainRow ? EDGE_TOP : EDGE_LEFT
1468
- const crossTrailE = isMainRow ? EDGE_BOTTOM : EDGE_RIGHT
1469
- const hasCrossAutoMargin =
1470
- c._hasAutoMargin &&
1471
- (isMarginAuto(cStyle.margin, crossLeadE) ||
1472
- isMarginAuto(cStyle.margin, crossTrailE))
1473
- // Single-line stretch goes directly to the container cross size.
1474
- // Multi-line wrap measures intrinsic cross (Undefined mode) so
1475
- // flex-grow grandchildren don't expand to the container — the line
1476
- // cross size is determined first, then items are re-stretched.
1477
- if (isDefined(resolvedCrossStyle)) {
1478
- childCrossSize = resolvedCrossStyle
1479
- childCrossMode = MeasureMode.Exactly
1480
- } else if (
1481
- childAlign === Align.Stretch &&
1482
- !hasCrossAutoMargin &&
1483
- !isWrap &&
1484
- isDefined(innerCrossSize) &&
1485
- crossMode === MeasureMode.Exactly
1486
- ) {
1487
- childCrossSize = Math.max(0, innerCrossSize - cMarginCross)
1488
- childCrossMode = MeasureMode.Exactly
1489
- } else if (!isWrap && isDefined(innerCrossSize)) {
1490
- childCrossSize = Math.max(0, innerCrossSize - cMarginCross)
1491
- childCrossMode = MeasureMode.AtMost
1492
- }
1493
- const cw = isMainRow ? c._mainSize : childCrossSize
1494
- const ch = isMainRow ? childCrossSize : c._mainSize
1495
- layoutNode(
1496
- c,
1497
- cw,
1498
- ch,
1499
- isMainRow ? MeasureMode.Exactly : childCrossMode,
1500
- isMainRow ? childCrossMode : MeasureMode.Exactly,
1501
- ownerW,
1502
- ownerH,
1503
- performLayout,
1504
- isMainRow,
1505
- !isMainRow,
1506
- )
1507
- c._crossSize = isMainRow ? c.layout.height : c.layout.width
1508
- lineCross = Math.max(lineCross, c._crossSize + cMarginCross)
1509
- }
1510
- // Baseline layout: line cross size must fit maxAscent + maxDescent of
1511
- // baseline-aligned children (yoga STEP 8). Only applies to row direction.
1512
- if (isBaseline) {
1513
- let maxAscent = 0
1514
- let maxDescent = 0
1515
- for (const c of line) {
1516
- if (resolveChildAlign(node, c) !== Align.Baseline) continue
1517
- const mTop = resolveEdge(c.style.margin, EDGE_TOP, ownerW)
1518
- const mBot = resolveEdge(c.style.margin, EDGE_BOTTOM, ownerW)
1519
- const ascent = calculateBaseline(c) + mTop
1520
- const descent = c.layout.height + mTop + mBot - ascent
1521
- if (ascent > maxAscent) maxAscent = ascent
1522
- if (descent > maxDescent) maxDescent = descent
1523
- }
1524
- lineMaxAscent[li] = maxAscent
1525
- if (maxAscent + maxDescent > lineCross) {
1526
- lineCross = maxAscent + maxDescent
1527
- }
1528
- }
1529
- // layoutNode(c) at line ~1117 above already resolved c.layout.margin[] via
1530
- // resolveEdges4Into with the same ownerW — read directly instead of
1531
- // re-resolving through childMarginForAxis → 2× resolveEdge.
1532
- const mainLead = leadingEdge(mainAxis)
1533
- const mainTrail = trailingEdge(mainAxis)
1534
- let consumed = lineGap
1535
- for (const c of line) {
1536
- const cm = c.layout.margin
1537
- consumed += c._mainSize + cm[mainLead]! + cm[mainTrail]!
1538
- }
1539
- lineConsumedMain[li] = consumed
1540
- lineCrossSizes[li] = lineCross
1541
- maxLineMain = Math.max(maxLineMain, consumed)
1542
- totalLinesCross += lineCross
1543
- }
1544
- const totalCrossGap = lineCount > 1 ? gapCross * (lineCount - 1) : 0
1545
- totalLinesCross += totalCrossGap
1546
-
1547
- // STEP 4: Determine container dimensions. Per yoga's STEP 9, for both
1548
- // AtMost (FitContent) and Undefined (MaxContent) the node sizes to its
1549
- // content — AtMost is NOT a hard clamp, items may overflow the available
1550
- // space (CSS "fit-content" behavior). Only Scroll overflow clamps to the
1551
- // available size. Wrap containers that broke into multiple lines under
1552
- // AtMost fill the available main size since they wrapped at that boundary.
1553
- const isScroll = style.overflow === Overflow.Scroll
1554
- const contentMain = maxLineMain + mainPadBorder
1555
- const finalMainSize =
1556
- mainMode === MeasureMode.Exactly
1557
- ? mainSize
1558
- : mainMode === MeasureMode.AtMost && isScroll
1559
- ? Math.max(Math.min(mainSize, contentMain), mainPadBorder)
1560
- : isWrap && lineCount > 1 && mainMode === MeasureMode.AtMost
1561
- ? mainSize
1562
- : contentMain
1563
- const contentCross = totalLinesCross + crossPadBorder
1564
- const finalCrossSize =
1565
- crossMode === MeasureMode.Exactly
1566
- ? crossSize
1567
- : crossMode === MeasureMode.AtMost && isScroll
1568
- ? Math.max(Math.min(crossSize, contentCross), crossPadBorder)
1569
- : contentCross
1570
- node.layout.width = boundAxis(
1571
- style,
1572
- true,
1573
- isMainRow ? finalMainSize : finalCrossSize,
1574
- ownerWidth,
1575
- ownerHeight,
1576
- )
1577
- node.layout.height = boundAxis(
1578
- style,
1579
- false,
1580
- isMainRow ? finalCrossSize : finalMainSize,
1581
- ownerWidth,
1582
- ownerHeight,
1583
- )
1584
- commitCacheOutputs(node, performLayout)
1585
- // Write cache even for dirty nodes — fresh-mounted items during virtual scroll
1586
- cacheWrite(
1587
- node,
1588
- availableWidth,
1589
- availableHeight,
1590
- widthMode,
1591
- heightMode,
1592
- ownerWidth,
1593
- ownerHeight,
1594
- forceWidth,
1595
- forceHeight,
1596
- wasDirty,
1597
- )
1598
-
1599
- if (!performLayout) return
1600
-
1601
- // STEP 5: Position lines (align-content) and children (justify-content +
1602
- // align-items + auto margins).
1603
- const actualInnerMain =
1604
- (isMainRow ? node.layout.width : node.layout.height) - mainPadBorder
1605
- const actualInnerCross =
1606
- (isMainRow ? node.layout.height : node.layout.width) - crossPadBorder
1607
- const mainLeadEdgePhys = leadingEdge(mainAxis)
1608
- const mainTrailEdgePhys = trailingEdge(mainAxis)
1609
- const crossLeadEdgePhys = isMainRow ? EDGE_TOP : EDGE_LEFT
1610
- const crossTrailEdgePhys = isMainRow ? EDGE_BOTTOM : EDGE_RIGHT
1611
- const reversed = isReverse(mainAxis)
1612
- const mainContainerSize = isMainRow ? node.layout.width : node.layout.height
1613
- const crossLead = pad[crossLeadEdgePhys]! + bor[crossLeadEdgePhys]!
1614
-
1615
- // Align-content: distribute free cross space among lines. Single-line
1616
- // containers use the full cross size for the one line (align-items handles
1617
- // positioning within it).
1618
- let lineCrossOffset = crossLead
1619
- let betweenLines = gapCross
1620
- const freeCross = actualInnerCross - totalLinesCross
1621
- if (lineCount === 1 && !isWrap && !isBaseline) {
1622
- lineCrossSizes[0] = actualInnerCross
1623
- } else {
1624
- const remCross = Math.max(0, freeCross)
1625
- switch (style.alignContent) {
1626
- case Align.FlexStart:
1627
- break
1628
- case Align.Center:
1629
- lineCrossOffset += freeCross / 2
1630
- break
1631
- case Align.FlexEnd:
1632
- lineCrossOffset += freeCross
1633
- break
1634
- case Align.Stretch:
1635
- if (lineCount > 0 && remCross > 0) {
1636
- const add = remCross / lineCount
1637
- for (let i = 0; i < lineCount; i++) lineCrossSizes[i]! += add
1638
- }
1639
- break
1640
- case Align.SpaceBetween:
1641
- if (lineCount > 1) betweenLines += remCross / (lineCount - 1)
1642
- break
1643
- case Align.SpaceAround:
1644
- if (lineCount > 0) {
1645
- betweenLines += remCross / lineCount
1646
- lineCrossOffset += remCross / lineCount / 2
1647
- }
1648
- break
1649
- case Align.SpaceEvenly:
1650
- if (lineCount > 0) {
1651
- betweenLines += remCross / (lineCount + 1)
1652
- lineCrossOffset += remCross / (lineCount + 1)
1653
- }
1654
- break
1655
- default:
1656
- break
1657
- }
1658
- }
1659
-
1660
- // For wrap-reverse, lines stack from the trailing cross edge. Walk lines in
1661
- // order but flip the cross position within the container.
1662
- const wrapReverse = style.flexWrap === Wrap.WrapReverse
1663
- const crossContainerSize = isMainRow ? node.layout.height : node.layout.width
1664
- let lineCrossPos = lineCrossOffset
1665
- for (let li = 0; li < lineCount; li++) {
1666
- const line = lines[li]!
1667
- const lineCross = lineCrossSizes[li]!
1668
- const consumedMain = lineConsumedMain[li]!
1669
- const n = line.length
1670
-
1671
- // Re-stretch children whose cross is auto and align is stretch, now that
1672
- // the line cross size is known. Needed for multi-line wrap (line cross
1673
- // wasn't known during initial measure) AND single-line when the container
1674
- // cross was not Exactly (initial stretch at ~line 1250 was skipped because
1675
- // innerCrossSize wasn't defined — the container sized to max child cross).
1676
- if (isWrap || crossMode !== MeasureMode.Exactly) {
1677
- for (const c of line) {
1678
- const cStyle = c.style
1679
- const childAlign =
1680
- cStyle.alignSelf === Align.Auto ? style.alignItems : cStyle.alignSelf
1681
- const crossStyleDef = isDefined(
1682
- resolveValue(
1683
- isMainRow ? cStyle.height : cStyle.width,
1684
- isMainRow ? ownerH : ownerW,
1685
- ),
1686
- )
1687
- const hasCrossAutoMargin =
1688
- c._hasAutoMargin &&
1689
- (isMarginAuto(cStyle.margin, crossLeadEdgePhys) ||
1690
- isMarginAuto(cStyle.margin, crossTrailEdgePhys))
1691
- if (
1692
- childAlign === Align.Stretch &&
1693
- !crossStyleDef &&
1694
- !hasCrossAutoMargin
1695
- ) {
1696
- const cMarginCross = childMarginForAxis(c, crossAx, ownerW)
1697
- const target = Math.max(0, lineCross - cMarginCross)
1698
- if (c._crossSize !== target) {
1699
- const cw = isMainRow ? c._mainSize : target
1700
- const ch = isMainRow ? target : c._mainSize
1701
- layoutNode(
1702
- c,
1703
- cw,
1704
- ch,
1705
- MeasureMode.Exactly,
1706
- MeasureMode.Exactly,
1707
- ownerW,
1708
- ownerH,
1709
- performLayout,
1710
- isMainRow,
1711
- !isMainRow,
1712
- )
1713
- c._crossSize = target
1714
- }
1715
- }
1716
- }
1717
- }
1718
-
1719
- // Justify-content + auto margins for this line
1720
- let mainOffset = pad[mainLeadEdgePhys]! + bor[mainLeadEdgePhys]!
1721
- let betweenMain = gapMain
1722
- let numAutoMarginsMain = 0
1723
- for (const c of line) {
1724
- if (!c._hasAutoMargin) continue
1725
- if (isMarginAuto(c.style.margin, mainLeadEdgePhys)) numAutoMarginsMain++
1726
- if (isMarginAuto(c.style.margin, mainTrailEdgePhys)) numAutoMarginsMain++
1727
- }
1728
- const freeMain = actualInnerMain - consumedMain
1729
- const remainingMain = Math.max(0, freeMain)
1730
- const autoMarginMainSize =
1731
- numAutoMarginsMain > 0 && remainingMain > 0
1732
- ? remainingMain / numAutoMarginsMain
1733
- : 0
1734
- if (numAutoMarginsMain === 0) {
1735
- switch (style.justifyContent) {
1736
- case Justify.FlexStart:
1737
- break
1738
- case Justify.Center:
1739
- mainOffset += freeMain / 2
1740
- break
1741
- case Justify.FlexEnd:
1742
- mainOffset += freeMain
1743
- break
1744
- case Justify.SpaceBetween:
1745
- if (n > 1) betweenMain += remainingMain / (n - 1)
1746
- break
1747
- case Justify.SpaceAround:
1748
- if (n > 0) {
1749
- betweenMain += remainingMain / n
1750
- mainOffset += remainingMain / n / 2
1751
- }
1752
- break
1753
- case Justify.SpaceEvenly:
1754
- if (n > 0) {
1755
- betweenMain += remainingMain / (n + 1)
1756
- mainOffset += remainingMain / (n + 1)
1757
- }
1758
- break
1759
- }
1760
- }
1761
-
1762
- const effectiveLineCrossPos = wrapReverse
1763
- ? crossContainerSize - lineCrossPos - lineCross
1764
- : lineCrossPos
1765
-
1766
- let pos = mainOffset
1767
- for (const c of line) {
1768
- const cMargin = c.style.margin
1769
- // c.layout.margin[] was populated by resolveEdges4Into inside the
1770
- // layoutNode(c) call above (same ownerW). Read resolved values directly
1771
- // instead of re-running the edge fallback chain 4× via resolveEdge.
1772
- // Auto margins resolve to 0 in layout.margin, so autoMarginMainSize
1773
- // substitution still uses the isMarginAuto check against style.
1774
- const cLayoutMargin = c.layout.margin
1775
- let autoMainLead = false
1776
- let autoMainTrail = false
1777
- let autoCrossLead = false
1778
- let autoCrossTrail = false
1779
- let mMainLead: number
1780
- let mMainTrail: number
1781
- let mCrossLead: number
1782
- let mCrossTrail: number
1783
- if (c._hasAutoMargin) {
1784
- autoMainLead = isMarginAuto(cMargin, mainLeadEdgePhys)
1785
- autoMainTrail = isMarginAuto(cMargin, mainTrailEdgePhys)
1786
- autoCrossLead = isMarginAuto(cMargin, crossLeadEdgePhys)
1787
- autoCrossTrail = isMarginAuto(cMargin, crossTrailEdgePhys)
1788
- mMainLead = autoMainLead
1789
- ? autoMarginMainSize
1790
- : cLayoutMargin[mainLeadEdgePhys]!
1791
- mMainTrail = autoMainTrail
1792
- ? autoMarginMainSize
1793
- : cLayoutMargin[mainTrailEdgePhys]!
1794
- mCrossLead = autoCrossLead ? 0 : cLayoutMargin[crossLeadEdgePhys]!
1795
- mCrossTrail = autoCrossTrail ? 0 : cLayoutMargin[crossTrailEdgePhys]!
1796
- } else {
1797
- // Fast path: no auto margins — read resolved values directly.
1798
- mMainLead = cLayoutMargin[mainLeadEdgePhys]!
1799
- mMainTrail = cLayoutMargin[mainTrailEdgePhys]!
1800
- mCrossLead = cLayoutMargin[crossLeadEdgePhys]!
1801
- mCrossTrail = cLayoutMargin[crossTrailEdgePhys]!
1802
- }
1803
-
1804
- const mainPos = reversed
1805
- ? mainContainerSize - (pos + mMainLead) - c._mainSize
1806
- : pos + mMainLead
1807
-
1808
- const childAlign =
1809
- c.style.alignSelf === Align.Auto ? style.alignItems : c.style.alignSelf
1810
- let crossPos = effectiveLineCrossPos + mCrossLead
1811
- const crossFree = lineCross - c._crossSize - mCrossLead - mCrossTrail
1812
- if (autoCrossLead && autoCrossTrail) {
1813
- crossPos += Math.max(0, crossFree) / 2
1814
- } else if (autoCrossLead) {
1815
- crossPos += Math.max(0, crossFree)
1816
- } else if (autoCrossTrail) {
1817
- // stays at leading
1818
- } else {
1819
- switch (childAlign) {
1820
- case Align.FlexStart:
1821
- case Align.Stretch:
1822
- if (wrapReverse) crossPos += crossFree
1823
- break
1824
- case Align.Center:
1825
- crossPos += crossFree / 2
1826
- break
1827
- case Align.FlexEnd:
1828
- if (!wrapReverse) crossPos += crossFree
1829
- break
1830
- case Align.Baseline:
1831
- // Row direction only (isBaselineLayout checked this). Position so
1832
- // the child's baseline aligns with the line's max ascent. Per
1833
- // yoga: top = currentLead + maxAscent - childBaseline + leadingPosition.
1834
- if (isBaseline) {
1835
- crossPos =
1836
- effectiveLineCrossPos +
1837
- lineMaxAscent[li]! -
1838
- calculateBaseline(c)
1839
- }
1840
- break
1841
- default:
1842
- break
1843
- }
1844
- }
1845
-
1846
- // Relative position offsets. Fast path: no position insets set →
1847
- // skip 4× resolveEdgeRaw + 4× resolveValue + 4× isDefined.
1848
- let relX = 0
1849
- let relY = 0
1850
- if (c._hasPosition) {
1851
- const relLeft = resolveValue(
1852
- resolveEdgeRaw(c.style.position, EDGE_LEFT),
1853
- ownerW,
1854
- )
1855
- const relRight = resolveValue(
1856
- resolveEdgeRaw(c.style.position, EDGE_RIGHT),
1857
- ownerW,
1858
- )
1859
- const relTop = resolveValue(
1860
- resolveEdgeRaw(c.style.position, EDGE_TOP),
1861
- ownerW,
1862
- )
1863
- const relBottom = resolveValue(
1864
- resolveEdgeRaw(c.style.position, EDGE_BOTTOM),
1865
- ownerW,
1866
- )
1867
- relX = isDefined(relLeft)
1868
- ? relLeft
1869
- : isDefined(relRight)
1870
- ? -relRight
1871
- : 0
1872
- relY = isDefined(relTop)
1873
- ? relTop
1874
- : isDefined(relBottom)
1875
- ? -relBottom
1876
- : 0
1877
- }
1878
-
1879
- if (isMainRow) {
1880
- c.layout.left = mainPos + relX
1881
- c.layout.top = crossPos + relY
1882
- } else {
1883
- c.layout.left = crossPos + relX
1884
- c.layout.top = mainPos + relY
1885
- }
1886
- pos += c._mainSize + mMainLead + mMainTrail + betweenMain
1887
- }
1888
- lineCrossPos += lineCross + betweenLines
1889
- }
1890
-
1891
- // STEP 6: Absolute-positioned children
1892
- for (const c of absChildren) {
1893
- layoutAbsoluteChild(
1894
- node,
1895
- c,
1896
- node.layout.width,
1897
- node.layout.height,
1898
- pad,
1899
- bor,
1900
- )
1901
- }
1902
- }
1903
-
1904
- function layoutAbsoluteChild(
1905
- parent: Node,
1906
- child: Node,
1907
- parentWidth: number,
1908
- parentHeight: number,
1909
- pad: [number, number, number, number],
1910
- bor: [number, number, number, number],
1911
- ): void {
1912
- const cs = child.style
1913
- const posLeft = resolveEdgeRaw(cs.position, EDGE_LEFT)
1914
- const posRight = resolveEdgeRaw(cs.position, EDGE_RIGHT)
1915
- const posTop = resolveEdgeRaw(cs.position, EDGE_TOP)
1916
- const posBottom = resolveEdgeRaw(cs.position, EDGE_BOTTOM)
1917
-
1918
- const rLeft = resolveValue(posLeft, parentWidth)
1919
- const rRight = resolveValue(posRight, parentWidth)
1920
- const rTop = resolveValue(posTop, parentHeight)
1921
- const rBottom = resolveValue(posBottom, parentHeight)
1922
-
1923
- // Absolute children's percentage dimensions resolve against the containing
1924
- // block's padding-box (parent size minus border), per CSS §10.1.
1925
- const paddingBoxW = parentWidth - bor[0] - bor[2]
1926
- const paddingBoxH = parentHeight - bor[1] - bor[3]
1927
- let cw = resolveValue(cs.width, paddingBoxW)
1928
- let ch = resolveValue(cs.height, paddingBoxH)
1929
-
1930
- // If both left+right defined and width not, derive width
1931
- if (!isDefined(cw) && isDefined(rLeft) && isDefined(rRight)) {
1932
- cw = paddingBoxW - rLeft - rRight
1933
- }
1934
- if (!isDefined(ch) && isDefined(rTop) && isDefined(rBottom)) {
1935
- ch = paddingBoxH - rTop - rBottom
1936
- }
1937
-
1938
- layoutNode(
1939
- child,
1940
- cw,
1941
- ch,
1942
- isDefined(cw) ? MeasureMode.Exactly : MeasureMode.Undefined,
1943
- isDefined(ch) ? MeasureMode.Exactly : MeasureMode.Undefined,
1944
- paddingBoxW,
1945
- paddingBoxH,
1946
- true,
1947
- )
1948
-
1949
- // Margin of absolute child (applied in addition to insets)
1950
- const mL = resolveEdge(cs.margin, EDGE_LEFT, parentWidth)
1951
- const mT = resolveEdge(cs.margin, EDGE_TOP, parentWidth)
1952
- const mR = resolveEdge(cs.margin, EDGE_RIGHT, parentWidth)
1953
- const mB = resolveEdge(cs.margin, EDGE_BOTTOM, parentWidth)
1954
-
1955
- const mainAxis = parent.style.flexDirection
1956
- const reversed = isReverse(mainAxis)
1957
- const mainRow = isRow(mainAxis)
1958
- const wrapReverse = parent.style.flexWrap === Wrap.WrapReverse
1959
- // alignSelf overrides alignItems for absolute children (same as flow items)
1960
- const alignment =
1961
- cs.alignSelf === Align.Auto ? parent.style.alignItems : cs.alignSelf
1962
-
1963
- // Position
1964
- let left: number
1965
- if (isDefined(rLeft)) {
1966
- left = bor[0] + rLeft + mL
1967
- } else if (isDefined(rRight)) {
1968
- left = parentWidth - bor[2] - rRight - child.layout.width - mR
1969
- } else if (mainRow) {
1970
- // Main axis — justify-content, flipped for reversed
1971
- const lead = pad[0] + bor[0]
1972
- const trail = parentWidth - pad[2] - bor[2]
1973
- left = reversed
1974
- ? trail - child.layout.width - mR
1975
- : justifyAbsolute(
1976
- parent.style.justifyContent,
1977
- lead,
1978
- trail,
1979
- child.layout.width,
1980
- ) + mL
1981
- } else {
1982
- left =
1983
- alignAbsolute(
1984
- alignment,
1985
- pad[0] + bor[0],
1986
- parentWidth - pad[2] - bor[2],
1987
- child.layout.width,
1988
- wrapReverse,
1989
- ) + mL
1990
- }
1991
-
1992
- let top: number
1993
- if (isDefined(rTop)) {
1994
- top = bor[1] + rTop + mT
1995
- } else if (isDefined(rBottom)) {
1996
- top = parentHeight - bor[3] - rBottom - child.layout.height - mB
1997
- } else if (mainRow) {
1998
- top =
1999
- alignAbsolute(
2000
- alignment,
2001
- pad[1] + bor[1],
2002
- parentHeight - pad[3] - bor[3],
2003
- child.layout.height,
2004
- wrapReverse,
2005
- ) + mT
2006
- } else {
2007
- const lead = pad[1] + bor[1]
2008
- const trail = parentHeight - pad[3] - bor[3]
2009
- top = reversed
2010
- ? trail - child.layout.height - mB
2011
- : justifyAbsolute(
2012
- parent.style.justifyContent,
2013
- lead,
2014
- trail,
2015
- child.layout.height,
2016
- ) + mT
2017
- }
2018
-
2019
- child.layout.left = left
2020
- child.layout.top = top
2021
- }
2022
-
2023
- function justifyAbsolute(
2024
- justify: Justify,
2025
- leadEdge: number,
2026
- trailEdge: number,
2027
- childSize: number,
2028
- ): number {
2029
- switch (justify) {
2030
- case Justify.Center:
2031
- return leadEdge + (trailEdge - leadEdge - childSize) / 2
2032
- case Justify.FlexEnd:
2033
- return trailEdge - childSize
2034
- default:
2035
- return leadEdge
2036
- }
2037
- }
2038
-
2039
- function alignAbsolute(
2040
- align: Align,
2041
- leadEdge: number,
2042
- trailEdge: number,
2043
- childSize: number,
2044
- wrapReverse: boolean,
2045
- ): number {
2046
- // Wrap-reverse flips the cross axis: flex-start/stretch go to trailing,
2047
- // flex-end goes to leading (yoga's absoluteLayoutChild flips the align value
2048
- // when the containing block has wrap-reverse).
2049
- switch (align) {
2050
- case Align.Center:
2051
- return leadEdge + (trailEdge - leadEdge - childSize) / 2
2052
- case Align.FlexEnd:
2053
- return wrapReverse ? leadEdge : trailEdge - childSize
2054
- default:
2055
- return wrapReverse ? trailEdge - childSize : leadEdge
2056
- }
2057
- }
2058
-
2059
- function computeFlexBasis(
2060
- child: Node,
2061
- mainAxis: FlexDirection,
2062
- availableMain: number,
2063
- availableCross: number,
2064
- crossMode: MeasureMode,
2065
- ownerWidth: number,
2066
- ownerHeight: number,
2067
- ): number {
2068
- // Same-generation cache hit: basis was computed THIS calculateLayout, so
2069
- // it's fresh regardless of isDirty_. Covers both clean children (scrolling
2070
- // past unchanged messages) AND fresh-mounted dirty children (virtual
2071
- // scroll mounts new items — the dirty chain's measure→layout cascade
2072
- // invokes this ≥2^depth times, but the child's subtree doesn't change
2073
- // between calls within one calculateLayout). For clean children with
2074
- // cache from a PREVIOUS generation, also hit if inputs match — isDirty_
2075
- // gates since a dirty child's previous-gen cache is stale.
2076
- const sameGen = child._fbGen === _generation
2077
- if (
2078
- (sameGen || !child.isDirty_) &&
2079
- child._fbCrossMode === crossMode &&
2080
- sameFloat(child._fbOwnerW, ownerWidth) &&
2081
- sameFloat(child._fbOwnerH, ownerHeight) &&
2082
- sameFloat(child._fbAvailMain, availableMain) &&
2083
- sameFloat(child._fbAvailCross, availableCross)
2084
- ) {
2085
- return child._fbBasis
2086
- }
2087
- const cs = child.style
2088
- const isMainRow = isRow(mainAxis)
2089
-
2090
- // Explicit flex-basis
2091
- const basis = resolveValue(cs.flexBasis, availableMain)
2092
- if (isDefined(basis)) {
2093
- const b = Math.max(0, basis)
2094
- child._fbBasis = b
2095
- child._fbOwnerW = ownerWidth
2096
- child._fbOwnerH = ownerHeight
2097
- child._fbAvailMain = availableMain
2098
- child._fbAvailCross = availableCross
2099
- child._fbCrossMode = crossMode
2100
- child._fbGen = _generation
2101
- return b
2102
- }
2103
-
2104
- // Style dimension on main axis
2105
- const mainStyleDim = isMainRow ? cs.width : cs.height
2106
- const mainOwner = isMainRow ? ownerWidth : ownerHeight
2107
- const resolved = resolveValue(mainStyleDim, mainOwner)
2108
- if (isDefined(resolved)) {
2109
- const b = Math.max(0, resolved)
2110
- child._fbBasis = b
2111
- child._fbOwnerW = ownerWidth
2112
- child._fbOwnerH = ownerHeight
2113
- child._fbAvailMain = availableMain
2114
- child._fbAvailCross = availableCross
2115
- child._fbCrossMode = crossMode
2116
- child._fbGen = _generation
2117
- return b
2118
- }
2119
-
2120
- // Need to measure the child to get its natural size
2121
- const crossStyleDim = isMainRow ? cs.height : cs.width
2122
- const crossOwner = isMainRow ? ownerHeight : ownerWidth
2123
- let crossConstraint = resolveValue(crossStyleDim, crossOwner)
2124
- let crossConstraintMode: MeasureMode = isDefined(crossConstraint)
2125
- ? MeasureMode.Exactly
2126
- : MeasureMode.Undefined
2127
- if (!isDefined(crossConstraint) && isDefined(availableCross)) {
2128
- crossConstraint = availableCross
2129
- crossConstraintMode =
2130
- crossMode === MeasureMode.Exactly && isStretchAlign(child)
2131
- ? MeasureMode.Exactly
2132
- : MeasureMode.AtMost
2133
- }
2134
-
2135
- // Upstream yoga (YGNodeComputeFlexBasisForChild) passes the available inner
2136
- // width with mode AtMost when the subtree will call a measure-func — so text
2137
- // nodes don't report unconstrained intrinsic width as flex-basis, which
2138
- // would force siblings to shrink and the text to wrap at the wrong width.
2139
- // Passing Undefined here made Ink's <Text> inside <Box flexGrow={1}> get
2140
- // width = intrinsic instead of available, dropping chars at wrap boundaries.
2141
- //
2142
- // Two constraints on when this applies:
2143
- // - Width only. Height is never constrained during basis measurement —
2144
- // column containers must measure children at natural height so
2145
- // scrollable content can overflow (constraining height clips ScrollBox).
2146
- // - Subtree has a measure-func. Pure layout subtrees (no measure-func)
2147
- // with flex-grow children would grow into the AtMost constraint,
2148
- // inflating the basis (breaks YGMinMaxDimensionTest flex_grow_in_at_most
2149
- // where a flexGrow:1 child should stay at basis 0, not grow to 100).
2150
- let mainConstraint = NaN
2151
- let mainConstraintMode: MeasureMode = MeasureMode.Undefined
2152
- if (isMainRow && isDefined(availableMain) && hasMeasureFuncInSubtree(child)) {
2153
- mainConstraint = availableMain
2154
- mainConstraintMode = MeasureMode.AtMost
2155
- }
2156
-
2157
- const mw = isMainRow ? mainConstraint : crossConstraint
2158
- const mh = isMainRow ? crossConstraint : mainConstraint
2159
- const mwMode = isMainRow ? mainConstraintMode : crossConstraintMode
2160
- const mhMode = isMainRow ? crossConstraintMode : mainConstraintMode
2161
-
2162
- layoutNode(child, mw, mh, mwMode, mhMode, ownerWidth, ownerHeight, false)
2163
- const b = isMainRow ? child.layout.width : child.layout.height
2164
- child._fbBasis = b
2165
- child._fbOwnerW = ownerWidth
2166
- child._fbOwnerH = ownerHeight
2167
- child._fbAvailMain = availableMain
2168
- child._fbAvailCross = availableCross
2169
- child._fbCrossMode = crossMode
2170
- child._fbGen = _generation
2171
- return b
2172
- }
2173
-
2174
- function hasMeasureFuncInSubtree(node: Node): boolean {
2175
- if (node.measureFunc) return true
2176
- for (const c of node.children) {
2177
- if (hasMeasureFuncInSubtree(c)) return true
2178
- }
2179
- return false
2180
- }
2181
-
2182
- function resolveFlexibleLengths(
2183
- children: Node[],
2184
- availableInnerMain: number,
2185
- totalFlexBasis: number,
2186
- isMainRow: boolean,
2187
- ownerW: number,
2188
- ownerH: number,
2189
- ): void {
2190
- // Multi-pass flex distribution per CSS flexbox spec §9.7 "Resolving Flexible
2191
- // Lengths": distribute free space, detect min/max violations, freeze all
2192
- // violators, redistribute among unfrozen children. Repeat until stable.
2193
- const n = children.length
2194
- const frozen: boolean[] = new Array(n).fill(false)
2195
- const initialFree = isDefined(availableInnerMain)
2196
- ? availableInnerMain - totalFlexBasis
2197
- : 0
2198
- // Freeze inflexible items at their clamped basis
2199
- for (let i = 0; i < n; i++) {
2200
- const c = children[i]!
2201
- const clamped = boundAxis(c.style, isMainRow, c._flexBasis, ownerW, ownerH)
2202
- const inflexible =
2203
- !isDefined(availableInnerMain) ||
2204
- (initialFree >= 0 ? c.style.flexGrow === 0 : c.style.flexShrink === 0)
2205
- if (inflexible) {
2206
- c._mainSize = Math.max(0, clamped)
2207
- frozen[i] = true
2208
- } else {
2209
- c._mainSize = c._flexBasis
2210
- }
2211
- }
2212
- // Iteratively distribute until no violations. Free space is recomputed each
2213
- // pass: initial free space minus the delta frozen children consumed beyond
2214
- // (or below) their basis.
2215
- const unclamped: number[] = new Array(n)
2216
- for (let iter = 0; iter <= n; iter++) {
2217
- let frozenDelta = 0
2218
- let totalGrow = 0
2219
- let totalShrinkScaled = 0
2220
- let unfrozenCount = 0
2221
- for (let i = 0; i < n; i++) {
2222
- const c = children[i]!
2223
- if (frozen[i]) {
2224
- frozenDelta += c._mainSize - c._flexBasis
2225
- } else {
2226
- totalGrow += c.style.flexGrow
2227
- totalShrinkScaled += c.style.flexShrink * c._flexBasis
2228
- unfrozenCount++
2229
- }
2230
- }
2231
- if (unfrozenCount === 0) break
2232
- let remaining = initialFree - frozenDelta
2233
- // Spec §9.7 step 4c: if sum of flex factors < 1, only distribute
2234
- // initialFree × sum, not the full remaining space (partial flex).
2235
- if (remaining > 0 && totalGrow > 0 && totalGrow < 1) {
2236
- const scaled = initialFree * totalGrow
2237
- if (scaled < remaining) remaining = scaled
2238
- } else if (remaining < 0 && totalShrinkScaled > 0) {
2239
- let totalShrink = 0
2240
- for (let i = 0; i < n; i++) {
2241
- if (!frozen[i]) totalShrink += children[i]!.style.flexShrink
2242
- }
2243
- if (totalShrink < 1) {
2244
- const scaled = initialFree * totalShrink
2245
- if (scaled > remaining) remaining = scaled
2246
- }
2247
- }
2248
- // Compute targets + violations for all unfrozen children
2249
- let totalViolation = 0
2250
- for (let i = 0; i < n; i++) {
2251
- if (frozen[i]) continue
2252
- const c = children[i]!
2253
- let t = c._flexBasis
2254
- if (remaining > 0 && totalGrow > 0) {
2255
- t += (remaining * c.style.flexGrow) / totalGrow
2256
- } else if (remaining < 0 && totalShrinkScaled > 0) {
2257
- t +=
2258
- (remaining * (c.style.flexShrink * c._flexBasis)) / totalShrinkScaled
2259
- }
2260
- unclamped[i] = t
2261
- const clamped = Math.max(
2262
- 0,
2263
- boundAxis(c.style, isMainRow, t, ownerW, ownerH),
2264
- )
2265
- c._mainSize = clamped
2266
- totalViolation += clamped - t
2267
- }
2268
- // Freeze per spec §9.7 step 5: if totalViolation is zero freeze all; if
2269
- // positive freeze min-violators; if negative freeze max-violators.
2270
- if (totalViolation === 0) break
2271
- let anyFrozen = false
2272
- for (let i = 0; i < n; i++) {
2273
- if (frozen[i]) continue
2274
- const v = children[i]!._mainSize - unclamped[i]!
2275
- if ((totalViolation > 0 && v > 0) || (totalViolation < 0 && v < 0)) {
2276
- frozen[i] = true
2277
- anyFrozen = true
2278
- }
2279
- }
2280
- if (!anyFrozen) break
2281
- }
2282
- }
2283
-
2284
- function isStretchAlign(child: Node): boolean {
2285
- const p = child.parent
2286
- if (!p) return false
2287
- const align =
2288
- child.style.alignSelf === Align.Auto
2289
- ? p.style.alignItems
2290
- : child.style.alignSelf
2291
- return align === Align.Stretch
2292
- }
2293
-
2294
- function resolveChildAlign(parent: Node, child: Node): Align {
2295
- return child.style.alignSelf === Align.Auto
2296
- ? parent.style.alignItems
2297
- : child.style.alignSelf
2298
- }
2299
-
2300
- // Baseline of a node per CSS Flexbox §8.5 / yoga's YGBaseline. Leaf nodes
2301
- // (no children) use their own height. Containers recurse into the first
2302
- // baseline-aligned child on the first line (or the first flow child if none
2303
- // are baseline-aligned), returning that child's baseline + its top offset.
2304
- function calculateBaseline(node: Node): number {
2305
- let baselineChild: Node | null = null
2306
- for (const c of node.children) {
2307
- if (c._lineIndex > 0) break
2308
- if (c.style.positionType === PositionType.Absolute) continue
2309
- if (c.style.display === Display.None) continue
2310
- if (
2311
- resolveChildAlign(node, c) === Align.Baseline ||
2312
- c.isReferenceBaseline_
2313
- ) {
2314
- baselineChild = c
2315
- break
2316
- }
2317
- if (baselineChild === null) baselineChild = c
2318
- }
2319
- if (baselineChild === null) return node.layout.height
2320
- return calculateBaseline(baselineChild) + baselineChild.layout.top
2321
- }
2322
-
2323
- // A container uses baseline layout only for row direction, when either
2324
- // align-items is baseline or any flow child has align-self: baseline.
2325
- function isBaselineLayout(node: Node, flowChildren: Node[]): boolean {
2326
- if (!isRow(node.style.flexDirection)) return false
2327
- if (node.style.alignItems === Align.Baseline) return true
2328
- for (const c of flowChildren) {
2329
- if (c.style.alignSelf === Align.Baseline) return true
2330
- }
2331
- return false
2332
- }
2333
-
2334
- function childMarginForAxis(
2335
- child: Node,
2336
- axis: FlexDirection,
2337
- ownerWidth: number,
2338
- ): number {
2339
- if (!child._hasMargin) return 0
2340
- const lead = resolveEdge(child.style.margin, leadingEdge(axis), ownerWidth)
2341
- const trail = resolveEdge(child.style.margin, trailingEdge(axis), ownerWidth)
2342
- return lead + trail
2343
- }
2344
-
2345
- function resolveGap(style: Style, gutter: Gutter, ownerSize: number): number {
2346
- let v = style.gap[gutter]!
2347
- if (v.unit === Unit.Undefined) v = style.gap[Gutter.All]!
2348
- const r = resolveValue(v, ownerSize)
2349
- return isDefined(r) ? Math.max(0, r) : 0
2350
- }
2351
-
2352
- function boundAxis(
2353
- style: Style,
2354
- isWidth: boolean,
2355
- value: number,
2356
- ownerWidth: number,
2357
- ownerHeight: number,
2358
- ): number {
2359
- const minV = isWidth ? style.minWidth : style.minHeight
2360
- const maxV = isWidth ? style.maxWidth : style.maxHeight
2361
- const minU = minV.unit
2362
- const maxU = maxV.unit
2363
- // Fast path: no min/max constraints set. Per CPU profile this is the
2364
- // overwhelmingly common case (~32k calls/layout on the 1000-node bench,
2365
- // nearly all with undefined min/max) — skipping 2× resolveValue + 2× isNaN
2366
- // that always no-op. Unit.Undefined = 0.
2367
- if (minU === 0 && maxU === 0) return value
2368
- const owner = isWidth ? ownerWidth : ownerHeight
2369
- let v = value
2370
- // Inlined resolveValue: Unit.Point=1, Unit.Percent=2. `m === m` is !isNaN.
2371
- if (maxU === 1) {
2372
- if (v > maxV.value) v = maxV.value
2373
- } else if (maxU === 2) {
2374
- const m = (maxV.value * owner) / 100
2375
- if (m === m && v > m) v = m
2376
- }
2377
- if (minU === 1) {
2378
- if (v < minV.value) v = minV.value
2379
- } else if (minU === 2) {
2380
- const m = (minV.value * owner) / 100
2381
- if (m === m && v < m) v = m
2382
- }
2383
- return v
2384
- }
2385
-
2386
- function zeroLayoutRecursive(node: Node): void {
2387
- for (const c of node.children) {
2388
- c.layout.left = 0
2389
- c.layout.top = 0
2390
- c.layout.width = 0
2391
- c.layout.height = 0
2392
- // Invalidate layout cache — without this, unhide → calculateLayout finds
2393
- // the child clean (!isDirty_) with _hasL intact, hits the cache at line
2394
- // ~1086, restores stale _lOutW/_lOutH, and returns early — skipping the
2395
- // child-positioning recursion. Grandchildren stay at (0,0,0,0) from the
2396
- // zeroing above and render invisible. isDirty_=true also gates _cN and
2397
- // _fbBasis via their (sameGen || !isDirty_) checks — _cGen/_fbGen freeze
2398
- // during hide so sameGen is false on unhide.
2399
- c.isDirty_ = true
2400
- c._hasL = false
2401
- c._hasM = false
2402
- zeroLayoutRecursive(c)
2403
- }
2404
- }
2405
-
2406
- function collectLayoutChildren(node: Node, flow: Node[], abs: Node[]): void {
2407
- // Partition a node's children into flow and absolute lists, flattening
2408
- // display:contents subtrees so their children are laid out as direct
2409
- // children of this node (per CSS display:contents spec — the box is removed
2410
- // from the layout tree but its children remain, lifted to the grandparent).
2411
- for (const c of node.children) {
2412
- const disp = c.style.display
2413
- if (disp === Display.None) {
2414
- c.layout.left = 0
2415
- c.layout.top = 0
2416
- c.layout.width = 0
2417
- c.layout.height = 0
2418
- zeroLayoutRecursive(c)
2419
- } else if (disp === Display.Contents) {
2420
- c.layout.left = 0
2421
- c.layout.top = 0
2422
- c.layout.width = 0
2423
- c.layout.height = 0
2424
- // Recurse — nested display:contents lifts all the way up. The contents
2425
- // node's own margin/padding/position/dimensions are ignored.
2426
- collectLayoutChildren(c, flow, abs)
2427
- } else if (c.style.positionType === PositionType.Absolute) {
2428
- abs.push(c)
2429
- } else {
2430
- flow.push(c)
2431
- }
2432
- }
2433
- }
2434
-
2435
- function roundLayout(
2436
- node: Node,
2437
- scale: number,
2438
- absLeft: number,
2439
- absTop: number,
2440
- ): void {
2441
- if (scale === 0) return
2442
- const l = node.layout
2443
- const nodeLeft = l.left
2444
- const nodeTop = l.top
2445
- const nodeWidth = l.width
2446
- const nodeHeight = l.height
2447
-
2448
- const absNodeLeft = absLeft + nodeLeft
2449
- const absNodeTop = absTop + nodeTop
2450
-
2451
- // Upstream YGRoundValueToPixelGrid: text nodes (has measureFunc) floor their
2452
- // positions so wrapped text never starts past its allocated column. Width
2453
- // uses ceil-if-fractional to avoid clipping the last glyph. Non-text nodes
2454
- // use standard round. Matches yoga's PixelGrid.cpp — without this, justify
2455
- // center/space-evenly positions are off-by-one vs WASM and flex-shrink
2456
- // overflow places siblings at the wrong column.
2457
- const isText = node.measureFunc !== null
2458
- l.left = roundValue(nodeLeft, scale, false, isText)
2459
- l.top = roundValue(nodeTop, scale, false, isText)
2460
-
2461
- // Width/height rounded via absolute edges to avoid cumulative drift
2462
- const absRight = absNodeLeft + nodeWidth
2463
- const absBottom = absNodeTop + nodeHeight
2464
- const hasFracW = !isWholeNumber(nodeWidth * scale)
2465
- const hasFracH = !isWholeNumber(nodeHeight * scale)
2466
- l.width =
2467
- roundValue(absRight, scale, isText && hasFracW, isText && !hasFracW) -
2468
- roundValue(absNodeLeft, scale, false, isText)
2469
- l.height =
2470
- roundValue(absBottom, scale, isText && hasFracH, isText && !hasFracH) -
2471
- roundValue(absNodeTop, scale, false, isText)
2472
-
2473
- for (const c of node.children) {
2474
- roundLayout(c, scale, absNodeLeft, absNodeTop)
2475
- }
2476
- }
2477
-
2478
- function isWholeNumber(v: number): boolean {
2479
- const frac = v - Math.floor(v)
2480
- return frac < 0.0001 || frac > 0.9999
2481
- }
2482
-
2483
- function roundValue(
2484
- v: number,
2485
- scale: number,
2486
- forceCeil: boolean,
2487
- forceFloor: boolean,
2488
- ): number {
2489
- let scaled = v * scale
2490
- let frac = scaled - Math.floor(scaled)
2491
- if (frac < 0) frac += 1
2492
- // Float-epsilon tolerance matches upstream YGDoubleEqual (1e-4)
2493
- if (frac < 0.0001) {
2494
- scaled = Math.floor(scaled)
2495
- } else if (frac > 0.9999) {
2496
- scaled = Math.ceil(scaled)
2497
- } else if (forceCeil) {
2498
- scaled = Math.ceil(scaled)
2499
- } else if (forceFloor) {
2500
- scaled = Math.floor(scaled)
2501
- } else {
2502
- // Round half-up (>= 0.5 goes up), per upstream
2503
- scaled = Math.floor(scaled) + (frac >= 0.4999 ? 1 : 0)
2504
- }
2505
- return scaled / scale
2506
- }
2507
-
2508
- // --
2509
- // Helpers
2510
-
2511
- function parseDimension(v: number | string | undefined): Value {
2512
- if (v === undefined) return UNDEFINED_VALUE
2513
- if (v === 'auto') return AUTO_VALUE
2514
- if (typeof v === 'number') {
2515
- // WASM yoga's YGFloatIsUndefined treats NaN and ±Infinity as undefined.
2516
- // Ink passes height={Infinity} (e.g. LogSelector maxHeight default) and
2517
- // expects it to mean "unconstrained" — storing it as a literal point value
2518
- // makes the node height Infinity and breaks all downstream layout.
2519
- return Number.isFinite(v) ? pointValue(v) : UNDEFINED_VALUE
2520
- }
2521
- if (typeof v === 'string' && v.endsWith('%')) {
2522
- return percentValue(parseFloat(v))
2523
- }
2524
- const n = parseFloat(v)
2525
- return isNaN(n) ? UNDEFINED_VALUE : pointValue(n)
2526
- }
2527
-
2528
- function physicalEdge(edge: Edge): number {
2529
- switch (edge) {
2530
- case Edge.Left:
2531
- case Edge.Start:
2532
- return EDGE_LEFT
2533
- case Edge.Top:
2534
- return EDGE_TOP
2535
- case Edge.Right:
2536
- case Edge.End:
2537
- return EDGE_RIGHT
2538
- case Edge.Bottom:
2539
- return EDGE_BOTTOM
2540
- default:
2541
- return EDGE_LEFT
2542
- }
2543
- }
2544
-
2545
- // --
2546
- // Module API matching yoga-layout/load
2547
-
2548
- export type Yoga = {
2549
- Config: {
2550
- create(): Config
2551
- destroy(config: Config): void
2552
- }
2553
- Node: {
2554
- create(config?: Config): Node
2555
- createDefault(): Node
2556
- createWithConfig(config: Config): Node
2557
- destroy(node: Node): void
2558
- }
2559
- }
2560
-
2561
- const YOGA_INSTANCE: Yoga = {
2562
- Config: {
2563
- create: createConfig,
2564
- destroy() {},
2565
- },
2566
- Node: {
2567
- create: (config?: Config) => new Node(config),
2568
- createDefault: () => new Node(),
2569
- createWithConfig: (config: Config) => new Node(config),
2570
- destroy() {},
2571
- },
2572
- }
2573
-
2574
- export function loadYoga(): Promise<Yoga> {
2575
- return Promise.resolve(YOGA_INSTANCE)
2576
- }
2577
-
2578
- export default YOGA_INSTANCE