@iaforged/context-code 1.0.63 → 1.0.65

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 (2000) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +633 -9
  3. package/context-bootstrap.js +28 -28
  4. package/package.json +169 -170
  5. package/dist/src/QueryEngine.js +0 -928
  6. package/dist/src/Task.js +0 -49
  7. package/dist/src/Tool.js +0 -56
  8. package/dist/src/assistant/AssistantSessionChooser.js +0 -16
  9. package/dist/src/assistant/index.js +0 -16
  10. package/dist/src/assistant/sessionDiscovery.js +0 -16
  11. package/dist/src/assistant/sessionHistory.js +0 -47
  12. package/dist/src/bootstrap/state.js +0 -1165
  13. package/dist/src/bridge/bridgeApi.js +0 -304
  14. package/dist/src/bridge/bridgeConfig.js +0 -39
  15. package/dist/src/bridge/bridgeDebug.js +0 -73
  16. package/dist/src/bridge/bridgeEnabled.js +0 -187
  17. package/dist/src/bridge/bridgeMain.js +0 -2289
  18. package/dist/src/bridge/bridgeMessaging.js +0 -353
  19. package/dist/src/bridge/bridgePermissionCallbacks.js +0 -10
  20. package/dist/src/bridge/bridgePointer.js +0 -175
  21. package/dist/src/bridge/bridgeStatusUtil.js +0 -105
  22. package/dist/src/bridge/bridgeUI.js +0 -412
  23. package/dist/src/bridge/capacityWake.js +0 -35
  24. package/dist/src/bridge/codeSessionApi.js +0 -111
  25. package/dist/src/bridge/createSession.js +0 -273
  26. package/dist/src/bridge/debugUtils.js +0 -115
  27. package/dist/src/bridge/envLessBridgeConfig.js +0 -121
  28. package/dist/src/bridge/flushGate.js +0 -65
  29. package/dist/src/bridge/inboundAttachments.js +0 -152
  30. package/dist/src/bridge/inboundMessages.js +0 -63
  31. package/dist/src/bridge/initReplBridge.js +0 -428
  32. package/dist/src/bridge/jwtUtils.js +0 -185
  33. package/dist/src/bridge/pollConfig.js +0 -85
  34. package/dist/src/bridge/pollConfigDefaults.js +0 -62
  35. package/dist/src/bridge/remoteBridgeCore.js +0 -712
  36. package/dist/src/bridge/replBridge.js +0 -1720
  37. package/dist/src/bridge/replBridgeHandle.js +0 -30
  38. package/dist/src/bridge/replBridgeTransport.js +0 -236
  39. package/dist/src/bridge/sessionIdCompat.js +0 -56
  40. package/dist/src/bridge/sessionRunner.js +0 -421
  41. package/dist/src/bridge/trustedDevice.js +0 -172
  42. package/dist/src/bridge/types.js +0 -9
  43. package/dist/src/bridge/workSecret.js +0 -99
  44. package/dist/src/buddy/CompanionSprite.js +0 -349
  45. package/dist/src/buddy/companion.js +0 -107
  46. package/dist/src/buddy/prompt.js +0 -33
  47. package/dist/src/buddy/sprites.js +0 -488
  48. package/dist/src/buddy/types.js +0 -90
  49. package/dist/src/buddy/useBuddyNotification.js +0 -90
  50. package/dist/src/cli/bg.js +0 -16
  51. package/dist/src/cli/exit.js +0 -30
  52. package/dist/src/cli/handlers/agents.js +0 -55
  53. package/dist/src/cli/handlers/ant.js +0 -16
  54. package/dist/src/cli/handlers/auth.js +0 -312
  55. package/dist/src/cli/handlers/autoMode.js +0 -128
  56. package/dist/src/cli/handlers/mcp.js +0 -334
  57. package/dist/src/cli/handlers/plugins.js +0 -634
  58. package/dist/src/cli/handlers/projects_bridge.js +0 -40
  59. package/dist/src/cli/handlers/templateJobs.js +0 -16
  60. package/dist/src/cli/handlers/util.js +0 -76
  61. package/dist/src/cli/ndjsonSafeStringify.js +0 -27
  62. package/dist/src/cli/print.js +0 -4225
  63. package/dist/src/cli/remoteIO.js +0 -208
  64. package/dist/src/cli/rollback.js +0 -16
  65. package/dist/src/cli/structuredIO.js +0 -644
  66. package/dist/src/cli/transports/HybridTransport.js +0 -233
  67. package/dist/src/cli/transports/SSETransport.js +0 -538
  68. package/dist/src/cli/transports/SerialBatchEventUploader.js +0 -224
  69. package/dist/src/cli/transports/Transport.js +0 -1
  70. package/dist/src/cli/transports/WebSocketTransport.js +0 -613
  71. package/dist/src/cli/transports/WorkerStateUploader.js +0 -88
  72. package/dist/src/cli/transports/ccrClient.js +0 -711
  73. package/dist/src/cli/transports/transportUtils.js +0 -39
  74. package/dist/src/cli/up.js +0 -16
  75. package/dist/src/cli/update.js +0 -315
  76. package/dist/src/commands/add-dir/add-dir.js +0 -121
  77. package/dist/src/commands/add-dir/index.js +0 -8
  78. package/dist/src/commands/add-dir/validation.js +0 -76
  79. package/dist/src/commands/advisor.js +0 -88
  80. package/dist/src/commands/agents/agents.js +0 -9
  81. package/dist/src/commands/agents/index.js +0 -7
  82. package/dist/src/commands/ant-trace/index.js +0 -1
  83. package/dist/src/commands/assistant/assistant.js +0 -16
  84. package/dist/src/commands/autofix-pr/index.js +0 -1
  85. package/dist/src/commands/backfill-sessions/index.js +0 -1
  86. package/dist/src/commands/branch/branch.js +0 -205
  87. package/dist/src/commands/branch/index.js +0 -11
  88. package/dist/src/commands/break-cache/index.js +0 -1
  89. package/dist/src/commands/bridge/bridge.js +0 -512
  90. package/dist/src/commands/bridge/index.js +0 -22
  91. package/dist/src/commands/bridge-kick.js +0 -179
  92. package/dist/src/commands/brief.js +0 -94
  93. package/dist/src/commands/btw/btw.js +0 -234
  94. package/dist/src/commands/btw/index.js +0 -9
  95. package/dist/src/commands/bughunter/index.js +0 -1
  96. package/dist/src/commands/chrome/chrome.js +0 -291
  97. package/dist/src/commands/chrome/index.js +0 -10
  98. package/dist/src/commands/clear/caches.js +0 -116
  99. package/dist/src/commands/clear/clear.js +0 -5
  100. package/dist/src/commands/clear/conversation.js +0 -191
  101. package/dist/src/commands/clear/index.js +0 -9
  102. package/dist/src/commands/color/color.js +0 -58
  103. package/dist/src/commands/color/index.js +0 -9
  104. package/dist/src/commands/commit-push-pr.js +0 -137
  105. package/dist/src/commands/commit.js +0 -80
  106. package/dist/src/commands/compact/compact.js +0 -196
  107. package/dist/src/commands/compact/index.js +0 -11
  108. package/dist/src/commands/config/config.js +0 -5
  109. package/dist/src/commands/config/index.js +0 -8
  110. package/dist/src/commands/context/context-noninteractive.js +0 -221
  111. package/dist/src/commands/context/context.js +0 -46
  112. package/dist/src/commands/context/index.js +0 -21
  113. package/dist/src/commands/copy/copy.js +0 -366
  114. package/dist/src/commands/copy/index.js +0 -7
  115. package/dist/src/commands/cost/cost.js +0 -21
  116. package/dist/src/commands/cost/index.js +0 -16
  117. package/dist/src/commands/createMovedToPluginCommand.js +0 -33
  118. package/dist/src/commands/ctx_viz/index.js +0 -1
  119. package/dist/src/commands/debug-tool-call/index.js +0 -1
  120. package/dist/src/commands/desktop/desktop.js +0 -5
  121. package/dist/src/commands/desktop/index.js +0 -22
  122. package/dist/src/commands/diff/diff.js +0 -5
  123. package/dist/src/commands/diff/index.js +0 -6
  124. package/dist/src/commands/doctor/doctor.js +0 -5
  125. package/dist/src/commands/doctor/index.js +0 -9
  126. package/dist/src/commands/effort/effort.js +0 -166
  127. package/dist/src/commands/effort/index.js +0 -11
  128. package/dist/src/commands/env/index.js +0 -1
  129. package/dist/src/commands/exit/exit.js +0 -31
  130. package/dist/src/commands/exit/index.js +0 -9
  131. package/dist/src/commands/export/export.js +0 -86
  132. package/dist/src/commands/export/index.js +0 -8
  133. package/dist/src/commands/extra-usage/extra-usage-core.js +0 -99
  134. package/dist/src/commands/extra-usage/extra-usage-noninteractive.js +0 -13
  135. package/dist/src/commands/extra-usage/extra-usage.js +0 -14
  136. package/dist/src/commands/extra-usage/index.js +0 -27
  137. package/dist/src/commands/fast/fast.js +0 -275
  138. package/dist/src/commands/fast/index.js +0 -20
  139. package/dist/src/commands/feedback/feedback.js +0 -10
  140. package/dist/src/commands/feedback/index.js +0 -20
  141. package/dist/src/commands/files/files.js +0 -11
  142. package/dist/src/commands/files/index.js +0 -9
  143. package/dist/src/commands/good-claude/index.js +0 -1
  144. package/dist/src/commands/heapdump/heapdump.js +0 -14
  145. package/dist/src/commands/heapdump/index.js +0 -9
  146. package/dist/src/commands/help/help.js +0 -5
  147. package/dist/src/commands/help/index.js +0 -7
  148. package/dist/src/commands/hooks/hooks.js +0 -11
  149. package/dist/src/commands/hooks/index.js +0 -8
  150. package/dist/src/commands/ide/ide.js +0 -615
  151. package/dist/src/commands/ide/index.js +0 -8
  152. package/dist/src/commands/init-verifiers.js +0 -258
  153. package/dist/src/commands/init.js +0 -249
  154. package/dist/src/commands/insights.js +0 -2555
  155. package/dist/src/commands/install-github-app/ApiKeyStep.js +0 -230
  156. package/dist/src/commands/install-github-app/CheckExistingSecretStep.js +0 -194
  157. package/dist/src/commands/install-github-app/CheckGitHubStep.js +0 -15
  158. package/dist/src/commands/install-github-app/ChooseRepoStep.js +0 -211
  159. package/dist/src/commands/install-github-app/CreatingStep.js +0 -52
  160. package/dist/src/commands/install-github-app/ErrorStep.js +0 -83
  161. package/dist/src/commands/install-github-app/ExistingWorkflowStep.js +0 -104
  162. package/dist/src/commands/install-github-app/InstallAppStep.js +0 -96
  163. package/dist/src/commands/install-github-app/OAuthFlowStep.js +0 -190
  164. package/dist/src/commands/install-github-app/SuccessStep.js +0 -93
  165. package/dist/src/commands/install-github-app/WarningsStep.js +0 -70
  166. package/dist/src/commands/install-github-app/index.js +0 -10
  167. package/dist/src/commands/install-github-app/install-github-app.js +0 -593
  168. package/dist/src/commands/install-github-app/setupGitHubActions.js +0 -227
  169. package/dist/src/commands/install-slack-app/index.js +0 -9
  170. package/dist/src/commands/install-slack-app/install-slack-app.js +0 -25
  171. package/dist/src/commands/install.js +0 -118
  172. package/dist/src/commands/issue/index.js +0 -1
  173. package/dist/src/commands/keybindings/index.js +0 -10
  174. package/dist/src/commands/keybindings/keybindings.js +0 -47
  175. package/dist/src/commands/login/index.js +0 -11
  176. package/dist/src/commands/login/login.js +0 -99
  177. package/dist/src/commands/login-openai/index.js +0 -7
  178. package/dist/src/commands/login-openai/login-openai.js +0 -54
  179. package/dist/src/commands/logout/index.js +0 -8
  180. package/dist/src/commands/logout/logout.js +0 -72
  181. package/dist/src/commands/mcp/addCommand.js +0 -183
  182. package/dist/src/commands/mcp/index.js +0 -9
  183. package/dist/src/commands/mcp/mcp.js +0 -78
  184. package/dist/src/commands/mcp/xaaIdpCommand.js +0 -193
  185. package/dist/src/commands/memory/index.js +0 -7
  186. package/dist/src/commands/memory/memory.js +0 -71
  187. package/dist/src/commands/mobile/index.js +0 -8
  188. package/dist/src/commands/mobile/mobile.js +0 -278
  189. package/dist/src/commands/mock-limits/index.js +0 -1
  190. package/dist/src/commands/model/index.js +0 -14
  191. package/dist/src/commands/model/model.js +0 -297
  192. package/dist/src/commands/oauth-refresh/index.js +0 -1
  193. package/dist/src/commands/onboarding/index.js +0 -1
  194. package/dist/src/commands/output-style/index.js +0 -8
  195. package/dist/src/commands/output-style/output-style.js +0 -6
  196. package/dist/src/commands/passes/index.js +0 -17
  197. package/dist/src/commands/passes/passes.js +0 -22
  198. package/dist/src/commands/perf-issue/index.js +0 -1
  199. package/dist/src/commands/permissions/index.js +0 -8
  200. package/dist/src/commands/permissions/permissions.js +0 -8
  201. package/dist/src/commands/plan/index.js +0 -8
  202. package/dist/src/commands/plan/plan.js +0 -115
  203. package/dist/src/commands/plugin/AddMarketplace.js +0 -95
  204. package/dist/src/commands/plugin/BrowseMarketplace.js +0 -576
  205. package/dist/src/commands/plugin/DiscoverPlugins.js +0 -613
  206. package/dist/src/commands/plugin/ManageMarketplaces.js +0 -582
  207. package/dist/src/commands/plugin/ManagePlugins.js +0 -1783
  208. package/dist/src/commands/plugin/PluginErrors.js +0 -124
  209. package/dist/src/commands/plugin/PluginOptionsDialog.js +0 -367
  210. package/dist/src/commands/plugin/PluginOptionsFlow.js +0 -97
  211. package/dist/src/commands/plugin/PluginSettings.js +0 -1042
  212. package/dist/src/commands/plugin/PluginTrustWarning.js +0 -34
  213. package/dist/src/commands/plugin/UnifiedInstalledCell.js +0 -615
  214. package/dist/src/commands/plugin/ValidatePlugin.js +0 -95
  215. package/dist/src/commands/plugin/index.js +0 -10
  216. package/dist/src/commands/plugin/parseArgs.js +0 -71
  217. package/dist/src/commands/plugin/plugin.js +0 -5
  218. package/dist/src/commands/plugin/pluginDetailsHelpers.js +0 -89
  219. package/dist/src/commands/plugin/usePagination.js +0 -89
  220. package/dist/src/commands/pr_comments/index.js +0 -49
  221. package/dist/src/commands/privacy-settings/index.js +0 -11
  222. package/dist/src/commands/privacy-settings/privacy-settings.js +0 -54
  223. package/dist/src/commands/profile/index.js +0 -9
  224. package/dist/src/commands/profile/profile.js +0 -426
  225. package/dist/src/commands/provider/index.js +0 -8
  226. package/dist/src/commands/provider/provider.js +0 -349
  227. package/dist/src/commands/rate-limit-options/index.js +0 -15
  228. package/dist/src/commands/rate-limit-options/rate-limit-options.js +0 -213
  229. package/dist/src/commands/release-notes/index.js +0 -8
  230. package/dist/src/commands/release-notes/release-notes.js +0 -38
  231. package/dist/src/commands/reload-plugins/index.js +0 -11
  232. package/dist/src/commands/reload-plugins/reload-plugins.js +0 -52
  233. package/dist/src/commands/remote-env/index.js +0 -12
  234. package/dist/src/commands/remote-env/remote-env.js +0 -5
  235. package/dist/src/commands/remote-setup/api.js +0 -155
  236. package/dist/src/commands/remote-setup/index.js +0 -15
  237. package/dist/src/commands/remote-setup/remote-setup.js +0 -149
  238. package/dist/src/commands/rename/generateSessionName.js +0 -58
  239. package/dist/src/commands/rename/index.js +0 -9
  240. package/dist/src/commands/rename/rename.js +0 -52
  241. package/dist/src/commands/reset-limits/index.js +0 -4
  242. package/dist/src/commands/resume/index.js +0 -9
  243. package/dist/src/commands/resume/resume.js +0 -239
  244. package/dist/src/commands/review/UltrareviewOverageDialog.js +0 -97
  245. package/dist/src/commands/review/reviewRemote.js +0 -259
  246. package/dist/src/commands/review/ultrareviewCommand.js +0 -57
  247. package/dist/src/commands/review/ultrareviewEnabled.js +0 -10
  248. package/dist/src/commands/review.js +0 -50
  249. package/dist/src/commands/rewind/index.js +0 -10
  250. package/dist/src/commands/rewind/rewind.js +0 -7
  251. package/dist/src/commands/sandbox-toggle/index.js +0 -41
  252. package/dist/src/commands/sandbox-toggle/sandbox-toggle.js +0 -72
  253. package/dist/src/commands/security-review.js +0 -231
  254. package/dist/src/commands/session/index.js +0 -13
  255. package/dist/src/commands/session/session.js +0 -142
  256. package/dist/src/commands/share/index.js +0 -1
  257. package/dist/src/commands/skills/index.js +0 -7
  258. package/dist/src/commands/skills/skills.js +0 -5
  259. package/dist/src/commands/stats/index.js +0 -7
  260. package/dist/src/commands/stats/stats.js +0 -5
  261. package/dist/src/commands/status/index.js +0 -8
  262. package/dist/src/commands/status/status.js +0 -5
  263. package/dist/src/commands/statusline.js +0 -22
  264. package/dist/src/commands/stickers/index.js +0 -8
  265. package/dist/src/commands/stickers/stickers.js +0 -14
  266. package/dist/src/commands/summary/index.js +0 -1
  267. package/dist/src/commands/tag/index.js +0 -9
  268. package/dist/src/commands/tag/tag.js +0 -215
  269. package/dist/src/commands/tasks/index.js +0 -8
  270. package/dist/src/commands/tasks/tasks.js +0 -5
  271. package/dist/src/commands/telegram/index.js +0 -9
  272. package/dist/src/commands/telegram/telegram.js +0 -118
  273. package/dist/src/commands/teleport/index.js +0 -1
  274. package/dist/src/commands/terminalSetup/index.js +0 -18
  275. package/dist/src/commands/terminalSetup/terminalSetup.js +0 -491
  276. package/dist/src/commands/theme/index.js +0 -7
  277. package/dist/src/commands/theme/theme.js +0 -50
  278. package/dist/src/commands/thinkback/index.js +0 -9
  279. package/dist/src/commands/thinkback/thinkback.js +0 -527
  280. package/dist/src/commands/thinkback-play/index.js +0 -13
  281. package/dist/src/commands/thinkback-play/thinkback-play.js +0 -34
  282. package/dist/src/commands/ultraplan.js +0 -418
  283. package/dist/src/commands/upgrade/index.js +0 -12
  284. package/dist/src/commands/upgrade/upgrade.js +0 -37
  285. package/dist/src/commands/usage/index.js +0 -7
  286. package/dist/src/commands/usage/usage.js +0 -5
  287. package/dist/src/commands/version.js +0 -18
  288. package/dist/src/commands/vim/index.js +0 -8
  289. package/dist/src/commands/vim/vim.js +0 -25
  290. package/dist/src/commands/voice/index.js +0 -14
  291. package/dist/src/commands/voice/voice.js +0 -130
  292. package/dist/src/commands/whatsapp/index.js +0 -9
  293. package/dist/src/commands/whatsapp/whatsapp.js +0 -326
  294. package/dist/src/commands.js +0 -646
  295. package/dist/src/components/AgentProgressLine.js +0 -111
  296. package/dist/src/components/App.js +0 -45
  297. package/dist/src/components/ApproveApiKey.js +0 -124
  298. package/dist/src/components/AutoModeOptInDialog.js +0 -140
  299. package/dist/src/components/AutoUpdater.js +0 -157
  300. package/dist/src/components/AutoUpdaterWrapper.js +0 -78
  301. package/dist/src/components/AwsAuthStatusBox.js +0 -88
  302. package/dist/src/components/BaseTextInput.js +0 -105
  303. package/dist/src/components/BashModeProgress.js +0 -48
  304. package/dist/src/components/BridgeDialog.js +0 -414
  305. package/dist/src/components/BypassPermissionsModeDialog.js +0 -87
  306. package/dist/src/components/ChannelDowngradeDialog.js +0 -100
  307. package/dist/src/components/ClaudeCodeHint/PluginHintMenu.js +0 -37
  308. package/dist/src/components/ClaudeInChromeOnboarding.js +0 -126
  309. package/dist/src/components/ClaudeMdExternalIncludesDialog.js +0 -137
  310. package/dist/src/components/ClickableImageRef.js +0 -64
  311. package/dist/src/components/CompactSummary.js +0 -119
  312. package/dist/src/components/ConfigurableShortcutHint.js +0 -34
  313. package/dist/src/components/ConsoleOAuthFlow.js +0 -756
  314. package/dist/src/components/ContextSuggestions.js +0 -43
  315. package/dist/src/components/ContextVisualization.js +0 -483
  316. package/dist/src/components/CoordinatorAgentStatus.js +0 -261
  317. package/dist/src/components/CostThresholdDialog.js +0 -48
  318. package/dist/src/components/CtrlOToExpand.js +0 -50
  319. package/dist/src/components/CustomSelect/SelectMulti.js +0 -149
  320. package/dist/src/components/CustomSelect/index.js +0 -2
  321. package/dist/src/components/CustomSelect/option-map.js +0 -32
  322. package/dist/src/components/CustomSelect/select-input-option.js +0 -426
  323. package/dist/src/components/CustomSelect/select-option.js +0 -23
  324. package/dist/src/components/CustomSelect/select.js +0 -518
  325. package/dist/src/components/CustomSelect/use-multi-select-state.js +0 -214
  326. package/dist/src/components/CustomSelect/use-select-input.js +0 -170
  327. package/dist/src/components/CustomSelect/use-select-navigation.js +0 -366
  328. package/dist/src/components/CustomSelect/use-select-state.js +0 -22
  329. package/dist/src/components/DesktopHandoff.js +0 -195
  330. package/dist/src/components/DesktopUpsell/DesktopUpsellStartup.js +0 -173
  331. package/dist/src/components/DevBar.js +0 -50
  332. package/dist/src/components/DevChannelsDialog.js +0 -103
  333. package/dist/src/components/DiagnosticsDisplay.js +0 -91
  334. package/dist/src/components/EffortCallout.js +0 -264
  335. package/dist/src/components/EffortIndicator.js +0 -29
  336. package/dist/src/components/ExitFlow.js +0 -40
  337. package/dist/src/components/ExportDialog.js +0 -101
  338. package/dist/src/components/FallbackToolUseErrorMessage.js +0 -115
  339. package/dist/src/components/FallbackToolUseRejectedMessage.js +0 -16
  340. package/dist/src/components/FastIcon.js +0 -42
  341. package/dist/src/components/Feedback.js +0 -439
  342. package/dist/src/components/FeedbackSurvey/FeedbackSurvey.js +0 -150
  343. package/dist/src/components/FeedbackSurvey/FeedbackSurveyView.js +0 -103
  344. package/dist/src/components/FeedbackSurvey/TranscriptSharePrompt.js +0 -83
  345. package/dist/src/components/FeedbackSurvey/submitTranscriptShare.js +0 -75
  346. package/dist/src/components/FeedbackSurvey/useDebouncedDigitInput.js +0 -51
  347. package/dist/src/components/FeedbackSurvey/useFeedbackSurvey.js +0 -258
  348. package/dist/src/components/FeedbackSurvey/useMemorySurvey.js +0 -191
  349. package/dist/src/components/FeedbackSurvey/usePostCompactSurvey.js +0 -202
  350. package/dist/src/components/FeedbackSurvey/useSurveyState.js +0 -80
  351. package/dist/src/components/FileEditToolDiff.js +0 -166
  352. package/dist/src/components/FileEditToolUpdatedMessage.js +0 -111
  353. package/dist/src/components/FileEditToolUseRejectedMessage.js +0 -157
  354. package/dist/src/components/FilePathLink.js +0 -34
  355. package/dist/src/components/FullscreenLayout.js +0 -578
  356. package/dist/src/components/GlobalSearchDialog.js +0 -339
  357. package/dist/src/components/HelpV2/Commands.js +0 -65
  358. package/dist/src/components/HelpV2/General.js +0 -24
  359. package/dist/src/components/HelpV2/HelpV2.js +0 -186
  360. package/dist/src/components/HighlightedCode/Fallback.js +0 -193
  361. package/dist/src/components/HighlightedCode.js +0 -184
  362. package/dist/src/components/HistorySearchDialog.js +0 -92
  363. package/dist/src/components/IdeAutoConnectDialog.js +0 -153
  364. package/dist/src/components/IdeOnboardingDialog.js +0 -174
  365. package/dist/src/components/IdeStatusIndicator.js +0 -49
  366. package/dist/src/components/IdleReturnDialog.js +0 -116
  367. package/dist/src/components/InterruptedByUser.js +0 -15
  368. package/dist/src/components/InvalidConfigDialog.js +0 -134
  369. package/dist/src/components/InvalidSettingsDialog.js +0 -84
  370. package/dist/src/components/KeybindingWarnings.js +0 -54
  371. package/dist/src/components/LanguagePicker.js +0 -84
  372. package/dist/src/components/LogSelector.js +0 -1579
  373. package/dist/src/components/LogoV2/AnimatedAsterisk.js +0 -42
  374. package/dist/src/components/LogoV2/AnimatedClawd.js +0 -111
  375. package/dist/src/components/LogoV2/ChannelsNotice.js +0 -258
  376. package/dist/src/components/LogoV2/Clawd.js +0 -5
  377. package/dist/src/components/LogoV2/CondensedLogo.js +0 -159
  378. package/dist/src/components/LogoV2/EmergencyTip.js +0 -47
  379. package/dist/src/components/LogoV2/Feed.js +0 -84
  380. package/dist/src/components/LogoV2/FeedColumn.js +0 -55
  381. package/dist/src/components/LogoV2/GuestPassesUpsell.js +0 -71
  382. package/dist/src/components/LogoV2/LogoV2.js +0 -565
  383. package/dist/src/components/LogoV2/Opus1mMergeNotice.js +0 -56
  384. package/dist/src/components/LogoV2/OverageCreditUpsell.js +0 -160
  385. package/dist/src/components/LogoV2/VoiceModeNotice.js +0 -70
  386. package/dist/src/components/LogoV2/WelcomeV2.js +0 -461
  387. package/dist/src/components/LogoV2/feedConfigs.js +0 -78
  388. package/dist/src/components/LspRecommendation/LspRecommendationMenu.js +0 -46
  389. package/dist/src/components/MCPServerApprovalDialog.js +0 -113
  390. package/dist/src/components/MCPServerDesktopImportDialog.js +0 -206
  391. package/dist/src/components/MCPServerDialogCopy.js +0 -15
  392. package/dist/src/components/MCPServerMultiselectDialog.js +0 -133
  393. package/dist/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.js +0 -149
  394. package/dist/src/components/ManagedSettingsSecurityDialog/utils.js +0 -105
  395. package/dist/src/components/Markdown.js +0 -217
  396. package/dist/src/components/MarkdownTable.js +0 -279
  397. package/dist/src/components/MemoryUsageIndicator.js +0 -27
  398. package/dist/src/components/Message.js +0 -566
  399. package/dist/src/components/MessageModel.js +0 -36
  400. package/dist/src/components/MessageResponse.js +0 -73
  401. package/dist/src/components/MessageRow.js +0 -346
  402. package/dist/src/components/MessageSelector.js +0 -743
  403. package/dist/src/components/MessageTimestamp.js +0 -57
  404. package/dist/src/components/Messages.js +0 -637
  405. package/dist/src/components/ModelPicker.js +0 -484
  406. package/dist/src/components/NativeAutoUpdater.js +0 -153
  407. package/dist/src/components/NotebookEditToolUseRejectedMessage.js +0 -83
  408. package/dist/src/components/OffscreenFreeze.js +0 -35
  409. package/dist/src/components/Onboarding.js +0 -174
  410. package/dist/src/components/OutputStylePicker.js +0 -102
  411. package/dist/src/components/PackageManagerAutoUpdater.js +0 -100
  412. package/dist/src/components/Passes/Passes.js +0 -113
  413. package/dist/src/components/PrBadge.js +0 -90
  414. package/dist/src/components/PressEnterToContinue.js +0 -15
  415. package/dist/src/components/PromptInput/HistorySearchInput.js +0 -44
  416. package/dist/src/components/PromptInput/IssueFlagBanner.js +0 -8
  417. package/dist/src/components/PromptInput/Notifications.js +0 -221
  418. package/dist/src/components/PromptInput/PromptInput.js +0 -1998
  419. package/dist/src/components/PromptInput/PromptInputFooter.js +0 -84
  420. package/dist/src/components/PromptInput/PromptInputFooterLeftSide.js +0 -409
  421. package/dist/src/components/PromptInput/PromptInputFooterSuggestions.js +0 -280
  422. package/dist/src/components/PromptInput/PromptInputHelpMenu.js +0 -379
  423. package/dist/src/components/PromptInput/PromptInputModeIndicator.js +0 -72
  424. package/dist/src/components/PromptInput/PromptInputQueuedCommands.js +0 -105
  425. package/dist/src/components/PromptInput/PromptInputStashNotice.js +0 -20
  426. package/dist/src/components/PromptInput/SandboxPromptFooterHint.js +0 -65
  427. package/dist/src/components/PromptInput/ShimmeredInput.js +0 -132
  428. package/dist/src/components/PromptInput/VoiceIndicator.js +0 -136
  429. package/dist/src/components/PromptInput/inputModes.js +0 -24
  430. package/dist/src/components/PromptInput/inputPaste.js +0 -62
  431. package/dist/src/components/PromptInput/useMaybeTruncateInput.js +0 -33
  432. package/dist/src/components/PromptInput/usePromptInputPlaceholder.js +0 -55
  433. package/dist/src/components/PromptInput/useShowFastIconHint.js +0 -23
  434. package/dist/src/components/PromptInput/useSwarmBanner.js +0 -112
  435. package/dist/src/components/PromptInput/utils.js +0 -50
  436. package/dist/src/components/QuickOpenDialog.js +0 -243
  437. package/dist/src/components/RemoteCallout.js +0 -53
  438. package/dist/src/components/RemoteEnvironmentDialog.js +0 -345
  439. package/dist/src/components/ResumeTask.js +0 -173
  440. package/dist/src/components/SandboxViolationExpandedView.js +0 -102
  441. package/dist/src/components/ScrollKeybindingHandler.js +0 -982
  442. package/dist/src/components/SearchBox.js +0 -55
  443. package/dist/src/components/SentryErrorBoundary.js +0 -16
  444. package/dist/src/components/SessionBackgroundHint.js +0 -104
  445. package/dist/src/components/SessionPreview.js +0 -200
  446. package/dist/src/components/Settings/Config.js +0 -1628
  447. package/dist/src/components/Settings/Settings.js +0 -129
  448. package/dist/src/components/Settings/Status.js +0 -230
  449. package/dist/src/components/Settings/Usage.js +0 -341
  450. package/dist/src/components/ShowInIDEPrompt.js +0 -151
  451. package/dist/src/components/SkillImprovementSurvey.js +0 -130
  452. package/dist/src/components/Spinner/FlashingChar.js +0 -51
  453. package/dist/src/components/Spinner/GlimmerMessage.js +0 -328
  454. package/dist/src/components/Spinner/ShimmerChar.js +0 -22
  455. package/dist/src/components/Spinner/SpinnerAnimationRow.js +0 -169
  456. package/dist/src/components/Spinner/SpinnerGlyph.js +0 -69
  457. package/dist/src/components/Spinner/TeammateSpinnerLine.js +0 -170
  458. package/dist/src/components/Spinner/TeammateSpinnerTree.js +0 -268
  459. package/dist/src/components/Spinner/index.js +0 -11
  460. package/dist/src/components/Spinner/teammateSelectHint.js +0 -1
  461. package/dist/src/components/Spinner/useShimmerAnimation.js +0 -22
  462. package/dist/src/components/Spinner/useStalledAnimation.js +0 -63
  463. package/dist/src/components/Spinner/utils.js +0 -77
  464. package/dist/src/components/Spinner.js +0 -470
  465. package/dist/src/components/Stats.js +0 -1000
  466. package/dist/src/components/StatusLine.js +0 -285
  467. package/dist/src/components/StatusNotices.js +0 -50
  468. package/dist/src/components/StructuredDiff/Fallback.js +0 -335
  469. package/dist/src/components/StructuredDiff/colorDiff.js +0 -26
  470. package/dist/src/components/StructuredDiff.js +0 -152
  471. package/dist/src/components/StructuredDiffList.js +0 -8
  472. package/dist/src/components/TagTabs.js +0 -100
  473. package/dist/src/components/TaskListV2.js +0 -333
  474. package/dist/src/components/TeammateViewHeader.js +0 -87
  475. package/dist/src/components/TeleportError.js +0 -191
  476. package/dist/src/components/TeleportProgress.js +0 -130
  477. package/dist/src/components/TeleportRepoMismatchDialog.js +0 -98
  478. package/dist/src/components/TeleportResumeWrapper.js +0 -158
  479. package/dist/src/components/TeleportStash.js +0 -82
  480. package/dist/src/components/TextInput.js +0 -108
  481. package/dist/src/components/ThemePicker.js +0 -330
  482. package/dist/src/components/ThinkingToggle.js +0 -153
  483. package/dist/src/components/TokenWarning.js +0 -172
  484. package/dist/src/components/ToolUseLoader.js +0 -34
  485. package/dist/src/components/TrustDialog/TrustDialog.js +0 -301
  486. package/dist/src/components/TrustDialog/utils.js +0 -199
  487. package/dist/src/components/ValidationErrorsList.js +0 -146
  488. package/dist/src/components/VimTextInput.js +0 -136
  489. package/dist/src/components/VirtualMessageList.js +0 -892
  490. package/dist/src/components/WorkflowMultiselectDialog.js +0 -118
  491. package/dist/src/components/WorktreeExitDialog.js +0 -222
  492. package/dist/src/components/agents/AgentDetail.js +0 -226
  493. package/dist/src/components/agents/AgentEditor.js +0 -146
  494. package/dist/src/components/agents/AgentNavigationFooter.js +0 -21
  495. package/dist/src/components/agents/AgentsList.js +0 -436
  496. package/dist/src/components/agents/AgentsMenu.js +0 -848
  497. package/dist/src/components/agents/ColorPicker.js +0 -110
  498. package/dist/src/components/agents/ModelSelector.js +0 -62
  499. package/dist/src/components/agents/SnapshotUpdateDialog.js +0 -16
  500. package/dist/src/components/agents/ToolSelector.js +0 -557
  501. package/dist/src/components/agents/agentFileUtils.js +0 -179
  502. package/dist/src/components/agents/generateAgent.js +0 -161
  503. package/dist/src/components/agents/new-agent-creation/CreateAgentWizard.js +0 -88
  504. package/dist/src/components/agents/new-agent-creation/wizard-steps/ColorStep.js +0 -80
  505. package/dist/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.js +0 -386
  506. package/dist/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.js +0 -63
  507. package/dist/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.js +0 -126
  508. package/dist/src/components/agents/new-agent-creation/wizard-steps/GenerateStep.js +0 -118
  509. package/dist/src/components/agents/new-agent-creation/wizard-steps/LocationStep.js +0 -79
  510. package/dist/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.js +0 -107
  511. package/dist/src/components/agents/new-agent-creation/wizard-steps/MethodStep.js +0 -79
  512. package/dist/src/components/agents/new-agent-creation/wizard-steps/ModelStep.js +0 -48
  513. package/dist/src/components/agents/new-agent-creation/wizard-steps/PromptStep.js +0 -131
  514. package/dist/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.js +0 -51
  515. package/dist/src/components/agents/new-agent-creation/wizard-steps/TypeStep.js +0 -100
  516. package/dist/src/components/agents/types.js +0 -4
  517. package/dist/src/components/agents/utils.js +0 -14
  518. package/dist/src/components/agents/validateAgent.js +0 -79
  519. package/dist/src/components/design-system/Byline.js +0 -72
  520. package/dist/src/components/design-system/Dialog.js +0 -116
  521. package/dist/src/components/design-system/Divider.js +0 -109
  522. package/dist/src/components/design-system/FuzzyPicker.js +0 -187
  523. package/dist/src/components/design-system/KeyboardShortcutHint.js +0 -67
  524. package/dist/src/components/design-system/ListItem.js +0 -183
  525. package/dist/src/components/design-system/LoadingState.js +0 -68
  526. package/dist/src/components/design-system/Pane.js +0 -68
  527. package/dist/src/components/design-system/ProgressBar.js +0 -62
  528. package/dist/src/components/design-system/Ratchet.js +0 -71
  529. package/dist/src/components/design-system/StatusIcon.js +0 -69
  530. package/dist/src/components/design-system/Tabs.js +0 -269
  531. package/dist/src/components/design-system/ThemeProvider.js +0 -137
  532. package/dist/src/components/design-system/ThemedBox.js +0 -125
  533. package/dist/src/components/design-system/ThemedText.js +0 -60
  534. package/dist/src/components/design-system/color.js +0 -22
  535. package/dist/src/components/diff/DiffDetailView.js +0 -284
  536. package/dist/src/components/diff/DiffDialog.js +0 -387
  537. package/dist/src/components/diff/DiffFileList.js +0 -291
  538. package/dist/src/components/grove/Grove.js +0 -483
  539. package/dist/src/components/hooks/HooksConfigMenu.js +0 -570
  540. package/dist/src/components/hooks/PromptDialog.js +0 -81
  541. package/dist/src/components/hooks/SelectEventMode.js +0 -117
  542. package/dist/src/components/hooks/SelectHookMode.js +0 -93
  543. package/dist/src/components/hooks/SelectMatcherMode.js +0 -124
  544. package/dist/src/components/hooks/ViewHookMode.js +0 -197
  545. package/dist/src/components/mcp/CapabilitiesSection.js +0 -55
  546. package/dist/src/components/mcp/ElicitationDialog.js +0 -945
  547. package/dist/src/components/mcp/MCPAgentServerMenu.js +0 -95
  548. package/dist/src/components/mcp/MCPListPanel.js +0 -504
  549. package/dist/src/components/mcp/MCPReconnect.js +0 -168
  550. package/dist/src/components/mcp/MCPRemoteServerMenu.js +0 -460
  551. package/dist/src/components/mcp/MCPSettings.js +0 -414
  552. package/dist/src/components/mcp/MCPStdioServerMenu.js +0 -95
  553. package/dist/src/components/mcp/MCPToolDetailView.js +0 -219
  554. package/dist/src/components/mcp/MCPToolListView.js +0 -136
  555. package/dist/src/components/mcp/McpParsingWarnings.js +0 -211
  556. package/dist/src/components/mcp/index.js +0 -8
  557. package/dist/src/components/mcp/types.js +0 -3
  558. package/dist/src/components/mcp/utils/reconnectHelpers.js +0 -35
  559. package/dist/src/components/memory/MemoryFileSelector.js +0 -455
  560. package/dist/src/components/memory/MemoryUpdateNotification.js +0 -42
  561. package/dist/src/components/messageActions.js +0 -418
  562. package/dist/src/components/messages/AdvisorMessage.js +0 -151
  563. package/dist/src/components/messages/AssistantRedactedThinkingMessage.js +0 -27
  564. package/dist/src/components/messages/AssistantTextMessage.js +0 -274
  565. package/dist/src/components/messages/AssistantThinkingMessage.js +0 -69
  566. package/dist/src/components/messages/AssistantToolUseMessage.js +0 -323
  567. package/dist/src/components/messages/AttachmentMessage.js +0 -418
  568. package/dist/src/components/messages/CollapsedReadSearchContent.js +0 -362
  569. package/dist/src/components/messages/CompactBoundaryMessage.js +0 -18
  570. package/dist/src/components/messages/GroupedToolUseContent.js +0 -37
  571. package/dist/src/components/messages/HighlightedThinkingText.js +0 -164
  572. package/dist/src/components/messages/HookProgressMessage.js +0 -110
  573. package/dist/src/components/messages/PlanApprovalMessage.js +0 -212
  574. package/dist/src/components/messages/RateLimitMessage.js +0 -149
  575. package/dist/src/components/messages/ShutdownMessage.js +0 -123
  576. package/dist/src/components/messages/SystemAPIErrorMessage.js +0 -135
  577. package/dist/src/components/messages/SystemTextMessage.js +0 -843
  578. package/dist/src/components/messages/TaskAssignmentMessage.js +0 -71
  579. package/dist/src/components/messages/UserAgentNotificationMessage.js +0 -77
  580. package/dist/src/components/messages/UserBashInputMessage.js +0 -51
  581. package/dist/src/components/messages/UserBashOutputMessage.js +0 -54
  582. package/dist/src/components/messages/UserChannelMessage.js +0 -129
  583. package/dist/src/components/messages/UserCommandMessage.js +0 -106
  584. package/dist/src/components/messages/UserImageMessage.js +0 -53
  585. package/dist/src/components/messages/UserLocalCommandOutputMessage.js +0 -169
  586. package/dist/src/components/messages/UserMemoryInputMessage.js +0 -72
  587. package/dist/src/components/messages/UserPlanMessage.js +0 -37
  588. package/dist/src/components/messages/UserPromptMessage.js +0 -63
  589. package/dist/src/components/messages/UserResourceUpdateMessage.js +0 -101
  590. package/dist/src/components/messages/UserTeammateMessage.js +0 -156
  591. package/dist/src/components/messages/UserTextMessage.js +0 -271
  592. package/dist/src/components/messages/UserToolResultMessage/RejectedPlanMessage.js +0 -27
  593. package/dist/src/components/messages/UserToolResultMessage/RejectedToolUseMessage.js +0 -16
  594. package/dist/src/components/messages/UserToolResultMessage/UserToolCanceledMessage.js +0 -16
  595. package/dist/src/components/messages/UserToolResultMessage/UserToolErrorMessage.js +0 -91
  596. package/dist/src/components/messages/UserToolResultMessage/UserToolRejectMessage.js +0 -73
  597. package/dist/src/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -83
  598. package/dist/src/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -58
  599. package/dist/src/components/messages/UserToolResultMessage/utils.js +0 -43
  600. package/dist/src/components/messages/nullRenderingAttachments.js +0 -58
  601. package/dist/src/components/messages/teamMemCollapsed.js +0 -142
  602. package/dist/src/components/messages/teamMemSaved.js +0 -17
  603. package/dist/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.js +0 -654
  604. package/dist/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.js +0 -219
  605. package/dist/src/components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.js +0 -227
  606. package/dist/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.js +0 -174
  607. package/dist/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.js +0 -444
  608. package/dist/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.js +0 -136
  609. package/dist/src/components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.js +0 -100
  610. package/dist/src/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -404
  611. package/dist/src/components/permissions/BashPermissionRequest/bashToolUseOptions.js +0 -110
  612. package/dist/src/components/permissions/ComputerUseApproval/ComputerUseApproval.js +0 -448
  613. package/dist/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.js +0 -125
  614. package/dist/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.js +0 -650
  615. package/dist/src/components/permissions/FallbackPermissionRequest.js +0 -348
  616. package/dist/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -184
  617. package/dist/src/components/permissions/FilePermissionDialog/FilePermissionDialog.js +0 -108
  618. package/dist/src/components/permissions/FilePermissionDialog/ideDiffConfig.js +0 -13
  619. package/dist/src/components/permissions/FilePermissionDialog/permissionOptions.js +0 -136
  620. package/dist/src/components/permissions/FilePermissionDialog/useFilePermissionDialog.js +0 -131
  621. package/dist/src/components/permissions/FilePermissionDialog/usePermissionHandler.js +0 -86
  622. package/dist/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -163
  623. package/dist/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -78
  624. package/dist/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -112
  625. package/dist/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.js +0 -163
  626. package/dist/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.js +0 -217
  627. package/dist/src/components/permissions/PermissionDecisionDebugInfo.js +0 -466
  628. package/dist/src/components/permissions/PermissionDialog.js +0 -54
  629. package/dist/src/components/permissions/PermissionExplanation.js +0 -269
  630. package/dist/src/components/permissions/PermissionPrompt.js +0 -316
  631. package/dist/src/components/permissions/PermissionRequest.js +0 -160
  632. package/dist/src/components/permissions/PermissionRequestTitle.js +0 -57
  633. package/dist/src/components/permissions/PermissionRuleExplanation.js +0 -109
  634. package/dist/src/components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.js +0 -178
  635. package/dist/src/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.js +0 -73
  636. package/dist/src/components/permissions/SandboxPermissionRequest.js +0 -161
  637. package/dist/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.js +0 -228
  638. package/dist/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.js +0 -384
  639. package/dist/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.js +0 -258
  640. package/dist/src/components/permissions/WorkerBadge.js +0 -43
  641. package/dist/src/components/permissions/WorkerPendingPermission.js +0 -106
  642. package/dist/src/components/permissions/hooks.js +0 -163
  643. package/dist/src/components/permissions/rules/AddPermissionRules.js +0 -170
  644. package/dist/src/components/permissions/rules/AddWorkspaceDirectory.js +0 -334
  645. package/dist/src/components/permissions/rules/PermissionRuleDescription.js +0 -77
  646. package/dist/src/components/permissions/rules/PermissionRuleInput.js +0 -135
  647. package/dist/src/components/permissions/rules/PermissionRuleList.js +0 -1189
  648. package/dist/src/components/permissions/rules/RecentDenialsTab.js +0 -204
  649. package/dist/src/components/permissions/rules/RemoveWorkspaceDirectory.js +0 -102
  650. package/dist/src/components/permissions/rules/WorkspaceTab.js +0 -132
  651. package/dist/src/components/permissions/shellPermissionHelpers.js +0 -111
  652. package/dist/src/components/permissions/useShellPermissionFeedback.js +0 -108
  653. package/dist/src/components/permissions/utils.js +0 -14
  654. package/dist/src/components/sandbox/SandboxConfigTab.js +0 -47
  655. package/dist/src/components/sandbox/SandboxDependenciesTab.js +0 -122
  656. package/dist/src/components/sandbox/SandboxDoctorSection.js +0 -46
  657. package/dist/src/components/sandbox/SandboxOverridesTab.js +0 -192
  658. package/dist/src/components/sandbox/SandboxSettings.js +0 -296
  659. package/dist/src/components/shell/ExpandShellOutputContext.js +0 -33
  660. package/dist/src/components/shell/OutputLine.js +0 -110
  661. package/dist/src/components/shell/ShellProgressMessage.js +0 -143
  662. package/dist/src/components/shell/ShellTimeDisplay.js +0 -71
  663. package/dist/src/components/skills/SkillsMenu.js +0 -238
  664. package/dist/src/components/tasks/AsyncAgentDetailDialog.js +0 -234
  665. package/dist/src/components/tasks/BackgroundTask.js +0 -363
  666. package/dist/src/components/tasks/BackgroundTaskStatus.js +0 -419
  667. package/dist/src/components/tasks/BackgroundTasksDialog.js +0 -496
  668. package/dist/src/components/tasks/DreamDetailDialog.js +0 -250
  669. package/dist/src/components/tasks/InProcessTeammateDetailDialog.js +0 -274
  670. package/dist/src/components/tasks/RemoteSessionDetailDialog.js +0 -868
  671. package/dist/src/components/tasks/RemoteSessionProgress.js +0 -249
  672. package/dist/src/components/tasks/ShellDetailDialog.js +0 -403
  673. package/dist/src/components/tasks/ShellProgress.js +0 -76
  674. package/dist/src/components/tasks/renderToolActivity.js +0 -28
  675. package/dist/src/components/tasks/taskStatusUtils.js +0 -94
  676. package/dist/src/components/teams/TeamStatus.js +0 -76
  677. package/dist/src/components/teams/TeamsDialog.js +0 -672
  678. package/dist/src/components/ui/OrderedList.js +0 -66
  679. package/dist/src/components/ui/OrderedListItem.js +0 -41
  680. package/dist/src/components/ui/TreeSelect.js +0 -300
  681. package/dist/src/components/wizard/WizardDialogLayout.js +0 -47
  682. package/dist/src/components/wizard/WizardNavigationFooter.js +0 -10
  683. package/dist/src/components/wizard/WizardProvider.js +0 -217
  684. package/dist/src/components/wizard/index.js +0 -4
  685. package/dist/src/components/wizard/useWizard.js +0 -9
  686. package/dist/src/constants/apiLimits.js +0 -81
  687. package/dist/src/constants/betas.js +0 -45
  688. package/dist/src/constants/common.js +0 -29
  689. package/dist/src/constants/cyberRiskInstruction.js +0 -24
  690. package/dist/src/constants/errorIds.js +0 -14
  691. package/dist/src/constants/figures.js +0 -38
  692. package/dist/src/constants/files.js +0 -150
  693. package/dist/src/constants/github-app.js +0 -139
  694. package/dist/src/constants/keys.js +0 -10
  695. package/dist/src/constants/messages.js +0 -1
  696. package/dist/src/constants/oauth.js +0 -221
  697. package/dist/src/constants/outputStyles.js +0 -162
  698. package/dist/src/constants/product.js +0 -56
  699. package/dist/src/constants/prompts.js +0 -752
  700. package/dist/src/constants/spinnerVerbs.js +0 -202
  701. package/dist/src/constants/system.js +0 -77
  702. package/dist/src/constants/systemPromptSections.js +0 -39
  703. package/dist/src/constants/toolLimits.js +0 -50
  704. package/dist/src/constants/tools.js +0 -103
  705. package/dist/src/constants/turnCompletionVerbs.js +0 -12
  706. package/dist/src/constants/xml.js +0 -73
  707. package/dist/src/context/QueuedMessageContext.js +0 -51
  708. package/dist/src/context/fpsMetrics.js +0 -22
  709. package/dist/src/context/mailbox.js +0 -35
  710. package/dist/src/context/modalContext.js +0 -34
  711. package/dist/src/context/notifications.js +0 -199
  712. package/dist/src/context/overlayContext.js +0 -149
  713. package/dist/src/context/promptOverlayContext.js +0 -118
  714. package/dist/src/context/stats.js +0 -207
  715. package/dist/src/context/voice.js +0 -74
  716. package/dist/src/context.js +0 -146
  717. package/dist/src/coordinator/coordinatorMode.js +0 -345
  718. package/dist/src/cost-tracker.js +0 -208
  719. package/dist/src/costHook.js +0 -17
  720. package/dist/src/daemon/main.js +0 -16
  721. package/dist/src/daemon/workerRegistry.js +0 -16
  722. package/dist/src/dialogLaunchers.js +0 -68
  723. package/dist/src/entrypoints/agentSdkTypes.js +0 -202
  724. package/dist/src/entrypoints/cli.js +0 -237
  725. package/dist/src/entrypoints/init.js +0 -265
  726. package/dist/src/entrypoints/mcp.js +0 -142
  727. package/dist/src/entrypoints/sandboxTypes.js +0 -112
  728. package/dist/src/entrypoints/sdk/controlSchemas.js +0 -452
  729. package/dist/src/entrypoints/sdk/controlTypes.js +0 -1
  730. package/dist/src/entrypoints/sdk/coreSchemas.js +0 -1331
  731. package/dist/src/entrypoints/sdk/coreTypes.generated.js +0 -1
  732. package/dist/src/entrypoints/sdk/coreTypes.js +0 -49
  733. package/dist/src/entrypoints/sdk/runtimeTypes.js +0 -1
  734. package/dist/src/entrypoints/sdk/toolTypes.js +0 -1
  735. package/dist/src/environment-runner/main.js +0 -16
  736. package/dist/src/history.js +0 -386
  737. package/dist/src/hooks/fileSuggestions.js +0 -635
  738. package/dist/src/hooks/notifs/useAutoModeUnavailableNotification.js +0 -47
  739. package/dist/src/hooks/notifs/useCanSwitchToExistingSubscription.js +0 -57
  740. package/dist/src/hooks/notifs/useDeprecationWarningNotification.js +0 -43
  741. package/dist/src/hooks/notifs/useFastModeNotification.js +0 -164
  742. package/dist/src/hooks/notifs/useIDEStatusIndicator.js +0 -174
  743. package/dist/src/hooks/notifs/useInstallMessages.js +0 -27
  744. package/dist/src/hooks/notifs/useLspInitializationNotification.js +0 -144
  745. package/dist/src/hooks/notifs/useMcpConnectivityStatus.js +0 -80
  746. package/dist/src/hooks/notifs/useModelMigrationNotifications.js +0 -53
  747. package/dist/src/hooks/notifs/useNpmDeprecationNotification.js +0 -24
  748. package/dist/src/hooks/notifs/usePluginAutoupdateNotification.js +0 -82
  749. package/dist/src/hooks/notifs/usePluginInstallationStatus.js +0 -127
  750. package/dist/src/hooks/notifs/useRateLimitWarningNotification.js +0 -118
  751. package/dist/src/hooks/notifs/useSettingsErrors.js +0 -64
  752. package/dist/src/hooks/notifs/useStartupNotification.js +0 -33
  753. package/dist/src/hooks/notifs/useTeammateShutdownNotification.js +0 -64
  754. package/dist/src/hooks/renderPlaceholder.js +0 -26
  755. package/dist/src/hooks/toolPermission/PermissionContext.js +0 -211
  756. package/dist/src/hooks/toolPermission/handlers/coordinatorHandler.js +0 -44
  757. package/dist/src/hooks/toolPermission/handlers/interactiveHandler.js +0 -397
  758. package/dist/src/hooks/toolPermission/handlers/swarmWorkerHandler.js +0 -108
  759. package/dist/src/hooks/toolPermission/permissionLogging.js +0 -145
  760. package/dist/src/hooks/unifiedSuggestions.js +0 -130
  761. package/dist/src/hooks/useAfterFirstRender.js +0 -12
  762. package/dist/src/hooks/useApiKeyVerification.js +0 -63
  763. package/dist/src/hooks/useArrowKeyHistory.js +0 -203
  764. package/dist/src/hooks/useAssistantHistory.js +0 -194
  765. package/dist/src/hooks/useAwaySummary.js +0 -105
  766. package/dist/src/hooks/useBackgroundTaskNavigation.js +0 -204
  767. package/dist/src/hooks/useBlink.js +0 -28
  768. package/dist/src/hooks/useCanUseTool.js +0 -192
  769. package/dist/src/hooks/useCancelRequest.js +0 -195
  770. package/dist/src/hooks/useChromeExtensionNotification.js +0 -49
  771. package/dist/src/hooks/useClaudeCodeHintRecommendation.js +0 -117
  772. package/dist/src/hooks/useClipboardImageHint.js +0 -59
  773. package/dist/src/hooks/useCommandKeybindings.js +0 -87
  774. package/dist/src/hooks/useCommandQueue.js +0 -10
  775. package/dist/src/hooks/useCopyOnSelect.js +0 -88
  776. package/dist/src/hooks/useDeferredHookMessages.js +0 -43
  777. package/dist/src/hooks/useDiffData.js +0 -69
  778. package/dist/src/hooks/useDiffInIDE.js +0 -252
  779. package/dist/src/hooks/useDirectConnect.js +0 -150
  780. package/dist/src/hooks/useDoublePress.js +0 -44
  781. package/dist/src/hooks/useDynamicConfig.js +0 -17
  782. package/dist/src/hooks/useElapsedTime.js +0 -25
  783. package/dist/src/hooks/useExitOnCtrlCD.js +0 -57
  784. package/dist/src/hooks/useExitOnCtrlCDWithKeybindings.js +0 -17
  785. package/dist/src/hooks/useFileHistorySnapshotInit.js +0 -14
  786. package/dist/src/hooks/useGlobalKeybindings.js +0 -215
  787. package/dist/src/hooks/useHistorySearch.js +0 -241
  788. package/dist/src/hooks/useIDEIntegration.js +0 -56
  789. package/dist/src/hooks/useIdeAtMentioned.js +0 -51
  790. package/dist/src/hooks/useIdeConnectionStatus.js +0 -21
  791. package/dist/src/hooks/useIdeLogging.js +0 -29
  792. package/dist/src/hooks/useIdeSelection.js +0 -106
  793. package/dist/src/hooks/useInboxPoller.js +0 -709
  794. package/dist/src/hooks/useInputBuffer.js +0 -73
  795. package/dist/src/hooks/useIssueFlagBanner.js +0 -115
  796. package/dist/src/hooks/useLogMessages.js +0 -98
  797. package/dist/src/hooks/useLspPluginRecommendation.js +0 -176
  798. package/dist/src/hooks/useMailboxBridge.js +0 -15
  799. package/dist/src/hooks/useMainLoopModel.js +0 -25
  800. package/dist/src/hooks/useManagePlugins.js +0 -261
  801. package/dist/src/hooks/useMemoryUsage.js +0 -28
  802. package/dist/src/hooks/useMergedClients.js +0 -11
  803. package/dist/src/hooks/useMergedCommands.js +0 -10
  804. package/dist/src/hooks/useMergedTools.js +0 -32
  805. package/dist/src/hooks/useMinDisplayTime.js +0 -26
  806. package/dist/src/hooks/useNotifyAfterTimeout.js +0 -51
  807. package/dist/src/hooks/useOfficialMarketplaceNotification.js +0 -46
  808. package/dist/src/hooks/usePasteHandler.js +0 -188
  809. package/dist/src/hooks/usePluginRecommendationBase.js +0 -101
  810. package/dist/src/hooks/usePrStatus.js +0 -91
  811. package/dist/src/hooks/usePromptSuggestion.js +0 -128
  812. package/dist/src/hooks/usePromptsFromClaudeInChrome.js +0 -66
  813. package/dist/src/hooks/useQueueProcessor.js +0 -46
  814. package/dist/src/hooks/useRemoteSession.js +0 -431
  815. package/dist/src/hooks/useReplBridge.js +0 -717
  816. package/dist/src/hooks/useSSHSession.js +0 -167
  817. package/dist/src/hooks/useScheduledTasks.js +0 -104
  818. package/dist/src/hooks/useSearchInput.js +0 -302
  819. package/dist/src/hooks/useSessionBackgrounding.js +0 -132
  820. package/dist/src/hooks/useSettings.js +0 -10
  821. package/dist/src/hooks/useSettingsChange.js +0 -13
  822. package/dist/src/hooks/useSkillImprovementSurvey.js +0 -69
  823. package/dist/src/hooks/useSkillsChange.js +0 -51
  824. package/dist/src/hooks/useSwarmInitialization.js +0 -67
  825. package/dist/src/hooks/useSwarmPermissionPoller.js +0 -215
  826. package/dist/src/hooks/useTaskListWatcher.js +0 -157
  827. package/dist/src/hooks/useTasksV2.js +0 -220
  828. package/dist/src/hooks/useTeammateViewAutoExit.js +0 -55
  829. package/dist/src/hooks/useTelegramMirror.js +0 -47
  830. package/dist/src/hooks/useTeleportResume.js +0 -81
  831. package/dist/src/hooks/useTerminalSize.js +0 -9
  832. package/dist/src/hooks/useTextInput.js +0 -397
  833. package/dist/src/hooks/useTimeout.js +0 -10
  834. package/dist/src/hooks/useTurnDiffs.js +0 -160
  835. package/dist/src/hooks/useTypeahead.js +0 -1392
  836. package/dist/src/hooks/useUpdateNotification.js +0 -22
  837. package/dist/src/hooks/useVimInput.js +0 -232
  838. package/dist/src/hooks/useVirtualScroll.js +0 -627
  839. package/dist/src/hooks/useVoice.js +0 -954
  840. package/dist/src/hooks/useVoiceEnabled.js +0 -21
  841. package/dist/src/hooks/useVoiceIntegration.js +0 -631
  842. package/dist/src/hooks/useWhatsAppMirror.js +0 -46
  843. package/dist/src/index.js +0 -18
  844. package/dist/src/ink/Ansi.js +0 -269
  845. package/dist/src/ink/bidi.js +0 -117
  846. package/dist/src/ink/clearTerminal.js +0 -58
  847. package/dist/src/ink/colorize.js +0 -198
  848. package/dist/src/ink/components/AlternateScreen.js +0 -74
  849. package/dist/src/ink/components/App.js +0 -558
  850. package/dist/src/ink/components/AppContext.js +0 -11
  851. package/dist/src/ink/components/Box.js +0 -153
  852. package/dist/src/ink/components/Button.js +0 -166
  853. package/dist/src/ink/components/ClockContext.js +0 -108
  854. package/dist/src/ink/components/CursorDeclarationContext.js +0 -3
  855. package/dist/src/ink/components/ErrorOverview.js +0 -49
  856. package/dist/src/ink/components/Link.js +0 -33
  857. package/dist/src/ink/components/Newline.js +0 -29
  858. package/dist/src/ink/components/NoSelect.js +0 -56
  859. package/dist/src/ink/components/RawAnsi.js +0 -45
  860. package/dist/src/ink/components/ScrollBox.js +0 -170
  861. package/dist/src/ink/components/Spacer.js +0 -19
  862. package/dist/src/ink/components/StdinContext.js +0 -16
  863. package/dist/src/ink/components/TerminalFocusContext.js +0 -45
  864. package/dist/src/ink/components/TerminalSizeContext.js +0 -3
  865. package/dist/src/ink/components/Text.js +0 -194
  866. package/dist/src/ink/constants.js +0 -2
  867. package/dist/src/ink/devtools.js +0 -16
  868. package/dist/src/ink/dom.js +0 -298
  869. package/dist/src/ink/events/click-event.js +0 -36
  870. package/dist/src/ink/events/dispatcher.js +0 -172
  871. package/dist/src/ink/events/emitter.js +0 -31
  872. package/dist/src/ink/events/event-handlers.js +0 -30
  873. package/dist/src/ink/events/event.js +0 -9
  874. package/dist/src/ink/events/focus-event.js +0 -16
  875. package/dist/src/ink/events/input-event.js +0 -161
  876. package/dist/src/ink/events/keyboard-event.js +0 -45
  877. package/dist/src/ink/events/terminal-event.js +0 -78
  878. package/dist/src/ink/events/terminal-focus-event.js +0 -15
  879. package/dist/src/ink/focus.js +0 -158
  880. package/dist/src/ink/frame.js +0 -30
  881. package/dist/src/ink/get-max-width.js +0 -23
  882. package/dist/src/ink/hit-test.js +0 -113
  883. package/dist/src/ink/hooks/use-animation-frame.js +0 -48
  884. package/dist/src/ink/hooks/use-app.js +0 -7
  885. package/dist/src/ink/hooks/use-declared-cursor.js +0 -60
  886. package/dist/src/ink/hooks/use-input.js +0 -70
  887. package/dist/src/ink/hooks/use-interval.js +0 -54
  888. package/dist/src/ink/hooks/use-search-highlight.js +0 -32
  889. package/dist/src/ink/hooks/use-selection.js +0 -60
  890. package/dist/src/ink/hooks/use-stdin.js +0 -7
  891. package/dist/src/ink/hooks/use-tab-status.js +0 -57
  892. package/dist/src/ink/hooks/use-terminal-focus.js +0 -15
  893. package/dist/src/ink/hooks/use-terminal-title.js +0 -29
  894. package/dist/src/ink/hooks/use-terminal-viewport.js +0 -77
  895. package/dist/src/ink/ink.js +0 -1644
  896. package/dist/src/ink/instances.js +0 -7
  897. package/dist/src/ink/layout/engine.js +0 -4
  898. package/dist/src/ink/layout/geometry.js +0 -61
  899. package/dist/src/ink/layout/node.js +0 -62
  900. package/dist/src/ink/layout/yoga.js +0 -237
  901. package/dist/src/ink/line-width-cache.js +0 -19
  902. package/dist/src/ink/log-update.js +0 -583
  903. package/dist/src/ink/measure-element.js +0 -8
  904. package/dist/src/ink/measure-text.js +0 -35
  905. package/dist/src/ink/node-cache.js +0 -30
  906. package/dist/src/ink/optimizer.js +0 -81
  907. package/dist/src/ink/output.js +0 -556
  908. package/dist/src/ink/parse-keypress.js +0 -695
  909. package/dist/src/ink/reconciler.js +0 -384
  910. package/dist/src/ink/render-border.js +0 -134
  911. package/dist/src/ink/render-node-to-output.js +0 -1216
  912. package/dist/src/ink/render-to-screen.js +0 -171
  913. package/dist/src/ink/renderer.js +0 -129
  914. package/dist/src/ink/root.js +0 -80
  915. package/dist/src/ink/screen.js +0 -1132
  916. package/dist/src/ink/searchHighlight.js +0 -78
  917. package/dist/src/ink/selection.js +0 -792
  918. package/dist/src/ink/squash-text-nodes.js +0 -56
  919. package/dist/src/ink/stringWidth.js +0 -200
  920. package/dist/src/ink/styles.js +0 -299
  921. package/dist/src/ink/supports-hyperlinks.js +0 -40
  922. package/dist/src/ink/tabstops.js +0 -39
  923. package/dist/src/ink/terminal-focus-state.js +0 -35
  924. package/dist/src/ink/terminal-querier.js +0 -173
  925. package/dist/src/ink/terminal.js +0 -208
  926. package/dist/src/ink/termio/ansi.js +0 -70
  927. package/dist/src/ink/termio/csi.js +0 -260
  928. package/dist/src/ink/termio/dec.js +0 -53
  929. package/dist/src/ink/termio/esc.js +0 -55
  930. package/dist/src/ink/termio/osc.js +0 -432
  931. package/dist/src/ink/termio/parser.js +0 -356
  932. package/dist/src/ink/termio/sgr.js +0 -292
  933. package/dist/src/ink/termio/tokenize.js +0 -264
  934. package/dist/src/ink/termio/types.js +0 -55
  935. package/dist/src/ink/termio.js +0 -24
  936. package/dist/src/ink/useTerminalNotification.js +0 -57
  937. package/dist/src/ink/warn.js +0 -10
  938. package/dist/src/ink/widest-line.js +0 -14
  939. package/dist/src/ink/wrap-text.js +0 -54
  940. package/dist/src/ink/wrapAnsi.js +0 -6
  941. package/dist/src/ink.js +0 -50
  942. package/dist/src/interactiveHelpers.js +0 -317
  943. package/dist/src/keybindings/KeybindingContext.js +0 -184
  944. package/dist/src/keybindings/KeybindingProviderSetup.js +0 -259
  945. package/dist/src/keybindings/defaultBindings.js +0 -333
  946. package/dist/src/keybindings/loadUserBindings.js +0 -393
  947. package/dist/src/keybindings/match.js +0 -111
  948. package/dist/src/keybindings/parser.js +0 -184
  949. package/dist/src/keybindings/reservedShortcuts.js +0 -109
  950. package/dist/src/keybindings/resolver.js +0 -182
  951. package/dist/src/keybindings/schema.js +0 -205
  952. package/dist/src/keybindings/shortcutFormat.js +0 -48
  953. package/dist/src/keybindings/template.js +0 -40
  954. package/dist/src/keybindings/useKeybinding.js +0 -161
  955. package/dist/src/keybindings/useShortcutDisplay.js +0 -43
  956. package/dist/src/keybindings/validate.js +0 -395
  957. package/dist/src/main.js +0 -4073
  958. package/dist/src/memdir/findRelevantMemories.js +0 -101
  959. package/dist/src/memdir/memdir.js +0 -408
  960. package/dist/src/memdir/memoryAge.js +0 -52
  961. package/dist/src/memdir/memoryScan.js +0 -65
  962. package/dist/src/memdir/memoryTypes.js +0 -260
  963. package/dist/src/memdir/paths.js +0 -236
  964. package/dist/src/memdir/teamMemPaths.js +0 -261
  965. package/dist/src/memdir/teamMemPrompts.js +0 -82
  966. package/dist/src/migrations/migrateAutoUpdatesToSettings.js +0 -47
  967. package/dist/src/migrations/migrateBypassPermissionsAcceptedToSettings.js +0 -32
  968. package/dist/src/migrations/migrateEnableAllProjectMcpServersToSettings.js +0 -83
  969. package/dist/src/migrations/migrateFennecToOpus.js +0 -39
  970. package/dist/src/migrations/migrateLegacyOpusToCurrent.js +0 -44
  971. package/dist/src/migrations/migrateOpusToOpus1m.js +0 -31
  972. package/dist/src/migrations/migrateReplBridgeEnabledToRemoteControlAtStartup.js +0 -23
  973. package/dist/src/migrations/migrateSonnet1mToSonnet45.js +0 -38
  974. package/dist/src/migrations/migrateSonnet45ToSonnet46.js +0 -48
  975. package/dist/src/migrations/resetAutoModeOptInForDefaultOffer.js +0 -47
  976. package/dist/src/migrations/resetProToOpusDefault.js +0 -46
  977. package/dist/src/mirrors/shared.js +0 -186
  978. package/dist/src/moreright/useMoreRight.js +0 -13
  979. package/dist/src/native-ts/color-diff/index.js +0 -821
  980. package/dist/src/native-ts/file-index/index.js +0 -328
  981. package/dist/src/native-ts/yoga-layout/enums.js +0 -101
  982. package/dist/src/native-ts/yoga-layout/index.js +0 -2113
  983. package/dist/src/outputStyles/loadOutputStylesDir.js +0 -71
  984. package/dist/src/plugins/builtinPlugins.js +0 -132
  985. package/dist/src/plugins/bundled/index.js +0 -22
  986. package/dist/src/projectOnboardingState.js +0 -61
  987. package/dist/src/query/config.js +0 -17
  988. package/dist/src/query/deps.js +0 -12
  989. package/dist/src/query/stopHooks.js +0 -334
  990. package/dist/src/query/tokenBudget.js +0 -49
  991. package/dist/src/query.js +0 -1330
  992. package/dist/src/recovery/bunBundleShim.js +0 -11
  993. package/dist/src/remote/RemoteSessionManager.js +0 -195
  994. package/dist/src/remote/SessionsWebSocket.js +0 -305
  995. package/dist/src/remote/remotePermissionBridge.js +0 -70
  996. package/dist/src/remote/sdkMessageAdapter.js +0 -227
  997. package/dist/src/replLauncher.js +0 -6
  998. package/dist/src/schemas/hooks.js +0 -174
  999. package/dist/src/screens/Doctor.js +0 -580
  1000. package/dist/src/screens/REPL.js +0 -4434
  1001. package/dist/src/screens/ResumeConversation.js +0 -341
  1002. package/dist/src/self-hosted-runner/main.js +0 -16
  1003. package/dist/src/server/backends/dangerousBackend.js +0 -16
  1004. package/dist/src/server/connectHeadless.js +0 -16
  1005. package/dist/src/server/createDirectConnectSession.js +0 -62
  1006. package/dist/src/server/directConnectManager.js +0 -153
  1007. package/dist/src/server/lockfile.js +0 -16
  1008. package/dist/src/server/parseConnectUrl.js +0 -16
  1009. package/dist/src/server/server.js +0 -16
  1010. package/dist/src/server/serverBanner.js +0 -16
  1011. package/dist/src/server/serverLog.js +0 -16
  1012. package/dist/src/server/sessionManager.js +0 -16
  1013. package/dist/src/server/types.js +0 -7
  1014. package/dist/src/services/AgentSummary/agentSummary.js +0 -147
  1015. package/dist/src/services/MagicDocs/magicDocs.js +0 -193
  1016. package/dist/src/services/MagicDocs/prompts.js +0 -110
  1017. package/dist/src/services/PromptSuggestion/promptSuggestion.js +0 -402
  1018. package/dist/src/services/PromptSuggestion/speculation.js +0 -643
  1019. package/dist/src/services/SessionMemory/prompts.js +0 -254
  1020. package/dist/src/services/SessionMemory/sessionMemory.js +0 -358
  1021. package/dist/src/services/SessionMemory/sessionMemoryUtils.js +0 -157
  1022. package/dist/src/services/analytics/config.js +0 -33
  1023. package/dist/src/services/analytics/datadog.js +0 -259
  1024. package/dist/src/services/analytics/firstPartyEventLogger.js +0 -342
  1025. package/dist/src/services/analytics/firstPartyEventLoggingExporter.js +0 -594
  1026. package/dist/src/services/analytics/growthbook.js +0 -952
  1027. package/dist/src/services/analytics/index.js +0 -114
  1028. package/dist/src/services/analytics/metadata.js +0 -698
  1029. package/dist/src/services/analytics/sink.js +0 -95
  1030. package/dist/src/services/analytics/sinkKillswitch.js +0 -19
  1031. package/dist/src/services/api/adminRequests.js +0 -57
  1032. package/dist/src/services/api/bootstrap.js +0 -149
  1033. package/dist/src/services/api/claude.js +0 -2461
  1034. package/dist/src/services/api/client.js +0 -325
  1035. package/dist/src/services/api/dumpPrompts.js +0 -174
  1036. package/dist/src/services/api/emptyUsage.js +0 -20
  1037. package/dist/src/services/api/errorUtils.js +0 -203
  1038. package/dist/src/services/api/errors.js +0 -934
  1039. package/dist/src/services/api/filesApi.js +0 -523
  1040. package/dist/src/services/api/firstTokenDate.js +0 -49
  1041. package/dist/src/services/api/grove.js +0 -272
  1042. package/dist/src/services/api/index.js +0 -23
  1043. package/dist/src/services/api/logging.js +0 -484
  1044. package/dist/src/services/api/metricsOptOut.js +0 -127
  1045. package/dist/src/services/api/openai.js +0 -1187
  1046. package/dist/src/services/api/openrouter.js +0 -30
  1047. package/dist/src/services/api/overageCreditGrant.js +0 -123
  1048. package/dist/src/services/api/promptCacheBreakDetection.js +0 -510
  1049. package/dist/src/services/api/referral.js +0 -219
  1050. package/dist/src/services/api/sessionIngress.js +0 -358
  1051. package/dist/src/services/api/ultrareviewQuota.js +0 -29
  1052. package/dist/src/services/api/usage.js +0 -31
  1053. package/dist/src/services/api/withRetry.js +0 -599
  1054. package/dist/src/services/autoDream/autoDream.js +0 -244
  1055. package/dist/src/services/autoDream/config.js +0 -17
  1056. package/dist/src/services/autoDream/consolidationLock.js +0 -122
  1057. package/dist/src/services/autoDream/consolidationPrompt.js +0 -56
  1058. package/dist/src/services/awaySummary.js +0 -61
  1059. package/dist/src/services/claudeAiLimits.js +0 -331
  1060. package/dist/src/services/claudeAiLimitsHook.js +0 -15
  1061. package/dist/src/services/compact/apiMicrocompact.js +0 -97
  1062. package/dist/src/services/compact/autoCompact.js +0 -236
  1063. package/dist/src/services/compact/cachedMicrocompact.js +0 -16
  1064. package/dist/src/services/compact/compact.js +0 -1258
  1065. package/dist/src/services/compact/compactWarningHook.js +0 -12
  1066. package/dist/src/services/compact/compactWarningState.js +0 -15
  1067. package/dist/src/services/compact/grouping.js +0 -58
  1068. package/dist/src/services/compact/microCompact.js +0 -414
  1069. package/dist/src/services/compact/postCompactCleanup.js +0 -72
  1070. package/dist/src/services/compact/prompt.js +0 -327
  1071. package/dist/src/services/compact/sessionMemoryCompact.js +0 -467
  1072. package/dist/src/services/compact/timeBasedMCConfig.js +0 -11
  1073. package/dist/src/services/diagnosticTracking.js +0 -282
  1074. package/dist/src/services/extractMemories/extractMemories.js +0 -444
  1075. package/dist/src/services/extractMemories/prompts.js +0 -129
  1076. package/dist/src/services/internalLogging.js +0 -68
  1077. package/dist/src/services/lsp/LSPClient.js +0 -306
  1078. package/dist/src/services/lsp/LSPDiagnosticRegistry.js +0 -277
  1079. package/dist/src/services/lsp/LSPServerInstance.js +0 -390
  1080. package/dist/src/services/lsp/LSPServerManager.js +0 -305
  1081. package/dist/src/services/lsp/config.js +0 -57
  1082. package/dist/src/services/lsp/manager.js +0 -246
  1083. package/dist/src/services/lsp/passiveFeedback.js +0 -226
  1084. package/dist/src/services/mcp/InProcessTransport.js +0 -54
  1085. package/dist/src/services/mcp/MCPConnectionManager.js +0 -50
  1086. package/dist/src/services/mcp/SdkControlTransport.js +0 -115
  1087. package/dist/src/services/mcp/auth.js +0 -1882
  1088. package/dist/src/services/mcp/channelAllowlist.js +0 -57
  1089. package/dist/src/services/mcp/channelNotification.js +0 -236
  1090. package/dist/src/services/mcp/channelPermissions.js +0 -192
  1091. package/dist/src/services/mcp/claudeai.js +0 -123
  1092. package/dist/src/services/mcp/client.js +0 -2480
  1093. package/dist/src/services/mcp/config.js +0 -1277
  1094. package/dist/src/services/mcp/elicitationHandler.js +0 -192
  1095. package/dist/src/services/mcp/envExpansion.js +0 -30
  1096. package/dist/src/services/mcp/headersHelper.js +0 -94
  1097. package/dist/src/services/mcp/mcpStringUtils.js +0 -85
  1098. package/dist/src/services/mcp/normalization.js +0 -21
  1099. package/dist/src/services/mcp/oauthPort.js +0 -69
  1100. package/dist/src/services/mcp/officialRegistry.js +0 -54
  1101. package/dist/src/services/mcp/types.js +0 -94
  1102. package/dist/src/services/mcp/useManageMCPConnections.js +0 -820
  1103. package/dist/src/services/mcp/utils.js +0 -433
  1104. package/dist/src/services/mcp/vscodeSdkMcp.js +0 -69
  1105. package/dist/src/services/mcp/xaa.js +0 -342
  1106. package/dist/src/services/mcp/xaaIdpLogin.js +0 -377
  1107. package/dist/src/services/mcpServerApproval.js +0 -29
  1108. package/dist/src/services/mockRateLimits.js +0 -666
  1109. package/dist/src/services/notifier.js +0 -114
  1110. package/dist/src/services/oauth/auth-code-listener.js +0 -236
  1111. package/dist/src/services/oauth/client.js +0 -545
  1112. package/dist/src/services/oauth/crypto.js +0 -19
  1113. package/dist/src/services/oauth/getOauthProfile.js +0 -48
  1114. package/dist/src/services/oauth/index.js +0 -152
  1115. package/dist/src/services/oauth/types.js +0 -1
  1116. package/dist/src/services/plugins/PluginInstallationManager.js +0 -139
  1117. package/dist/src/services/plugins/pluginCliCommands.js +0 -230
  1118. package/dist/src/services/plugins/pluginOperations.js +0 -826
  1119. package/dist/src/services/policyLimits/index.js +0 -547
  1120. package/dist/src/services/policyLimits/types.js +0 -9
  1121. package/dist/src/services/preventSleep.js +0 -143
  1122. package/dist/src/services/rateLimitMessages.js +0 -271
  1123. package/dist/src/services/rateLimitMocking.js +0 -91
  1124. package/dist/src/services/remoteManagedSettings/index.js +0 -534
  1125. package/dist/src/services/remoteManagedSettings/securityCheck.js +0 -59
  1126. package/dist/src/services/remoteManagedSettings/syncCache.js +0 -90
  1127. package/dist/src/services/remoteManagedSettings/syncCacheState.js +0 -89
  1128. package/dist/src/services/remoteManagedSettings/types.js +0 -12
  1129. package/dist/src/services/settingsSync/index.js +0 -478
  1130. package/dist/src/services/settingsSync/types.js +0 -35
  1131. package/dist/src/services/teamMemorySync/index.js +0 -976
  1132. package/dist/src/services/teamMemorySync/secretScanner.js +0 -275
  1133. package/dist/src/services/teamMemorySync/teamMemSecretGuard.js +0 -35
  1134. package/dist/src/services/teamMemorySync/types.js +0 -47
  1135. package/dist/src/services/teamMemorySync/watcher.js +0 -326
  1136. package/dist/src/services/tips/tipHistory.js +0 -17
  1137. package/dist/src/services/tips/tipRegistry.js +0 -589
  1138. package/dist/src/services/tips/tipScheduler.js +0 -40
  1139. package/dist/src/services/tokenEstimation.js +0 -365
  1140. package/dist/src/services/toolUseSummary/toolUseSummaryGenerator.js +0 -87
  1141. package/dist/src/services/tools/StreamingToolExecutor.js +0 -413
  1142. package/dist/src/services/tools/toolExecution.js +0 -1218
  1143. package/dist/src/services/tools/toolHooks.js +0 -454
  1144. package/dist/src/services/tools/toolOrchestration.js +0 -110
  1145. package/dist/src/services/vcr.js +0 -291
  1146. package/dist/src/services/voice.js +0 -394
  1147. package/dist/src/services/voiceKeyterms.js +0 -94
  1148. package/dist/src/services/voiceStreamSTT.js +0 -406
  1149. package/dist/src/setup.js +0 -349
  1150. package/dist/src/skills/bundled/batch.js +0 -114
  1151. package/dist/src/skills/bundled/claudeApi.js +0 -145
  1152. package/dist/src/skills/bundled/claudeApiContent.js +0 -14
  1153. package/dist/src/skills/bundled/claudeInChrome.js +0 -27
  1154. package/dist/src/skills/bundled/debug.js +0 -99
  1155. package/dist/src/skills/bundled/index.js +0 -5
  1156. package/dist/src/skills/bundled/keybindings.js +0 -292
  1157. package/dist/src/skills/bundled/loop.js +0 -81
  1158. package/dist/src/skills/bundled/loremIpsum.js +0 -266
  1159. package/dist/src/skills/bundled/remember.js +0 -75
  1160. package/dist/src/skills/bundled/scheduleRemoteAgents.js +0 -373
  1161. package/dist/src/skills/bundled/simplify.js +0 -66
  1162. package/dist/src/skills/bundled/skillify.js +0 -184
  1163. package/dist/src/skills/bundled/stuck.js +0 -75
  1164. package/dist/src/skills/bundled/updateConfig.js +0 -463
  1165. package/dist/src/skills/bundled/verify.js +0 -25
  1166. package/dist/src/skills/bundled/verifyContent.js +0 -7
  1167. package/dist/src/skills/bundledSkills.js +0 -159
  1168. package/dist/src/skills/loadSkillsDir.js +0 -736
  1169. package/dist/src/skills/mcpSkillBuilders.js +0 -10
  1170. package/dist/src/ssh/createSSHSession.js +0 -16
  1171. package/dist/src/state/AppState.js +0 -184
  1172. package/dist/src/state/AppStateStore.js +0 -119
  1173. package/dist/src/state/onChangeAppState.js +0 -132
  1174. package/dist/src/state/selectors.js +0 -51
  1175. package/dist/src/state/store.js +0 -21
  1176. package/dist/src/state/teammateViewHelpers.js +0 -124
  1177. package/dist/src/tasks/DreamTask/DreamTask.js +0 -99
  1178. package/dist/src/tasks/InProcessTeammateTask/InProcessTeammateTask.js +0 -116
  1179. package/dist/src/tasks/InProcessTeammateTask/types.js +0 -35
  1180. package/dist/src/tasks/LocalAgentTask/LocalAgentTask.js +0 -507
  1181. package/dist/src/tasks/LocalMainSessionTask.js +0 -338
  1182. package/dist/src/tasks/LocalShellTask/LocalShellTask.js +0 -475
  1183. package/dist/src/tasks/LocalShellTask/guards.js +0 -9
  1184. package/dist/src/tasks/LocalShellTask/killShellTasks.js +0 -59
  1185. package/dist/src/tasks/RemoteAgentTask/RemoteAgentTask.js +0 -742
  1186. package/dist/src/tasks/pillLabel.js +0 -69
  1187. package/dist/src/tasks/stopTask.js +0 -67
  1188. package/dist/src/tasks/types.js +0 -18
  1189. package/dist/src/tasks.js +0 -39
  1190. package/dist/src/telegram/bridge.js +0 -334
  1191. package/dist/src/telegram/config.js +0 -57
  1192. package/dist/src/telegram/mirror.js +0 -91
  1193. package/dist/src/tools/AgentTool/AgentTool.js +0 -1222
  1194. package/dist/src/tools/AgentTool/UI.js +0 -592
  1195. package/dist/src/tools/AgentTool/agentColorManager.js +0 -43
  1196. package/dist/src/tools/AgentTool/agentDisplay.js +0 -72
  1197. package/dist/src/tools/AgentTool/agentMemory.js +0 -125
  1198. package/dist/src/tools/AgentTool/agentMemorySnapshot.js +0 -136
  1199. package/dist/src/tools/AgentTool/agentToolUtils.js +0 -456
  1200. package/dist/src/tools/AgentTool/built-in/claudeCodeGuideAgent.js +0 -175
  1201. package/dist/src/tools/AgentTool/built-in/exploreAgent.js +0 -76
  1202. package/dist/src/tools/AgentTool/built-in/generalPurposeAgent.js +0 -28
  1203. package/dist/src/tools/AgentTool/built-in/planAgent.js +0 -87
  1204. package/dist/src/tools/AgentTool/built-in/statuslineSetup.js +0 -140
  1205. package/dist/src/tools/AgentTool/built-in/verificationAgent.js +0 -146
  1206. package/dist/src/tools/AgentTool/builtInAgents.js +0 -58
  1207. package/dist/src/tools/AgentTool/constants.js +0 -11
  1208. package/dist/src/tools/AgentTool/forkSubagent.js +0 -177
  1209. package/dist/src/tools/AgentTool/loadAgentsDir.js +0 -497
  1210. package/dist/src/tools/AgentTool/prompt.js +0 -260
  1211. package/dist/src/tools/AgentTool/resumeAgent.js +0 -182
  1212. package/dist/src/tools/AgentTool/runAgent.js +0 -629
  1213. package/dist/src/tools/AskUserQuestionTool/AskUserQuestionTool.js +0 -237
  1214. package/dist/src/tools/AskUserQuestionTool/prompt.js +0 -38
  1215. package/dist/src/tools/BashTool/BashTool.js +0 -1008
  1216. package/dist/src/tools/BashTool/BashToolResultMessage.js +0 -168
  1217. package/dist/src/tools/BashTool/UI.js +0 -133
  1218. package/dist/src/tools/BashTool/bashCommandHelpers.js +0 -184
  1219. package/dist/src/tools/BashTool/bashPermissions.js +0 -2023
  1220. package/dist/src/tools/BashTool/bashSecurity.js +0 -2267
  1221. package/dist/src/tools/BashTool/commandSemantics.js +0 -105
  1222. package/dist/src/tools/BashTool/commentLabel.js +0 -14
  1223. package/dist/src/tools/BashTool/destructiveCommandWarning.js +0 -88
  1224. package/dist/src/tools/BashTool/modeValidation.js +0 -86
  1225. package/dist/src/tools/BashTool/pathValidation.js +0 -1080
  1226. package/dist/src/tools/BashTool/prompt.js +0 -333
  1227. package/dist/src/tools/BashTool/readOnlyValidation.js +0 -1794
  1228. package/dist/src/tools/BashTool/sedEditParser.js +0 -282
  1229. package/dist/src/tools/BashTool/sedValidation.js +0 -580
  1230. package/dist/src/tools/BashTool/shouldUseSandbox.js +0 -125
  1231. package/dist/src/tools/BashTool/toolName.js +0 -2
  1232. package/dist/src/tools/BashTool/utils.js +0 -180
  1233. package/dist/src/tools/BriefTool/BriefTool.js +0 -172
  1234. package/dist/src/tools/BriefTool/UI.js +0 -66
  1235. package/dist/src/tools/BriefTool/attachments.js +0 -86
  1236. package/dist/src/tools/BriefTool/prompt.js +0 -19
  1237. package/dist/src/tools/BriefTool/upload.js +0 -136
  1238. package/dist/src/tools/ConfigTool/ConfigTool.js +0 -398
  1239. package/dist/src/tools/ConfigTool/UI.js +0 -24
  1240. package/dist/src/tools/ConfigTool/constants.js +0 -1
  1241. package/dist/src/tools/ConfigTool/prompt.js +0 -82
  1242. package/dist/src/tools/ConfigTool/supportedSettings.js +0 -180
  1243. package/dist/src/tools/EnterPlanModeTool/EnterPlanModeTool.js +0 -98
  1244. package/dist/src/tools/EnterPlanModeTool/UI.js +0 -13
  1245. package/dist/src/tools/EnterPlanModeTool/constants.js +0 -1
  1246. package/dist/src/tools/EnterPlanModeTool/prompt.js +0 -164
  1247. package/dist/src/tools/EnterWorktreeTool/EnterWorktreeTool.js +0 -104
  1248. package/dist/src/tools/EnterWorktreeTool/UI.js +0 -8
  1249. package/dist/src/tools/EnterWorktreeTool/constants.js +0 -1
  1250. package/dist/src/tools/EnterWorktreeTool/prompt.js +0 -30
  1251. package/dist/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.js +0 -385
  1252. package/dist/src/tools/ExitPlanModeTool/UI.js +0 -31
  1253. package/dist/src/tools/ExitPlanModeTool/constants.js +0 -2
  1254. package/dist/src/tools/ExitPlanModeTool/prompt.js +0 -27
  1255. package/dist/src/tools/ExitWorktreeTool/ExitWorktreeTool.js +0 -257
  1256. package/dist/src/tools/ExitWorktreeTool/UI.js +0 -9
  1257. package/dist/src/tools/ExitWorktreeTool/constants.js +0 -1
  1258. package/dist/src/tools/ExitWorktreeTool/prompt.js +0 -32
  1259. package/dist/src/tools/FileEditTool/FileEditTool.js +0 -480
  1260. package/dist/src/tools/FileEditTool/UI.js +0 -201
  1261. package/dist/src/tools/FileEditTool/constants.js +0 -7
  1262. package/dist/src/tools/FileEditTool/prompt.js +0 -24
  1263. package/dist/src/tools/FileEditTool/types.js +0 -50
  1264. package/dist/src/tools/FileEditTool/utils.js +0 -579
  1265. package/dist/src/tools/FileReadTool/FileReadTool.js +0 -889
  1266. package/dist/src/tools/FileReadTool/UI.js +0 -125
  1267. package/dist/src/tools/FileReadTool/imageProcessor.js +0 -46
  1268. package/dist/src/tools/FileReadTool/limits.js +0 -70
  1269. package/dist/src/tools/FileReadTool/prompt.js +0 -31
  1270. package/dist/src/tools/FileWriteTool/FileWriteTool.js +0 -341
  1271. package/dist/src/tools/FileWriteTool/UI.js +0 -338
  1272. package/dist/src/tools/FileWriteTool/prompt.js +0 -15
  1273. package/dist/src/tools/GlobTool/GlobTool.js +0 -161
  1274. package/dist/src/tools/GlobTool/UI.js +0 -39
  1275. package/dist/src/tools/GlobTool/prompt.js +0 -6
  1276. package/dist/src/tools/GrepTool/GrepTool.js +0 -439
  1277. package/dist/src/tools/GrepTool/UI.js +0 -154
  1278. package/dist/src/tools/GrepTool/prompt.js +0 -16
  1279. package/dist/src/tools/LSPTool/LSPTool.js +0 -660
  1280. package/dist/src/tools/LSPTool/UI.js +0 -204
  1281. package/dist/src/tools/LSPTool/formatters.js +0 -445
  1282. package/dist/src/tools/LSPTool/prompt.js +0 -20
  1283. package/dist/src/tools/LSPTool/schemas.js +0 -197
  1284. package/dist/src/tools/LSPTool/symbolContext.js +0 -75
  1285. package/dist/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.js +0 -100
  1286. package/dist/src/tools/ListMcpResourcesTool/UI.js +0 -16
  1287. package/dist/src/tools/ListMcpResourcesTool/prompt.js +0 -18
  1288. package/dist/src/tools/MCPTool/MCPTool.js +0 -60
  1289. package/dist/src/tools/MCPTool/UI.js +0 -342
  1290. package/dist/src/tools/MCPTool/classifyForCollapse.js +0 -597
  1291. package/dist/src/tools/MCPTool/prompt.js +0 -3
  1292. package/dist/src/tools/McpAuthTool/McpAuthTool.js +0 -162
  1293. package/dist/src/tools/NotebookEditTool/NotebookEditTool.js +0 -421
  1294. package/dist/src/tools/NotebookEditTool/UI.js +0 -40
  1295. package/dist/src/tools/NotebookEditTool/constants.js +0 -2
  1296. package/dist/src/tools/NotebookEditTool/prompt.js +0 -2
  1297. package/dist/src/tools/PowerShellTool/PowerShellTool.js +0 -899
  1298. package/dist/src/tools/PowerShellTool/UI.js +0 -57
  1299. package/dist/src/tools/PowerShellTool/clmTypes.js +0 -207
  1300. package/dist/src/tools/PowerShellTool/commandSemantics.js +0 -115
  1301. package/dist/src/tools/PowerShellTool/commonParameters.js +0 -27
  1302. package/dist/src/tools/PowerShellTool/destructiveCommandWarning.js +0 -92
  1303. package/dist/src/tools/PowerShellTool/gitSafety.js +0 -185
  1304. package/dist/src/tools/PowerShellTool/modeValidation.js +0 -357
  1305. package/dist/src/tools/PowerShellTool/pathValidation.js +0 -1712
  1306. package/dist/src/tools/PowerShellTool/powershellPermissions.js +0 -1351
  1307. package/dist/src/tools/PowerShellTool/powershellSecurity.js +0 -942
  1308. package/dist/src/tools/PowerShellTool/prompt.js +0 -132
  1309. package/dist/src/tools/PowerShellTool/readOnlyValidation.js +0 -1633
  1310. package/dist/src/tools/PowerShellTool/toolName.js +0 -2
  1311. package/dist/src/tools/REPLTool/constants.js +0 -43
  1312. package/dist/src/tools/REPLTool/primitiveTools.js +0 -36
  1313. package/dist/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.js +0 -112
  1314. package/dist/src/tools/ReadMcpResourceTool/UI.js +0 -23
  1315. package/dist/src/tools/ReadMcpResourceTool/prompt.js +0 -15
  1316. package/dist/src/tools/RemoteTriggerTool/RemoteTriggerTool.js +0 -142
  1317. package/dist/src/tools/RemoteTriggerTool/UI.js +0 -11
  1318. package/dist/src/tools/RemoteTriggerTool/prompt.js +0 -12
  1319. package/dist/src/tools/ScheduleCronTool/CronCreateTool.js +0 -120
  1320. package/dist/src/tools/ScheduleCronTool/CronDeleteTool.js +0 -74
  1321. package/dist/src/tools/ScheduleCronTool/CronListTool.js +0 -77
  1322. package/dist/src/tools/ScheduleCronTool/UI.js +0 -28
  1323. package/dist/src/tools/ScheduleCronTool/prompt.js +0 -115
  1324. package/dist/src/tools/SendMessageTool/SendMessageTool.js +0 -675
  1325. package/dist/src/tools/SendMessageTool/UI.js +0 -23
  1326. package/dist/src/tools/SendMessageTool/constants.js +0 -1
  1327. package/dist/src/tools/SendMessageTool/prompt.js +0 -47
  1328. package/dist/src/tools/SkillTool/SkillTool.js +0 -827
  1329. package/dist/src/tools/SkillTool/UI.js +0 -60
  1330. package/dist/src/tools/SkillTool/constants.js +0 -1
  1331. package/dist/src/tools/SkillTool/prompt.js +0 -184
  1332. package/dist/src/tools/SleepTool/prompt.js +0 -14
  1333. package/dist/src/tools/SyntheticOutputTool/SyntheticOutputTool.js +0 -138
  1334. package/dist/src/tools/TaskCreateTool/TaskCreateTool.js +0 -104
  1335. package/dist/src/tools/TaskCreateTool/constants.js +0 -1
  1336. package/dist/src/tools/TaskCreateTool/prompt.js +0 -52
  1337. package/dist/src/tools/TaskGetTool/TaskGetTool.js +0 -106
  1338. package/dist/src/tools/TaskGetTool/constants.js +0 -1
  1339. package/dist/src/tools/TaskGetTool/prompt.js +0 -23
  1340. package/dist/src/tools/TaskListTool/TaskListTool.js +0 -89
  1341. package/dist/src/tools/TaskListTool/constants.js +0 -1
  1342. package/dist/src/tools/TaskListTool/prompt.js +0 -44
  1343. package/dist/src/tools/TaskOutputTool/TaskOutputTool.js +0 -535
  1344. package/dist/src/tools/TaskOutputTool/constants.js +0 -1
  1345. package/dist/src/tools/TaskStopTool/TaskStopTool.js +0 -110
  1346. package/dist/src/tools/TaskStopTool/UI.js +0 -30
  1347. package/dist/src/tools/TaskStopTool/prompt.js +0 -7
  1348. package/dist/src/tools/TaskUpdateTool/TaskUpdateTool.js +0 -301
  1349. package/dist/src/tools/TaskUpdateTool/constants.js +0 -1
  1350. package/dist/src/tools/TaskUpdateTool/prompt.js +0 -76
  1351. package/dist/src/tools/TeamCreateTool/TeamCreateTool.js +0 -177
  1352. package/dist/src/tools/TeamCreateTool/UI.js +0 -4
  1353. package/dist/src/tools/TeamCreateTool/constants.js +0 -1
  1354. package/dist/src/tools/TeamCreateTool/prompt.js +0 -113
  1355. package/dist/src/tools/TeamDeleteTool/TeamDeleteTool.js +0 -102
  1356. package/dist/src/tools/TeamDeleteTool/UI.js +0 -13
  1357. package/dist/src/tools/TeamDeleteTool/constants.js +0 -1
  1358. package/dist/src/tools/TeamDeleteTool/prompt.js +0 -16
  1359. package/dist/src/tools/TodoWriteTool/TodoWriteTool.js +0 -99
  1360. package/dist/src/tools/TodoWriteTool/constants.js +0 -1
  1361. package/dist/src/tools/TodoWriteTool/prompt.js +0 -181
  1362. package/dist/src/tools/ToolSearchTool/ToolSearchTool.js +0 -357
  1363. package/dist/src/tools/ToolSearchTool/constants.js +0 -1
  1364. package/dist/src/tools/ToolSearchTool/prompt.js +0 -99
  1365. package/dist/src/tools/TungstenTool/TungstenLiveMonitor.js +0 -7
  1366. package/dist/src/tools/TungstenTool/TungstenTool.js +0 -3
  1367. package/dist/src/tools/WebFetchTool/UI.js +0 -30
  1368. package/dist/src/tools/WebFetchTool/WebFetchTool.js +0 -246
  1369. package/dist/src/tools/WebFetchTool/preapproved.js +0 -155
  1370. package/dist/src/tools/WebFetchTool/prompt.js +0 -39
  1371. package/dist/src/tools/WebFetchTool/utils.js +0 -381
  1372. package/dist/src/tools/WebSearchTool/UI.js +0 -66
  1373. package/dist/src/tools/WebSearchTool/WebSearchTool.js +0 -352
  1374. package/dist/src/tools/WebSearchTool/prompt.js +0 -32
  1375. package/dist/src/tools/WorkflowTool/constants.js +0 -2
  1376. package/dist/src/tools/shared/gitOperationTracking.js +0 -220
  1377. package/dist/src/tools/shared/spawnMultiAgent.js +0 -805
  1378. package/dist/src/tools/testing/TestingPermissionTool.js +0 -72
  1379. package/dist/src/tools/utils.js +0 -24
  1380. package/dist/src/tools.js +0 -332
  1381. package/dist/src/types/command.js +0 -10
  1382. package/dist/src/types/connectorText.js +0 -2
  1383. package/dist/src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.js +0 -673
  1384. package/dist/src/types/generated/events_mono/common/v1/auth.js +0 -49
  1385. package/dist/src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.js +0 -147
  1386. package/dist/src/types/generated/google/protobuf/timestamp.js +0 -38
  1387. package/dist/src/types/hooks.js +0 -153
  1388. package/dist/src/types/ids.js +0 -27
  1389. package/dist/src/types/logs.js +0 -11
  1390. package/dist/src/types/message.js +0 -1
  1391. package/dist/src/types/permissions.js +0 -25
  1392. package/dist/src/types/plugin.js +0 -72
  1393. package/dist/src/types/textInputTypes.js +0 -20
  1394. package/dist/src/types/utils.js +0 -5
  1395. package/dist/src/upstreamproxy/relay.js +0 -346
  1396. package/dist/src/upstreamproxy/upstreamproxy.js +0 -236
  1397. package/dist/src/utils/CircularBuffer.js +0 -75
  1398. package/dist/src/utils/Cursor.js +0 -1229
  1399. package/dist/src/utils/QueryGuard.js +0 -115
  1400. package/dist/src/utils/Shell.js +0 -374
  1401. package/dist/src/utils/ShellCommand.js +0 -338
  1402. package/dist/src/utils/abortController.js +0 -74
  1403. package/dist/src/utils/activityManager.js +0 -127
  1404. package/dist/src/utils/advisor.js +0 -77
  1405. package/dist/src/utils/agentContext.js +0 -91
  1406. package/dist/src/utils/agentId.js +0 -83
  1407. package/dist/src/utils/agentSwarmsEnabled.js +0 -37
  1408. package/dist/src/utils/agenticSessionSearch.js +0 -255
  1409. package/dist/src/utils/analyzeContext.js +0 -848
  1410. package/dist/src/utils/ansiToPng.js +0 -259
  1411. package/dist/src/utils/ansiToSvg.js +0 -207
  1412. package/dist/src/utils/api.js +0 -555
  1413. package/dist/src/utils/apiPreconnect.js +0 -62
  1414. package/dist/src/utils/appleTerminalBackup.js +0 -95
  1415. package/dist/src/utils/argumentSubstitution.js +0 -114
  1416. package/dist/src/utils/array.js +0 -12
  1417. package/dist/src/utils/asciicast.js +0 -200
  1418. package/dist/src/utils/attachments.js +0 -2514
  1419. package/dist/src/utils/attribution.js +0 -308
  1420. package/dist/src/utils/attributionHooks.js +0 -16
  1421. package/dist/src/utils/attributionTrailer.js +0 -16
  1422. package/dist/src/utils/auth.js +0 -2020
  1423. package/dist/src/utils/authFileDescriptor.js +0 -152
  1424. package/dist/src/utils/authPortable.js +0 -14
  1425. package/dist/src/utils/autoModeDenials.js +0 -15
  1426. package/dist/src/utils/autoRunIssue.js +0 -112
  1427. package/dist/src/utils/autoUpdater.js +0 -461
  1428. package/dist/src/utils/aws.js +0 -44
  1429. package/dist/src/utils/awsAuthStatusManager.js +0 -66
  1430. package/dist/src/utils/background/remote/preconditions.js +0 -175
  1431. package/dist/src/utils/background/remote/remoteSession.js +0 -53
  1432. package/dist/src/utils/backgroundHousekeeping.js +0 -66
  1433. package/dist/src/utils/bash/ParsedCommand.js +0 -241
  1434. package/dist/src/utils/bash/ShellSnapshot.js +0 -489
  1435. package/dist/src/utils/bash/ast.js +0 -2590
  1436. package/dist/src/utils/bash/bashParser.js +0 -4355
  1437. package/dist/src/utils/bash/bashPipeCommand.js +0 -249
  1438. package/dist/src/utils/bash/commands.js +0 -1131
  1439. package/dist/src/utils/bash/heredoc.js +0 -647
  1440. package/dist/src/utils/bash/parser.js +0 -195
  1441. package/dist/src/utils/bash/prefix.js +0 -154
  1442. package/dist/src/utils/bash/registry.js +0 -23
  1443. package/dist/src/utils/bash/shellCompletion.js +0 -196
  1444. package/dist/src/utils/bash/shellPrefix.js +0 -25
  1445. package/dist/src/utils/bash/shellQuote.js +0 -253
  1446. package/dist/src/utils/bash/shellQuoting.js +0 -106
  1447. package/dist/src/utils/bash/specs/alias.js +0 -11
  1448. package/dist/src/utils/bash/specs/index.js +0 -16
  1449. package/dist/src/utils/bash/specs/nohup.js +0 -10
  1450. package/dist/src/utils/bash/specs/pyright.js +0 -88
  1451. package/dist/src/utils/bash/specs/sleep.js +0 -10
  1452. package/dist/src/utils/bash/specs/srun.js +0 -28
  1453. package/dist/src/utils/bash/specs/time.js +0 -10
  1454. package/dist/src/utils/bash/specs/timeout.js +0 -17
  1455. package/dist/src/utils/bash/treeSitterAnalysis.js +0 -407
  1456. package/dist/src/utils/betas.js +0 -332
  1457. package/dist/src/utils/billing.js +0 -54
  1458. package/dist/src/utils/binaryCheck.js +0 -40
  1459. package/dist/src/utils/browser.js +0 -58
  1460. package/dist/src/utils/bufferedWriter.js +0 -77
  1461. package/dist/src/utils/bundledMode.js +0 -19
  1462. package/dist/src/utils/caCerts.js +0 -93
  1463. package/dist/src/utils/caCertsConfig.js +0 -77
  1464. package/dist/src/utils/cachePaths.js +0 -28
  1465. package/dist/src/utils/ccshareResume.js +0 -16
  1466. package/dist/src/utils/classifierApprovals.js +0 -66
  1467. package/dist/src/utils/classifierApprovalsHook.js +0 -10
  1468. package/dist/src/utils/claudeCodeHints.js +0 -142
  1469. package/dist/src/utils/claudeDesktop.js +0 -108
  1470. package/dist/src/utils/claudeInChrome/chromeNativeHost.js +0 -416
  1471. package/dist/src/utils/claudeInChrome/common.js +0 -466
  1472. package/dist/src/utils/claudeInChrome/mcpServer.js +0 -237
  1473. package/dist/src/utils/claudeInChrome/prompt.js +0 -79
  1474. package/dist/src/utils/claudeInChrome/setup.js +0 -320
  1475. package/dist/src/utils/claudeInChrome/setupPortable.js +0 -172
  1476. package/dist/src/utils/claudeInChrome/toolRendering.js +0 -234
  1477. package/dist/src/utils/claudemd.js +0 -1054
  1478. package/dist/src/utils/cleanup.js +0 -514
  1479. package/dist/src/utils/cleanupRegistry.js +0 -22
  1480. package/dist/src/utils/cliArgs.js +0 -53
  1481. package/dist/src/utils/cliHighlight.js +0 -45
  1482. package/dist/src/utils/codeIndexing.js +0 -149
  1483. package/dist/src/utils/collapseBackgroundBashNotifications.js +0 -70
  1484. package/dist/src/utils/collapseHookSummaries.js +0 -48
  1485. package/dist/src/utils/collapseReadSearch.js +0 -871
  1486. package/dist/src/utils/collapseTeammateShutdowns.js +0 -44
  1487. package/dist/src/utils/combinedAbortSignal.js +0 -40
  1488. package/dist/src/utils/commandLifecycle.js +0 -7
  1489. package/dist/src/utils/commitAttribution.js +0 -720
  1490. package/dist/src/utils/completionCache.js +0 -138
  1491. package/dist/src/utils/computerUse/appNames.js +0 -170
  1492. package/dist/src/utils/computerUse/cleanup.js +0 -66
  1493. package/dist/src/utils/computerUse/common.js +0 -56
  1494. package/dist/src/utils/computerUse/computerUseLock.js +0 -183
  1495. package/dist/src/utils/computerUse/drainRunLoop.js +0 -71
  1496. package/dist/src/utils/computerUse/escHotkey.js +0 -53
  1497. package/dist/src/utils/computerUse/executor.js +0 -480
  1498. package/dist/src/utils/computerUse/gates.js +0 -55
  1499. package/dist/src/utils/computerUse/hostAdapter.js +0 -62
  1500. package/dist/src/utils/computerUse/inputLoader.js +0 -27
  1501. package/dist/src/utils/computerUse/mcpServer.js +0 -84
  1502. package/dist/src/utils/computerUse/setup.js +0 -42
  1503. package/dist/src/utils/computerUse/swiftLoader.js +0 -20
  1504. package/dist/src/utils/computerUse/toolRendering.js +0 -100
  1505. package/dist/src/utils/computerUse/wrapper.js +0 -318
  1506. package/dist/src/utils/concurrentSessions.js +0 -179
  1507. package/dist/src/utils/config.js +0 -1084
  1508. package/dist/src/utils/configConstants.js +0 -18
  1509. package/dist/src/utils/contentArray.js +0 -45
  1510. package/dist/src/utils/context.js +0 -185
  1511. package/dist/src/utils/contextAnalysis.js +0 -171
  1512. package/dist/src/utils/contextSuggestions.js +0 -158
  1513. package/dist/src/utils/controlMessageCompat.js +0 -31
  1514. package/dist/src/utils/conversationRecovery.js +0 -436
  1515. package/dist/src/utils/cron.js +0 -260
  1516. package/dist/src/utils/cronJitterConfig.js +0 -62
  1517. package/dist/src/utils/cronScheduler.js +0 -388
  1518. package/dist/src/utils/cronTasks.js +0 -328
  1519. package/dist/src/utils/cronTasksLock.js +0 -159
  1520. package/dist/src/utils/crossProjectResume.js +0 -46
  1521. package/dist/src/utils/crypto.js +0 -13
  1522. package/dist/src/utils/cwd.js +0 -29
  1523. package/dist/src/utils/databaseMcp/common.js +0 -48
  1524. package/dist/src/utils/databaseMcp/mcpServer.js +0 -2
  1525. package/dist/src/utils/databaseMcp/server/connection.js +0 -243
  1526. package/dist/src/utils/databaseMcp/server/index.js +0 -1442
  1527. package/dist/src/utils/databaseMcp/server/queries.js +0 -683
  1528. package/dist/src/utils/databaseMcp/server/types.js +0 -7
  1529. package/dist/src/utils/databaseMcp/setup.js +0 -28
  1530. package/dist/src/utils/debug.js +0 -220
  1531. package/dist/src/utils/debugFilter.js +0 -125
  1532. package/dist/src/utils/deepLink/banner.js +0 -103
  1533. package/dist/src/utils/deepLink/parseDeepLink.js +0 -138
  1534. package/dist/src/utils/deepLink/protocolHandler.js +0 -119
  1535. package/dist/src/utils/deepLink/registerProtocol.js +0 -291
  1536. package/dist/src/utils/deepLink/terminalLauncher.js +0 -455
  1537. package/dist/src/utils/deepLink/terminalPreference.js +0 -51
  1538. package/dist/src/utils/desktopDeepLink.js +0 -208
  1539. package/dist/src/utils/detectRepository.js +0 -157
  1540. package/dist/src/utils/diagLogs.js +0 -74
  1541. package/dist/src/utils/diff.js +0 -108
  1542. package/dist/src/utils/directMemberMessage.js +0 -34
  1543. package/dist/src/utils/displayTags.js +0 -46
  1544. package/dist/src/utils/doctorContextWarnings.js +0 -179
  1545. package/dist/src/utils/doctorDiagnostic.js +0 -495
  1546. package/dist/src/utils/dxt/helpers.js +0 -64
  1547. package/dist/src/utils/dxt/zip.js +0 -167
  1548. package/dist/src/utils/earlyInput.js +0 -166
  1549. package/dist/src/utils/editor.js +0 -163
  1550. package/dist/src/utils/effort.js +0 -278
  1551. package/dist/src/utils/embeddedTools.js +0 -26
  1552. package/dist/src/utils/env.js +0 -358
  1553. package/dist/src/utils/envDynamic.js +0 -130
  1554. package/dist/src/utils/envUtils.js +0 -154
  1555. package/dist/src/utils/envValidation.js +0 -26
  1556. package/dist/src/utils/errorLogSink.js +0 -197
  1557. package/dist/src/utils/errors.js +0 -207
  1558. package/dist/src/utils/eventLoopStallDetector.js +0 -16
  1559. package/dist/src/utils/exampleCommands.js +0 -165
  1560. package/dist/src/utils/execFileNoThrow.js +0 -93
  1561. package/dist/src/utils/execFileNoThrowPortable.js +0 -111
  1562. package/dist/src/utils/execSyncWrapper.js +0 -68
  1563. package/dist/src/utils/exportRenderer.js +0 -71
  1564. package/dist/src/utils/extraUsage.js +0 -19
  1565. package/dist/src/utils/fastMode.js +0 -393
  1566. package/dist/src/utils/file.js +0 -467
  1567. package/dist/src/utils/fileHistory.js +0 -851
  1568. package/dist/src/utils/fileOperationAnalytics.js +0 -45
  1569. package/dist/src/utils/filePersistence/filePersistence.js +0 -212
  1570. package/dist/src/utils/filePersistence/outputsScanner.js +0 -104
  1571. package/dist/src/utils/filePersistence/types.js +0 -5
  1572. package/dist/src/utils/fileRead.js +0 -81
  1573. package/dist/src/utils/fileReadCache.js +0 -78
  1574. package/dist/src/utils/fileStateCache.js +0 -99
  1575. package/dist/src/utils/findExecutable.js +0 -13
  1576. package/dist/src/utils/fingerprint.js +0 -59
  1577. package/dist/src/utils/forkedAgent.js +0 -410
  1578. package/dist/src/utils/format.js +0 -238
  1579. package/dist/src/utils/formatBriefTimestamp.js +0 -72
  1580. package/dist/src/utils/fpsTracker.js +0 -34
  1581. package/dist/src/utils/frontmatterParser.js +0 -260
  1582. package/dist/src/utils/fsOperations.js +0 -834
  1583. package/dist/src/utils/fullscreen.js +0 -194
  1584. package/dist/src/utils/generatedFiles.js +0 -122
  1585. package/dist/src/utils/generators.js +0 -67
  1586. package/dist/src/utils/genericProcessUtils.js +0 -155
  1587. package/dist/src/utils/getWorktreePaths.js +0 -56
  1588. package/dist/src/utils/getWorktreePathsPortable.js +0 -23
  1589. package/dist/src/utils/ghPrStatus.js +0 -71
  1590. package/dist/src/utils/git/gitConfigParser.js +0 -226
  1591. package/dist/src/utils/git/gitFilesystem.js +0 -606
  1592. package/dist/src/utils/git/gitignore.js +0 -84
  1593. package/dist/src/utils/git.js +0 -725
  1594. package/dist/src/utils/gitDiff.js +0 -395
  1595. package/dist/src/utils/gitSettings.js +0 -18
  1596. package/dist/src/utils/github/ghAuthStatus.js +0 -23
  1597. package/dist/src/utils/githubRepoPathMapping.js +0 -135
  1598. package/dist/src/utils/glob.js +0 -90
  1599. package/dist/src/utils/gracefulShutdown.js +0 -447
  1600. package/dist/src/utils/groupToolUses.js +0 -126
  1601. package/dist/src/utils/handlePromptSubmit.js +0 -398
  1602. package/dist/src/utils/hash.js +0 -46
  1603. package/dist/src/utils/headlessProfiler.js +0 -147
  1604. package/dist/src/utils/heapDumpService.js +0 -202
  1605. package/dist/src/utils/heatmap.js +0 -151
  1606. package/dist/src/utils/highlightMatch.js +0 -28
  1607. package/dist/src/utils/hooks/AsyncHookRegistry.js +0 -187
  1608. package/dist/src/utils/hooks/apiQueryHookHelper.js +0 -77
  1609. package/dist/src/utils/hooks/execAgentHook.js +0 -257
  1610. package/dist/src/utils/hooks/execHttpHook.js +0 -184
  1611. package/dist/src/utils/hooks/execPromptHook.js +0 -171
  1612. package/dist/src/utils/hooks/fileChangedWatcher.js +0 -161
  1613. package/dist/src/utils/hooks/hookEvents.js +0 -111
  1614. package/dist/src/utils/hooks/hookHelpers.js +0 -60
  1615. package/dist/src/utils/hooks/hooksConfigManager.js +0 -323
  1616. package/dist/src/utils/hooks/hooksConfigSnapshot.js +0 -114
  1617. package/dist/src/utils/hooks/hooksSettings.js +0 -204
  1618. package/dist/src/utils/hooks/postSamplingHooks.js +0 -39
  1619. package/dist/src/utils/hooks/registerFrontmatterHooks.js +0 -47
  1620. package/dist/src/utils/hooks/registerSkillHooks.js +0 -40
  1621. package/dist/src/utils/hooks/sessionHooks.js +0 -252
  1622. package/dist/src/utils/hooks/skillImprovement.js +0 -211
  1623. package/dist/src/utils/hooks/ssrfGuard.js +0 -258
  1624. package/dist/src/utils/hooks.js +0 -3668
  1625. package/dist/src/utils/horizontalScroll.js +0 -108
  1626. package/dist/src/utils/http.js +0 -121
  1627. package/dist/src/utils/hyperlink.js +0 -28
  1628. package/dist/src/utils/iTermBackup.js +0 -48
  1629. package/dist/src/utils/ide.js +0 -1198
  1630. package/dist/src/utils/idePathConversion.js +0 -66
  1631. package/dist/src/utils/idleTimeout.js +0 -44
  1632. package/dist/src/utils/imagePaste.js +0 -329
  1633. package/dist/src/utils/imageResizer.js +0 -664
  1634. package/dist/src/utils/imageStore.js +0 -150
  1635. package/dist/src/utils/imageValidation.js +0 -92
  1636. package/dist/src/utils/immediateCommand.js +0 -12
  1637. package/dist/src/utils/inProcessTeammateHelpers.js +0 -71
  1638. package/dist/src/utils/ink.js +0 -20
  1639. package/dist/src/utils/intl.js +0 -83
  1640. package/dist/src/utils/jetbrains.js +0 -152
  1641. package/dist/src/utils/json.js +0 -295
  1642. package/dist/src/utils/jsonRead.js +0 -14
  1643. package/dist/src/utils/keyboardShortcuts.js +0 -11
  1644. package/dist/src/utils/lazySchema.js +0 -8
  1645. package/dist/src/utils/listSessionsImpl.js +0 -332
  1646. package/dist/src/utils/localInstaller.js +0 -131
  1647. package/dist/src/utils/lockfile.js +0 -22
  1648. package/dist/src/utils/log.js +0 -280
  1649. package/dist/src/utils/logoV2Utils.js +0 -288
  1650. package/dist/src/utils/mailbox.js +0 -50
  1651. package/dist/src/utils/managedEnv.js +0 -160
  1652. package/dist/src/utils/managedEnvConstants.js +0 -187
  1653. package/dist/src/utils/markdown.js +0 -300
  1654. package/dist/src/utils/markdownConfigLoader.js +0 -480
  1655. package/dist/src/utils/mcp/dateTimeParser.js +0 -102
  1656. package/dist/src/utils/mcp/elicitationValidation.js +0 -259
  1657. package/dist/src/utils/mcpInstructionsDelta.js +0 -97
  1658. package/dist/src/utils/mcpOutputStorage.js +0 -159
  1659. package/dist/src/utils/mcpValidation.js +0 -165
  1660. package/dist/src/utils/mcpWebSocketTransport.js +0 -180
  1661. package/dist/src/utils/memoize.js +0 -205
  1662. package/dist/src/utils/memory/types.js +0 -9
  1663. package/dist/src/utils/memory/versions.js +0 -7
  1664. package/dist/src/utils/memoryFileDetection.js +0 -247
  1665. package/dist/src/utils/messagePredicates.js +0 -6
  1666. package/dist/src/utils/messageQueueManager.js +0 -430
  1667. package/dist/src/utils/messages/mappers.js +0 -240
  1668. package/dist/src/utils/messages/systemInit.js +0 -74
  1669. package/dist/src/utils/messages.js +0 -4273
  1670. package/dist/src/utils/model/agent.js +0 -128
  1671. package/dist/src/utils/model/aliases.js +0 -21
  1672. package/dist/src/utils/model/antModels.js +0 -25
  1673. package/dist/src/utils/model/bedrock.js +0 -220
  1674. package/dist/src/utils/model/check1mAccess.js +0 -64
  1675. package/dist/src/utils/model/configs.js +0 -93
  1676. package/dist/src/utils/model/contextWindowUpgradeCheck.js +0 -41
  1677. package/dist/src/utils/model/deprecation.js +0 -72
  1678. package/dist/src/utils/model/model.js +0 -635
  1679. package/dist/src/utils/model/modelAllowlist.js +0 -148
  1680. package/dist/src/utils/model/modelCapabilities.js +0 -107
  1681. package/dist/src/utils/model/modelOptions.js +0 -627
  1682. package/dist/src/utils/model/modelStrings.js +0 -144
  1683. package/dist/src/utils/model/modelSupportOverrides.js +0 -40
  1684. package/dist/src/utils/model/openrouter.js +0 -51
  1685. package/dist/src/utils/model/providerBaseUrls.js +0 -77
  1686. package/dist/src/utils/model/providerCatalog.js +0 -81
  1687. package/dist/src/utils/model/providerModels.js +0 -334
  1688. package/dist/src/utils/model/providerProfiles.js +0 -392
  1689. package/dist/src/utils/model/providerProfilesDb.js +0 -556
  1690. package/dist/src/utils/model/providerSwitch.js +0 -68
  1691. package/dist/src/utils/model/providers.js +0 -199
  1692. package/dist/src/utils/model/validateModel.js +0 -257
  1693. package/dist/src/utils/modelCost.js +0 -160
  1694. package/dist/src/utils/modifiers.js +0 -35
  1695. package/dist/src/utils/mtls.js +0 -134
  1696. package/dist/src/utils/nativeInstaller/download.js +0 -370
  1697. package/dist/src/utils/nativeInstaller/index.js +0 -8
  1698. package/dist/src/utils/nativeInstaller/installer.js +0 -1396
  1699. package/dist/src/utils/nativeInstaller/packageManagers.js +0 -258
  1700. package/dist/src/utils/nativeInstaller/pidLock.js +0 -347
  1701. package/dist/src/utils/notebook.js +0 -176
  1702. package/dist/src/utils/objectGroupBy.js +0 -15
  1703. package/dist/src/utils/pasteStore.js +0 -93
  1704. package/dist/src/utils/path.js +0 -140
  1705. package/dist/src/utils/pdf.js +0 -236
  1706. package/dist/src/utils/pdfUtils.js +0 -61
  1707. package/dist/src/utils/peerAddress.js +0 -20
  1708. package/dist/src/utils/permissions/PermissionMode.js +0 -95
  1709. package/dist/src/utils/permissions/PermissionPromptToolResultSchema.js +0 -85
  1710. package/dist/src/utils/permissions/PermissionResult.js +0 -11
  1711. package/dist/src/utils/permissions/PermissionRule.js +0 -19
  1712. package/dist/src/utils/permissions/PermissionUpdate.js +0 -268
  1713. package/dist/src/utils/permissions/PermissionUpdateSchema.js +0 -61
  1714. package/dist/src/utils/permissions/autoModeState.js +0 -34
  1715. package/dist/src/utils/permissions/bashClassifier.js +0 -30
  1716. package/dist/src/utils/permissions/bypassPermissionsKillswitch.js +0 -115
  1717. package/dist/src/utils/permissions/classifierDecision.js +0 -88
  1718. package/dist/src/utils/permissions/classifierShared.js +0 -28
  1719. package/dist/src/utils/permissions/dangerousPatterns.js +0 -78
  1720. package/dist/src/utils/permissions/denialTracking.js +0 -34
  1721. package/dist/src/utils/permissions/filesystem.js +0 -1411
  1722. package/dist/src/utils/permissions/getNextPermissionMode.js +0 -74
  1723. package/dist/src/utils/permissions/pathValidation.js +0 -351
  1724. package/dist/src/utils/permissions/permissionExplainer.js +0 -188
  1725. package/dist/src/utils/permissions/permissionRuleParser.js +0 -177
  1726. package/dist/src/utils/permissions/permissionSetup.js +0 -1164
  1727. package/dist/src/utils/permissions/permissions.js +0 -1065
  1728. package/dist/src/utils/permissions/permissionsLoader.js +0 -217
  1729. package/dist/src/utils/permissions/shadowedRuleDetection.js +0 -149
  1730. package/dist/src/utils/permissions/shellRuleMatching.js +0 -174
  1731. package/dist/src/utils/permissions/yoloClassifier.js +0 -1195
  1732. package/dist/src/utils/planModeV2.js +0 -75
  1733. package/dist/src/utils/plans.js +0 -334
  1734. package/dist/src/utils/platform.js +0 -122
  1735. package/dist/src/utils/plugins/addDirPluginSettings.js +0 -53
  1736. package/dist/src/utils/plugins/cacheUtils.js +0 -174
  1737. package/dist/src/utils/plugins/dependencyResolver.js +0 -244
  1738. package/dist/src/utils/plugins/fetchTelemetry.js +0 -108
  1739. package/dist/src/utils/plugins/gitAvailability.js +0 -65
  1740. package/dist/src/utils/plugins/headlessPluginInstall.js +0 -136
  1741. package/dist/src/utils/plugins/hintRecommendation.js +0 -136
  1742. package/dist/src/utils/plugins/installCounts.js +0 -218
  1743. package/dist/src/utils/plugins/installedPluginsManager.js +0 -1003
  1744. package/dist/src/utils/plugins/loadPluginAgents.js +0 -219
  1745. package/dist/src/utils/plugins/loadPluginCommands.js +0 -595
  1746. package/dist/src/utils/plugins/loadPluginHooks.js +0 -239
  1747. package/dist/src/utils/plugins/loadPluginOutputStyles.js +0 -112
  1748. package/dist/src/utils/plugins/lspPluginIntegration.js +0 -293
  1749. package/dist/src/utils/plugins/lspRecommendation.js +0 -278
  1750. package/dist/src/utils/plugins/managedPlugins.js +0 -26
  1751. package/dist/src/utils/plugins/marketplaceHelpers.js +0 -470
  1752. package/dist/src/utils/plugins/marketplaceManager.js +0 -1939
  1753. package/dist/src/utils/plugins/mcpPluginIntegration.js +0 -465
  1754. package/dist/src/utils/plugins/mcpbHandler.js +0 -708
  1755. package/dist/src/utils/plugins/officialMarketplace.js +0 -21
  1756. package/dist/src/utils/plugins/officialMarketplaceGcs.js +0 -195
  1757. package/dist/src/utils/plugins/officialMarketplaceStartupCheck.js +0 -338
  1758. package/dist/src/utils/plugins/orphanedPluginFilter.js +0 -96
  1759. package/dist/src/utils/plugins/parseMarketplaceInput.js +0 -143
  1760. package/dist/src/utils/plugins/performStartupChecks.js +0 -66
  1761. package/dist/src/utils/plugins/pluginAutoupdate.js +0 -210
  1762. package/dist/src/utils/plugins/pluginBlocklist.js +0 -93
  1763. package/dist/src/utils/plugins/pluginDirectories.js +0 -170
  1764. package/dist/src/utils/plugins/pluginFlagging.js +0 -173
  1765. package/dist/src/utils/plugins/pluginIdentifier.js +0 -78
  1766. package/dist/src/utils/plugins/pluginInstallationHelpers.js +0 -400
  1767. package/dist/src/utils/plugins/pluginLoader.js +0 -2426
  1768. package/dist/src/utils/plugins/pluginOptionsStorage.js +0 -311
  1769. package/dist/src/utils/plugins/pluginPolicy.js +0 -18
  1770. package/dist/src/utils/plugins/pluginStartupCheck.js +0 -261
  1771. package/dist/src/utils/plugins/pluginVersioning.js +0 -128
  1772. package/dist/src/utils/plugins/reconciler.js +0 -181
  1773. package/dist/src/utils/plugins/refresh.js +0 -162
  1774. package/dist/src/utils/plugins/schemas.js +0 -1283
  1775. package/dist/src/utils/plugins/validatePlugin.js +0 -765
  1776. package/dist/src/utils/plugins/walkPluginMarkdown.js +0 -49
  1777. package/dist/src/utils/plugins/zipCache.js +0 -346
  1778. package/dist/src/utils/plugins/zipCacheAdapters.js +0 -133
  1779. package/dist/src/utils/postCommitAttribution.js +0 -16
  1780. package/dist/src/utils/powershell/dangerousCmdlets.js +0 -174
  1781. package/dist/src/utils/powershell/parser.js +0 -1357
  1782. package/dist/src/utils/powershell/staticPrefix.js +0 -277
  1783. package/dist/src/utils/preflightChecks.js +0 -147
  1784. package/dist/src/utils/privacyLevel.js +0 -49
  1785. package/dist/src/utils/process.js +0 -56
  1786. package/dist/src/utils/processUserInput/processBashCommand.js +0 -119
  1787. package/dist/src/utils/processUserInput/processSlashCommand.js +0 -845
  1788. package/dist/src/utils/processUserInput/processTextPrompt.js +0 -68
  1789. package/dist/src/utils/processUserInput/processUserInput.js +0 -326
  1790. package/dist/src/utils/profilerBase.js +0 -29
  1791. package/dist/src/utils/promptCategory.js +0 -39
  1792. package/dist/src/utils/promptEditor.js +0 -151
  1793. package/dist/src/utils/promptShellExecution.js +0 -119
  1794. package/dist/src/utils/proxy.js +0 -347
  1795. package/dist/src/utils/queryContext.js +0 -110
  1796. package/dist/src/utils/queryHelpers.js +0 -436
  1797. package/dist/src/utils/queryProfiler.js +0 -242
  1798. package/dist/src/utils/queueProcessor.js +0 -70
  1799. package/dist/src/utils/readEditContext.js +0 -176
  1800. package/dist/src/utils/readFileInRange.js +0 -278
  1801. package/dist/src/utils/releaseNotes.js +0 -304
  1802. package/dist/src/utils/renderOptions.js +0 -67
  1803. package/dist/src/utils/ripgrep.js +0 -540
  1804. package/dist/src/utils/sandbox/sandbox-adapter.js +0 -749
  1805. package/dist/src/utils/sandbox/sandbox-ui-utils.js +0 -11
  1806. package/dist/src/utils/sanitization.js +0 -72
  1807. package/dist/src/utils/screenshotClipboard.js +0 -89
  1808. package/dist/src/utils/sdkEventQueue.js +0 -49
  1809. package/dist/src/utils/sdkHeapDumpMonitor.js +0 -16
  1810. package/dist/src/utils/secureStorage/fallbackStorage.js +0 -59
  1811. package/dist/src/utils/secureStorage/index.js +0 -14
  1812. package/dist/src/utils/secureStorage/keychainPrefetch.js +0 -91
  1813. package/dist/src/utils/secureStorage/macOsKeychainHelpers.js +0 -91
  1814. package/dist/src/utils/secureStorage/macOsKeychainStorage.js +0 -192
  1815. package/dist/src/utils/secureStorage/plainTextStorage.js +0 -81
  1816. package/dist/src/utils/secureStorage/secureStoreDefs.js +0 -1
  1817. package/dist/src/utils/secureStorage/sqliteStorage.js +0 -217
  1818. package/dist/src/utils/secureStorage/types.js +0 -1
  1819. package/dist/src/utils/semanticBoolean.js +0 -23
  1820. package/dist/src/utils/semanticNumber.js +0 -34
  1821. package/dist/src/utils/semver.js +0 -53
  1822. package/dist/src/utils/sequential.js +0 -43
  1823. package/dist/src/utils/sessionActivity.js +0 -120
  1824. package/dist/src/utils/sessionDataUploader.js +0 -16
  1825. package/dist/src/utils/sessionEnvVars.js +0 -18
  1826. package/dist/src/utils/sessionEnvironment.js +0 -131
  1827. package/dist/src/utils/sessionFileAccessHooks.js +0 -207
  1828. package/dist/src/utils/sessionIngressAuth.js +0 -113
  1829. package/dist/src/utils/sessionRestore.js +0 -359
  1830. package/dist/src/utils/sessionStart.js +0 -165
  1831. package/dist/src/utils/sessionState.js +0 -76
  1832. package/dist/src/utils/sessionStorage.js +0 -4162
  1833. package/dist/src/utils/sessionStoragePortable.js +0 -665
  1834. package/dist/src/utils/sessionTitle.js +0 -120
  1835. package/dist/src/utils/sessionUrl.js +0 -50
  1836. package/dist/src/utils/set.js +0 -50
  1837. package/dist/src/utils/settings/allErrors.js +0 -29
  1838. package/dist/src/utils/settings/applySettingsChange.js +0 -65
  1839. package/dist/src/utils/settings/changeDetector.js +0 -409
  1840. package/dist/src/utils/settings/constants.js +0 -166
  1841. package/dist/src/utils/settings/internalWrites.js +0 -33
  1842. package/dist/src/utils/settings/managedPath.js +0 -29
  1843. package/dist/src/utils/settings/mdm/constants.js +0 -62
  1844. package/dist/src/utils/settings/mdm/rawRead.js +0 -97
  1845. package/dist/src/utils/settings/mdm/settings.js +0 -254
  1846. package/dist/src/utils/settings/permissionValidation.js +0 -224
  1847. package/dist/src/utils/settings/pluginOnlyPolicy.js +0 -53
  1848. package/dist/src/utils/settings/schemaOutput.js +0 -7
  1849. package/dist/src/utils/settings/settings.js +0 -791
  1850. package/dist/src/utils/settings/settingsCache.js +0 -47
  1851. package/dist/src/utils/settings/toolValidationConfig.js +0 -76
  1852. package/dist/src/utils/settings/types.js +0 -846
  1853. package/dist/src/utils/settings/validateEditTool.js +0 -34
  1854. package/dist/src/utils/settings/validation.js +0 -192
  1855. package/dist/src/utils/settings/validationTips.js +0 -111
  1856. package/dist/src/utils/shell/bashProvider.js +0 -202
  1857. package/dist/src/utils/shell/outputLimits.js +0 -7
  1858. package/dist/src/utils/shell/powershellDetection.js +0 -96
  1859. package/dist/src/utils/shell/powershellProvider.js +0 -104
  1860. package/dist/src/utils/shell/prefix.js +0 -246
  1861. package/dist/src/utils/shell/readOnlyCommandValidation.js +0 -1776
  1862. package/dist/src/utils/shell/resolveDefaultShell.js +0 -13
  1863. package/dist/src/utils/shell/shellProvider.js +0 -2
  1864. package/dist/src/utils/shell/shellToolUtils.js +0 -21
  1865. package/dist/src/utils/shell/specPrefix.js +0 -198
  1866. package/dist/src/utils/shellConfig.js +0 -136
  1867. package/dist/src/utils/sideQuery.js +0 -195
  1868. package/dist/src/utils/sideQuestion.js +0 -121
  1869. package/dist/src/utils/signal.js +0 -34
  1870. package/dist/src/utils/sinks.js +0 -15
  1871. package/dist/src/utils/skills/skillChangeDetector.js +0 -264
  1872. package/dist/src/utils/slashCommandParsing.js +0 -46
  1873. package/dist/src/utils/sleep.js +0 -72
  1874. package/dist/src/utils/sliceAnsi.js +0 -74
  1875. package/dist/src/utils/slowOperations.js +0 -323
  1876. package/dist/src/utils/standaloneAgent.js +0 -20
  1877. package/dist/src/utils/startupProfiler.js +0 -158
  1878. package/dist/src/utils/staticRender.js +0 -103
  1879. package/dist/src/utils/stats.js +0 -802
  1880. package/dist/src/utils/statsCache.js +0 -330
  1881. package/dist/src/utils/status.js +0 -544
  1882. package/dist/src/utils/statusNoticeDefinitions.js +0 -112
  1883. package/dist/src/utils/statusNoticeHelpers.js +0 -15
  1884. package/dist/src/utils/stream.js +0 -73
  1885. package/dist/src/utils/streamJsonStdoutGuard.js +0 -107
  1886. package/dist/src/utils/streamlinedTransform.js +0 -162
  1887. package/dist/src/utils/stringUtils.js +0 -202
  1888. package/dist/src/utils/subprocessEnv.js +0 -87
  1889. package/dist/src/utils/suggestions/commandSuggestions.js +0 -458
  1890. package/dist/src/utils/suggestions/directoryCompletion.js +0 -191
  1891. package/dist/src/utils/suggestions/shellHistoryCompletion.js +0 -95
  1892. package/dist/src/utils/suggestions/skillUsageTracking.js +0 -50
  1893. package/dist/src/utils/suggestions/slackChannelSuggestions.js +0 -169
  1894. package/dist/src/utils/swarm/It2SetupPrompt.js +0 -386
  1895. package/dist/src/utils/swarm/backends/ITermBackend.js +0 -276
  1896. package/dist/src/utils/swarm/backends/InProcessBackend.js +0 -237
  1897. package/dist/src/utils/swarm/backends/PaneBackendExecutor.js +0 -250
  1898. package/dist/src/utils/swarm/backends/TmuxBackend.js +0 -574
  1899. package/dist/src/utils/swarm/backends/detection.js +0 -112
  1900. package/dist/src/utils/swarm/backends/it2Setup.js +0 -185
  1901. package/dist/src/utils/swarm/backends/registry.js +0 -369
  1902. package/dist/src/utils/swarm/backends/teammateModeSnapshot.js +0 -68
  1903. package/dist/src/utils/swarm/backends/types.js +0 -9
  1904. package/dist/src/utils/swarm/constants.js +0 -29
  1905. package/dist/src/utils/swarm/inProcessRunner.js +0 -1021
  1906. package/dist/src/utils/swarm/leaderPermissionBridge.js +0 -31
  1907. package/dist/src/utils/swarm/permissionSync.js +0 -667
  1908. package/dist/src/utils/swarm/reconnection.js +0 -82
  1909. package/dist/src/utils/swarm/spawnInProcess.js +0 -218
  1910. package/dist/src/utils/swarm/spawnUtils.js +0 -123
  1911. package/dist/src/utils/swarm/teamHelpers.js +0 -484
  1912. package/dist/src/utils/swarm/teammateInit.js +0 -87
  1913. package/dist/src/utils/swarm/teammateLayoutManager.js +0 -82
  1914. package/dist/src/utils/swarm/teammateModel.js +0 -9
  1915. package/dist/src/utils/swarm/teammatePromptAddendum.js +0 -17
  1916. package/dist/src/utils/systemDirectories.js +0 -51
  1917. package/dist/src/utils/systemPrompt.js +0 -90
  1918. package/dist/src/utils/systemPromptType.js +0 -9
  1919. package/dist/src/utils/systemTheme.js +0 -108
  1920. package/dist/src/utils/systemThemeWatcher.js +0 -16
  1921. package/dist/src/utils/taggedId.js +0 -49
  1922. package/dist/src/utils/task/TaskOutput.js +0 -320
  1923. package/dist/src/utils/task/diskOutput.js +0 -387
  1924. package/dist/src/utils/task/framework.js +0 -236
  1925. package/dist/src/utils/task/outputFormatting.js +0 -24
  1926. package/dist/src/utils/task/sdkProgress.js +0 -24
  1927. package/dist/src/utils/tasks.js +0 -672
  1928. package/dist/src/utils/teamDiscovery.js +0 -48
  1929. package/dist/src/utils/teamMemoryOps.js +0 -67
  1930. package/dist/src/utils/teammate.js +0 -237
  1931. package/dist/src/utils/teammateContext.js +0 -56
  1932. package/dist/src/utils/teammateMailbox.js +0 -793
  1933. package/dist/src/utils/telemetry/betaSessionTracing.js +0 -371
  1934. package/dist/src/utils/telemetry/bigqueryExporter.js +0 -178
  1935. package/dist/src/utils/telemetry/events.js +0 -57
  1936. package/dist/src/utils/telemetry/instrumentation.js +0 -617
  1937. package/dist/src/utils/telemetry/logger.js +0 -25
  1938. package/dist/src/utils/telemetry/perfettoTracing.js +0 -882
  1939. package/dist/src/utils/telemetry/pluginTelemetry.js +0 -157
  1940. package/dist/src/utils/telemetry/sessionTracing.js +0 -693
  1941. package/dist/src/utils/telemetry/skillLoadedEvent.js +0 -26
  1942. package/dist/src/utils/telemetryAttributes.js +0 -57
  1943. package/dist/src/utils/teleport/api.js +0 -299
  1944. package/dist/src/utils/teleport/environmentSelection.js +0 -55
  1945. package/dist/src/utils/teleport/environments.js +0 -84
  1946. package/dist/src/utils/teleport/gitBundle.js +0 -192
  1947. package/dist/src/utils/teleport.js +0 -1041
  1948. package/dist/src/utils/tempfile.js +0 -26
  1949. package/dist/src/utils/terminal.js +0 -105
  1950. package/dist/src/utils/terminalPanel.js +0 -155
  1951. package/dist/src/utils/textHighlighting.js +0 -113
  1952. package/dist/src/utils/theme.js +0 -525
  1953. package/dist/src/utils/thinking.js +0 -130
  1954. package/dist/src/utils/timeouts.js +0 -35
  1955. package/dist/src/utils/tmuxSocket.js +0 -373
  1956. package/dist/src/utils/todo/types.js +0 -9
  1957. package/dist/src/utils/tokenBudget.js +0 -62
  1958. package/dist/src/utils/tokens.js +0 -223
  1959. package/dist/src/utils/toolErrors.js +0 -101
  1960. package/dist/src/utils/toolPool.js +0 -63
  1961. package/dist/src/utils/toolResultStorage.js +0 -769
  1962. package/dist/src/utils/toolSchemaCache.js +0 -7
  1963. package/dist/src/utils/toolSearch.js +0 -551
  1964. package/dist/src/utils/transcriptSearch.js +0 -200
  1965. package/dist/src/utils/treeify.js +0 -111
  1966. package/dist/src/utils/truncate.js +0 -164
  1967. package/dist/src/utils/udsClient.js +0 -16
  1968. package/dist/src/utils/udsMessaging.js +0 -16
  1969. package/dist/src/utils/ultraplan/ccrSession.js +0 -264
  1970. package/dist/src/utils/ultraplan/keyword.js +0 -122
  1971. package/dist/src/utils/ultraplan/prompt.txt +0 -1
  1972. package/dist/src/utils/unaryLogging.js +0 -16
  1973. package/dist/src/utils/undercover.js +0 -89
  1974. package/dist/src/utils/user.js +0 -138
  1975. package/dist/src/utils/userAgent.js +0 -13
  1976. package/dist/src/utils/userPromptKeywords.js +0 -21
  1977. package/dist/src/utils/uuid.js +0 -22
  1978. package/dist/src/utils/warningHandler.js +0 -97
  1979. package/dist/src/utils/which.js +0 -75
  1980. package/dist/src/utils/windowsPaths.js +0 -146
  1981. package/dist/src/utils/withResolvers.js +0 -13
  1982. package/dist/src/utils/words.js +0 -793
  1983. package/dist/src/utils/workloadContext.js +0 -42
  1984. package/dist/src/utils/worktree.js +0 -1142
  1985. package/dist/src/utils/worktreeModeEnabled.js +0 -11
  1986. package/dist/src/utils/xdg.js +0 -52
  1987. package/dist/src/utils/xml.js +0 -15
  1988. package/dist/src/utils/yaml.js +0 -16
  1989. package/dist/src/utils/zodToJsonSchema.js +0 -19
  1990. package/dist/src/vim/motions.js +0 -73
  1991. package/dist/src/vim/operators.js +0 -401
  1992. package/dist/src/vim/textObjects.js +0 -153
  1993. package/dist/src/vim/transitions.js +0 -340
  1994. package/dist/src/vim/types.js +0 -93
  1995. package/dist/src/voice/voiceModeEnabled.js +0 -48
  1996. package/dist/src/whatsapp/bridge.js +0 -267
  1997. package/dist/src/whatsapp/config.js +0 -128
  1998. package/dist/src/whatsapp/markdown.js +0 -37
  1999. package/dist/src/whatsapp/mirror.js +0 -74
  2000. package/dist/src/whatsapp/session.js +0 -142
@@ -1,507 +0,0 @@
1
- import { getSdkAgentProgressSummariesEnabled } from '../../bootstrap/state.js';
2
- import { OUTPUT_FILE_TAG, STATUS_TAG, SUMMARY_TAG, TASK_ID_TAG, TASK_NOTIFICATION_TAG, TOOL_USE_ID_TAG, WORKTREE_BRANCH_TAG, WORKTREE_PATH_TAG, WORKTREE_TAG } from '../../constants/xml.js';
3
- import { abortSpeculation } from '../../services/PromptSuggestion/speculation.js';
4
- import { createTaskStateBase } from '../../Task.js';
5
- import { findToolByName } from '../../Tool.js';
6
- import { SYNTHETIC_OUTPUT_TOOL_NAME } from '../../tools/SyntheticOutputTool/SyntheticOutputTool.js';
7
- import { asAgentId } from '../../types/ids.js';
8
- import { createAbortController, createChildAbortController } from '../../utils/abortController.js';
9
- import { registerCleanup } from '../../utils/cleanupRegistry.js';
10
- import { getToolSearchOrReadInfo } from '../../utils/collapseReadSearch.js';
11
- import { enqueuePendingNotification } from '../../utils/messageQueueManager.js';
12
- import { getAgentTranscriptPath } from '../../utils/sessionStorage.js';
13
- import { evictTaskOutput, getTaskOutputPath, initTaskOutputAsSymlink } from '../../utils/task/diskOutput.js';
14
- import { PANEL_GRACE_MS, registerTask, updateTaskState } from '../../utils/task/framework.js';
15
- import { emitTaskProgress } from '../../utils/task/sdkProgress.js';
16
- const MAX_RECENT_ACTIVITIES = 5;
17
- export function createProgressTracker() {
18
- return {
19
- toolUseCount: 0,
20
- latestInputTokens: 0,
21
- cumulativeOutputTokens: 0,
22
- recentActivities: []
23
- };
24
- }
25
- export function getTokenCountFromTracker(tracker) {
26
- return tracker.latestInputTokens + tracker.cumulativeOutputTokens;
27
- }
28
- export function updateProgressFromMessage(tracker, message, resolveActivityDescription, tools) {
29
- if (message.type !== 'assistant') {
30
- return;
31
- }
32
- const usage = message.message.usage;
33
- // Keep latest input (it's cumulative in the API), sum outputs
34
- tracker.latestInputTokens = usage.input_tokens + (usage.cache_creation_input_tokens ?? 0) + (usage.cache_read_input_tokens ?? 0);
35
- tracker.cumulativeOutputTokens += usage.output_tokens;
36
- for (const content of message.message.content) {
37
- if (content.type === 'tool_use') {
38
- tracker.toolUseCount++;
39
- // Omit StructuredOutput from preview - it's an internal tool
40
- if (content.name !== SYNTHETIC_OUTPUT_TOOL_NAME) {
41
- const input = content.input;
42
- const classification = tools ? getToolSearchOrReadInfo(content.name, input, tools) : undefined;
43
- tracker.recentActivities.push({
44
- toolName: content.name,
45
- input,
46
- activityDescription: resolveActivityDescription?.(content.name, input),
47
- isSearch: classification?.isSearch,
48
- isRead: classification?.isRead
49
- });
50
- }
51
- }
52
- }
53
- while (tracker.recentActivities.length > MAX_RECENT_ACTIVITIES) {
54
- tracker.recentActivities.shift();
55
- }
56
- }
57
- export function getProgressUpdate(tracker) {
58
- return {
59
- toolUseCount: tracker.toolUseCount,
60
- tokenCount: getTokenCountFromTracker(tracker),
61
- lastActivity: tracker.recentActivities.length > 0 ? tracker.recentActivities[tracker.recentActivities.length - 1] : undefined,
62
- recentActivities: [...tracker.recentActivities]
63
- };
64
- }
65
- /**
66
- * Creates an ActivityDescriptionResolver from a tools list.
67
- * Looks up the tool by name and calls getActivityDescription if available.
68
- */
69
- export function createActivityDescriptionResolver(tools) {
70
- return (toolName, input) => {
71
- const tool = findToolByName(tools, toolName);
72
- return tool?.getActivityDescription?.(input) ?? undefined;
73
- };
74
- }
75
- export function isLocalAgentTask(task) {
76
- return typeof task === 'object' && task !== null && 'type' in task && task.type === 'local_agent';
77
- }
78
- /**
79
- * A local_agent task that the CoordinatorTaskPanel manages (not main-session).
80
- * For ants, these render in the panel instead of the background-task pill.
81
- * This is the ONE predicate that all pill/panel filters must agree on — if
82
- * the gate changes, change it here.
83
- */
84
- export function isPanelAgentTask(t) {
85
- return isLocalAgentTask(t) && t.agentType !== 'main-session';
86
- }
87
- export function queuePendingMessage(taskId, msg, setAppState) {
88
- updateTaskState(taskId, setAppState, task => ({
89
- ...task,
90
- pendingMessages: [...task.pendingMessages, msg]
91
- }));
92
- }
93
- /**
94
- * Append a message to task.messages so it appears in the viewed transcript
95
- * immediately. Caller constructs the Message (breaks the messages.ts cycle).
96
- * queuePendingMessage and resumeAgentBackground route the prompt to the
97
- * agent's API input but don't touch the display.
98
- */
99
- export function appendMessageToLocalAgent(taskId, message, setAppState) {
100
- updateTaskState(taskId, setAppState, task => ({
101
- ...task,
102
- messages: [...(task.messages ?? []), message]
103
- }));
104
- }
105
- export function drainPendingMessages(taskId, getAppState, setAppState) {
106
- const task = getAppState().tasks[taskId];
107
- if (!isLocalAgentTask(task) || task.pendingMessages.length === 0) {
108
- return [];
109
- }
110
- const drained = task.pendingMessages;
111
- updateTaskState(taskId, setAppState, t => ({
112
- ...t,
113
- pendingMessages: []
114
- }));
115
- return drained;
116
- }
117
- /**
118
- * Enqueue an agent notification to the message queue.
119
- */
120
- export function enqueueAgentNotification({ taskId, description, status, error, setAppState, finalMessage, usage, toolUseId, worktreePath, worktreeBranch }) {
121
- // Atomically check and set notified flag to prevent duplicate notifications.
122
- // If the task was already marked as notified (e.g., by TaskStopTool), skip
123
- // enqueueing to avoid sending redundant messages to the model.
124
- let shouldEnqueue = false;
125
- updateTaskState(taskId, setAppState, task => {
126
- if (task.notified) {
127
- return task;
128
- }
129
- shouldEnqueue = true;
130
- return {
131
- ...task,
132
- notified: true
133
- };
134
- });
135
- if (!shouldEnqueue) {
136
- return;
137
- }
138
- // Abort any active speculation — background task state changed, so speculated
139
- // results may reference stale task output. The prompt suggestion text is
140
- // preserved; only the pre-computed response is discarded.
141
- abortSpeculation(setAppState);
142
- const summary = status === 'completed' ? `Agent "${description}" completed` : status === 'failed' ? `Agent "${description}" failed: ${error || 'Unknown error'}` : `Agent "${description}" was stopped`;
143
- const outputPath = getTaskOutputPath(taskId);
144
- const toolUseIdLine = toolUseId ? `\n<${TOOL_USE_ID_TAG}>${toolUseId}</${TOOL_USE_ID_TAG}>` : '';
145
- const resultSection = finalMessage ? `\n<result>${finalMessage}</result>` : '';
146
- const usageSection = usage ? `\n<usage><total_tokens>${usage.totalTokens}</total_tokens><tool_uses>${usage.toolUses}</tool_uses><duration_ms>${usage.durationMs}</duration_ms></usage>` : '';
147
- const worktreeSection = worktreePath ? `\n<${WORKTREE_TAG}><${WORKTREE_PATH_TAG}>${worktreePath}</${WORKTREE_PATH_TAG}>${worktreeBranch ? `<${WORKTREE_BRANCH_TAG}>${worktreeBranch}</${WORKTREE_BRANCH_TAG}>` : ''}</${WORKTREE_TAG}>` : '';
148
- const message = `<${TASK_NOTIFICATION_TAG}>
149
- <${TASK_ID_TAG}>${taskId}</${TASK_ID_TAG}>${toolUseIdLine}
150
- <${OUTPUT_FILE_TAG}>${outputPath}</${OUTPUT_FILE_TAG}>
151
- <${STATUS_TAG}>${status}</${STATUS_TAG}>
152
- <${SUMMARY_TAG}>${summary}</${SUMMARY_TAG}>${resultSection}${usageSection}${worktreeSection}
153
- </${TASK_NOTIFICATION_TAG}>`;
154
- enqueuePendingNotification({
155
- value: message,
156
- mode: 'task-notification'
157
- });
158
- }
159
- /**
160
- * LocalAgentTask - Handles background agent execution.
161
- *
162
- * Replaces the AsyncAgent implementation from src/tools/AgentTool/asyncAgentUtils.ts
163
- * with a unified Task interface.
164
- */
165
- export const LocalAgentTask = {
166
- name: 'LocalAgentTask',
167
- type: 'local_agent',
168
- async kill(taskId, setAppState) {
169
- killAsyncAgent(taskId, setAppState);
170
- }
171
- };
172
- /**
173
- * Kill an agent task. No-op if already killed/completed.
174
- */
175
- export function killAsyncAgent(taskId, setAppState) {
176
- let killed = false;
177
- updateTaskState(taskId, setAppState, task => {
178
- if (task.status !== 'running') {
179
- return task;
180
- }
181
- killed = true;
182
- task.abortController?.abort();
183
- task.unregisterCleanup?.();
184
- return {
185
- ...task,
186
- status: 'killed',
187
- endTime: Date.now(),
188
- evictAfter: task.retain ? undefined : Date.now() + PANEL_GRACE_MS,
189
- abortController: undefined,
190
- unregisterCleanup: undefined,
191
- selectedAgent: undefined
192
- };
193
- });
194
- if (killed) {
195
- void evictTaskOutput(taskId);
196
- }
197
- }
198
- /**
199
- * Kill all running agent tasks.
200
- * Used by ESC cancellation in coordinator mode to stop all subagents.
201
- */
202
- export function killAllRunningAgentTasks(tasks, setAppState) {
203
- for (const [taskId, task] of Object.entries(tasks)) {
204
- if (task.type === 'local_agent' && task.status === 'running') {
205
- killAsyncAgent(taskId, setAppState);
206
- }
207
- }
208
- }
209
- /**
210
- * Mark a task as notified without enqueueing a notification.
211
- * Used by chat:killAgents bulk kill to suppress per-agent async notifications
212
- * when a single aggregate message is sent instead.
213
- */
214
- export function markAgentsNotified(taskId, setAppState) {
215
- updateTaskState(taskId, setAppState, task => {
216
- if (task.notified) {
217
- return task;
218
- }
219
- return {
220
- ...task,
221
- notified: true
222
- };
223
- });
224
- }
225
- /**
226
- * Update progress for an agent task.
227
- * Preserves the existing summary field so that background summarization
228
- * results are not clobbered by progress updates from assistant messages.
229
- */
230
- export function updateAgentProgress(taskId, progress, setAppState) {
231
- updateTaskState(taskId, setAppState, task => {
232
- if (task.status !== 'running') {
233
- return task;
234
- }
235
- const existingSummary = task.progress?.summary;
236
- return {
237
- ...task,
238
- progress: existingSummary ? {
239
- ...progress,
240
- summary: existingSummary
241
- } : progress
242
- };
243
- });
244
- }
245
- /**
246
- * Update the background summary for an agent task.
247
- * Called by the periodic summarization service to store a 1-2 sentence progress summary.
248
- */
249
- export function updateAgentSummary(taskId, summary, setAppState) {
250
- let captured = null;
251
- updateTaskState(taskId, setAppState, task => {
252
- if (task.status !== 'running') {
253
- return task;
254
- }
255
- captured = {
256
- tokenCount: task.progress?.tokenCount ?? 0,
257
- toolUseCount: task.progress?.toolUseCount ?? 0,
258
- startTime: task.startTime,
259
- toolUseId: task.toolUseId
260
- };
261
- return {
262
- ...task,
263
- progress: {
264
- ...task.progress,
265
- toolUseCount: task.progress?.toolUseCount ?? 0,
266
- tokenCount: task.progress?.tokenCount ?? 0,
267
- summary
268
- }
269
- };
270
- });
271
- // Emit summary to SDK consumers (e.g. VS Code subagent panel). No-op in TUI.
272
- // Gate on the SDK option so coordinator-mode sessions without the flag don't
273
- // leak summary events to consumers who didn't opt in.
274
- if (captured && getSdkAgentProgressSummariesEnabled()) {
275
- const { tokenCount, toolUseCount, startTime, toolUseId } = captured;
276
- emitTaskProgress({
277
- taskId,
278
- toolUseId,
279
- description: summary,
280
- startTime,
281
- totalTokens: tokenCount,
282
- toolUses: toolUseCount,
283
- summary
284
- });
285
- }
286
- }
287
- /**
288
- * Complete an agent task with result.
289
- */
290
- export function completeAgentTask(result, setAppState) {
291
- const taskId = result.agentId;
292
- updateTaskState(taskId, setAppState, task => {
293
- if (task.status !== 'running') {
294
- return task;
295
- }
296
- task.unregisterCleanup?.();
297
- return {
298
- ...task,
299
- status: 'completed',
300
- result,
301
- endTime: Date.now(),
302
- evictAfter: task.retain ? undefined : Date.now() + PANEL_GRACE_MS,
303
- abortController: undefined,
304
- unregisterCleanup: undefined,
305
- selectedAgent: undefined
306
- };
307
- });
308
- void evictTaskOutput(taskId);
309
- // Note: Notification is sent by AgentTool via enqueueAgentNotification
310
- }
311
- /**
312
- * Fail an agent task with error.
313
- */
314
- export function failAgentTask(taskId, error, setAppState) {
315
- updateTaskState(taskId, setAppState, task => {
316
- if (task.status !== 'running') {
317
- return task;
318
- }
319
- task.unregisterCleanup?.();
320
- return {
321
- ...task,
322
- status: 'failed',
323
- error,
324
- endTime: Date.now(),
325
- evictAfter: task.retain ? undefined : Date.now() + PANEL_GRACE_MS,
326
- abortController: undefined,
327
- unregisterCleanup: undefined,
328
- selectedAgent: undefined
329
- };
330
- });
331
- void evictTaskOutput(taskId);
332
- // Note: Notification is sent by AgentTool via enqueueAgentNotification
333
- }
334
- /**
335
- * Register an agent task.
336
- * Called by AgentTool to create a new background agent.
337
- *
338
- * @param parentAbortController - Optional parent abort controller. If provided,
339
- * the agent's abort controller will be a child that auto-aborts when parent aborts.
340
- * This ensures subagents are aborted when their parent (e.g., in-process teammate) aborts.
341
- */
342
- export function registerAsyncAgent({ agentId, description, prompt, selectedAgent, setAppState, parentAbortController, toolUseId }) {
343
- void initTaskOutputAsSymlink(agentId, getAgentTranscriptPath(asAgentId(agentId)));
344
- // Create abort controller - if parent provided, create child that auto-aborts with parent
345
- const abortController = parentAbortController ? createChildAbortController(parentAbortController) : createAbortController();
346
- const taskState = {
347
- ...createTaskStateBase(agentId, 'local_agent', description, toolUseId),
348
- type: 'local_agent',
349
- status: 'running',
350
- agentId,
351
- prompt,
352
- selectedAgent,
353
- agentType: selectedAgent.agentType ?? 'general-purpose',
354
- abortController,
355
- retrieved: false,
356
- lastReportedToolCount: 0,
357
- lastReportedTokenCount: 0,
358
- isBackgrounded: true,
359
- // registerAsyncAgent immediately backgrounds
360
- pendingMessages: [],
361
- retain: false,
362
- diskLoaded: false
363
- };
364
- // Register cleanup handler
365
- const unregisterCleanup = registerCleanup(async () => {
366
- killAsyncAgent(agentId, setAppState);
367
- });
368
- taskState.unregisterCleanup = unregisterCleanup;
369
- // Register task in AppState
370
- registerTask(taskState, setAppState);
371
- return taskState;
372
- }
373
- // Map of taskId -> resolve function for background signals
374
- // When backgroundAgentTask is called, it resolves the corresponding promise
375
- const backgroundSignalResolvers = new Map();
376
- /**
377
- * Register a foreground agent task that could be backgrounded later.
378
- * Called when an agent has been running long enough to show the BackgroundHint.
379
- * @returns object with taskId and backgroundSignal promise
380
- */
381
- export function registerAgentForeground({ agentId, description, prompt, selectedAgent, setAppState, autoBackgroundMs, toolUseId }) {
382
- void initTaskOutputAsSymlink(agentId, getAgentTranscriptPath(asAgentId(agentId)));
383
- const abortController = createAbortController();
384
- const unregisterCleanup = registerCleanup(async () => {
385
- killAsyncAgent(agentId, setAppState);
386
- });
387
- const taskState = {
388
- ...createTaskStateBase(agentId, 'local_agent', description, toolUseId),
389
- type: 'local_agent',
390
- status: 'running',
391
- agentId,
392
- prompt,
393
- selectedAgent,
394
- agentType: selectedAgent.agentType ?? 'general-purpose',
395
- abortController,
396
- unregisterCleanup,
397
- retrieved: false,
398
- lastReportedToolCount: 0,
399
- lastReportedTokenCount: 0,
400
- isBackgrounded: false,
401
- // Not yet backgrounded - running in foreground
402
- pendingMessages: [],
403
- retain: false,
404
- diskLoaded: false
405
- };
406
- // Create background signal promise
407
- let resolveBackgroundSignal;
408
- const backgroundSignal = new Promise(resolve => {
409
- resolveBackgroundSignal = resolve;
410
- });
411
- backgroundSignalResolvers.set(agentId, resolveBackgroundSignal);
412
- registerTask(taskState, setAppState);
413
- // Auto-background after timeout if configured
414
- let cancelAutoBackground;
415
- if (autoBackgroundMs !== undefined && autoBackgroundMs > 0) {
416
- const timer = setTimeout((setAppState, agentId) => {
417
- // Mark task as backgrounded and resolve the signal
418
- setAppState(prev => {
419
- const prevTask = prev.tasks[agentId];
420
- if (!isLocalAgentTask(prevTask) || prevTask.isBackgrounded) {
421
- return prev;
422
- }
423
- return {
424
- ...prev,
425
- tasks: {
426
- ...prev.tasks,
427
- [agentId]: {
428
- ...prevTask,
429
- isBackgrounded: true
430
- }
431
- }
432
- };
433
- });
434
- const resolver = backgroundSignalResolvers.get(agentId);
435
- if (resolver) {
436
- resolver();
437
- backgroundSignalResolvers.delete(agentId);
438
- }
439
- }, autoBackgroundMs, setAppState, agentId);
440
- cancelAutoBackground = () => clearTimeout(timer);
441
- }
442
- return {
443
- taskId: agentId,
444
- backgroundSignal,
445
- cancelAutoBackground
446
- };
447
- }
448
- /**
449
- * Background a specific foreground agent task.
450
- * @returns true if backgrounded successfully, false otherwise
451
- */
452
- export function backgroundAgentTask(taskId, getAppState, setAppState) {
453
- const state = getAppState();
454
- const task = state.tasks[taskId];
455
- if (!isLocalAgentTask(task) || task.isBackgrounded) {
456
- return false;
457
- }
458
- // Update state to mark as backgrounded
459
- setAppState(prev => {
460
- const prevTask = prev.tasks[taskId];
461
- if (!isLocalAgentTask(prevTask)) {
462
- return prev;
463
- }
464
- return {
465
- ...prev,
466
- tasks: {
467
- ...prev.tasks,
468
- [taskId]: {
469
- ...prevTask,
470
- isBackgrounded: true
471
- }
472
- }
473
- };
474
- });
475
- // Resolve the background signal to interrupt the agent loop
476
- const resolver = backgroundSignalResolvers.get(taskId);
477
- if (resolver) {
478
- resolver();
479
- backgroundSignalResolvers.delete(taskId);
480
- }
481
- return true;
482
- }
483
- /**
484
- * Unregister a foreground agent task when the agent completes without being backgrounded.
485
- */
486
- export function unregisterAgentForeground(taskId, setAppState) {
487
- // Clean up the background signal resolver
488
- backgroundSignalResolvers.delete(taskId);
489
- let cleanupFn;
490
- setAppState(prev => {
491
- const task = prev.tasks[taskId];
492
- // Only remove if it's a foreground task (not backgrounded)
493
- if (!isLocalAgentTask(task) || task.isBackgrounded) {
494
- return prev;
495
- }
496
- // Capture cleanup function to call outside of updater
497
- cleanupFn = task.unregisterCleanup;
498
- const { [taskId]: removed, ...rest } = prev.tasks;
499
- return {
500
- ...prev,
501
- tasks: rest
502
- };
503
- });
504
- // Call cleanup outside of the state updater (avoid side effects in updater)
505
- cleanupFn?.();
506
- }
507
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRTZGtBZ2VudFByb2dyZXNzU3VtbWFyaWVzRW5hYmxlZCIsIk9VVFBVVF9GSUxFX1RBRyIsIlNUQVRVU19UQUciLCJTVU1NQVJZX1RBRyIsIlRBU0tfSURfVEFHIiwiVEFTS19OT1RJRklDQVRJT05fVEFHIiwiVE9PTF9VU0VfSURfVEFHIiwiV09SS1RSRUVfQlJBTkNIX1RBRyIsIldPUktUUkVFX1BBVEhfVEFHIiwiV09SS1RSRUVfVEFHIiwiYWJvcnRTcGVjdWxhdGlvbiIsIkFwcFN0YXRlIiwiU2V0QXBwU3RhdGUiLCJUYXNrIiwiVGFza1N0YXRlQmFzZSIsImNyZWF0ZVRhc2tTdGF0ZUJhc2UiLCJUb29scyIsImZpbmRUb29sQnlOYW1lIiwiQWdlbnRUb29sUmVzdWx0IiwiQWdlbnREZWZpbml0aW9uIiwiU1lOVEhFVElDX09VVFBVVF9UT09MX05BTUUiLCJhc0FnZW50SWQiLCJNZXNzYWdlIiwiY3JlYXRlQWJvcnRDb250cm9sbGVyIiwiY3JlYXRlQ2hpbGRBYm9ydENvbnRyb2xsZXIiLCJyZWdpc3RlckNsZWFudXAiLCJnZXRUb29sU2VhcmNoT3JSZWFkSW5mbyIsImVucXVldWVQZW5kaW5nTm90aWZpY2F0aW9uIiwiZ2V0QWdlbnRUcmFuc2NyaXB0UGF0aCIsImV2aWN0VGFza091dHB1dCIsImdldFRhc2tPdXRwdXRQYXRoIiwiaW5pdFRhc2tPdXRwdXRBc1N5bWxpbmsiLCJQQU5FTF9HUkFDRV9NUyIsInJlZ2lzdGVyVGFzayIsInVwZGF0ZVRhc2tTdGF0ZSIsImVtaXRUYXNrUHJvZ3Jlc3MiLCJUYXNrU3RhdGUiLCJUb29sQWN0aXZpdHkiLCJ0b29sTmFtZSIsImlucHV0IiwiUmVjb3JkIiwiYWN0aXZpdHlEZXNjcmlwdGlvbiIsImlzU2VhcmNoIiwiaXNSZWFkIiwiQWdlbnRQcm9ncmVzcyIsInRvb2xVc2VDb3VudCIsInRva2VuQ291bnQiLCJsYXN0QWN0aXZpdHkiLCJyZWNlbnRBY3Rpdml0aWVzIiwic3VtbWFyeSIsIk1BWF9SRUNFTlRfQUNUSVZJVElFUyIsIlByb2dyZXNzVHJhY2tlciIsImxhdGVzdElucHV0VG9rZW5zIiwiY3VtdWxhdGl2ZU91dHB1dFRva2VucyIsImNyZWF0ZVByb2dyZXNzVHJhY2tlciIsImdldFRva2VuQ291bnRGcm9tVHJhY2tlciIsInRyYWNrZXIiLCJBY3Rpdml0eURlc2NyaXB0aW9uUmVzb2x2ZXIiLCJ1cGRhdGVQcm9ncmVzc0Zyb21NZXNzYWdlIiwibWVzc2FnZSIsInJlc29sdmVBY3Rpdml0eURlc2NyaXB0aW9uIiwidG9vbHMiLCJ0eXBlIiwidXNhZ2UiLCJpbnB1dF90b2tlbnMiLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyIsIm91dHB1dF90b2tlbnMiLCJjb250ZW50IiwibmFtZSIsImNsYXNzaWZpY2F0aW9uIiwidW5kZWZpbmVkIiwicHVzaCIsImxlbmd0aCIsInNoaWZ0IiwiZ2V0UHJvZ3Jlc3NVcGRhdGUiLCJjcmVhdGVBY3Rpdml0eURlc2NyaXB0aW9uUmVzb2x2ZXIiLCJ0b29sIiwiZ2V0QWN0aXZpdHlEZXNjcmlwdGlvbiIsIkxvY2FsQWdlbnRUYXNrU3RhdGUiLCJhZ2VudElkIiwicHJvbXB0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50VHlwZSIsIm1vZGVsIiwiYWJvcnRDb250cm9sbGVyIiwiQWJvcnRDb250cm9sbGVyIiwidW5yZWdpc3RlckNsZWFudXAiLCJlcnJvciIsInJlc3VsdCIsInByb2dyZXNzIiwicmV0cmlldmVkIiwibWVzc2FnZXMiLCJsYXN0UmVwb3J0ZWRUb29sQ291bnQiLCJsYXN0UmVwb3J0ZWRUb2tlbkNvdW50IiwiaXNCYWNrZ3JvdW5kZWQiLCJwZW5kaW5nTWVzc2FnZXMiLCJyZXRhaW4iLCJkaXNrTG9hZGVkIiwiZXZpY3RBZnRlciIsImlzTG9jYWxBZ2VudFRhc2siLCJ0YXNrIiwiaXNQYW5lbEFnZW50VGFzayIsInQiLCJxdWV1ZVBlbmRpbmdNZXNzYWdlIiwidGFza0lkIiwibXNnIiwic2V0QXBwU3RhdGUiLCJmIiwicHJldiIsImFwcGVuZE1lc3NhZ2VUb0xvY2FsQWdlbnQiLCJkcmFpblBlbmRpbmdNZXNzYWdlcyIsImdldEFwcFN0YXRlIiwidGFza3MiLCJkcmFpbmVkIiwiZW5xdWV1ZUFnZW50Tm90aWZpY2F0aW9uIiwiZGVzY3JpcHRpb24iLCJzdGF0dXMiLCJmaW5hbE1lc3NhZ2UiLCJ0b29sVXNlSWQiLCJ3b3JrdHJlZVBhdGgiLCJ3b3JrdHJlZUJyYW5jaCIsInRvdGFsVG9rZW5zIiwidG9vbFVzZXMiLCJkdXJhdGlvbk1zIiwic2hvdWxkRW5xdWV1ZSIsIm5vdGlmaWVkIiwib3V0cHV0UGF0aCIsInRvb2xVc2VJZExpbmUiLCJyZXN1bHRTZWN0aW9uIiwidXNhZ2VTZWN0aW9uIiwid29ya3RyZWVTZWN0aW9uIiwidmFsdWUiLCJtb2RlIiwiTG9jYWxBZ2VudFRhc2siLCJraWxsIiwia2lsbEFzeW5jQWdlbnQiLCJraWxsZWQiLCJhYm9ydCIsImVuZFRpbWUiLCJEYXRlIiwibm93Iiwia2lsbEFsbFJ1bm5pbmdBZ2VudFRhc2tzIiwiT2JqZWN0IiwiZW50cmllcyIsIm1hcmtBZ2VudHNOb3RpZmllZCIsInVwZGF0ZUFnZW50UHJvZ3Jlc3MiLCJleGlzdGluZ1N1bW1hcnkiLCJ1cGRhdGVBZ2VudFN1bW1hcnkiLCJjYXB0dXJlZCIsInN0YXJ0VGltZSIsImNvbXBsZXRlQWdlbnRUYXNrIiwiZmFpbEFnZW50VGFzayIsInJlZ2lzdGVyQXN5bmNBZ2VudCIsInBhcmVudEFib3J0Q29udHJvbGxlciIsInRhc2tTdGF0ZSIsImJhY2tncm91bmRTaWduYWxSZXNvbHZlcnMiLCJNYXAiLCJyZWdpc3RlckFnZW50Rm9yZWdyb3VuZCIsImF1dG9CYWNrZ3JvdW5kTXMiLCJiYWNrZ3JvdW5kU2lnbmFsIiwiUHJvbWlzZSIsImNhbmNlbEF1dG9CYWNrZ3JvdW5kIiwicmVzb2x2ZUJhY2tncm91bmRTaWduYWwiLCJyZXNvbHZlIiwic2V0IiwidGltZXIiLCJzZXRUaW1lb3V0IiwicHJldlRhc2siLCJyZXNvbHZlciIsImdldCIsImRlbGV0ZSIsImNsZWFyVGltZW91dCIsImJhY2tncm91bmRBZ2VudFRhc2siLCJzdGF0ZSIsInVucmVnaXN0ZXJBZ2VudEZvcmVncm91bmQiLCJjbGVhbnVwRm4iLCJyZW1vdmVkIiwicmVzdCJdLCJzb3VyY2VzIjpbIkxvY2FsQWdlbnRUYXNrLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRTZGtBZ2VudFByb2dyZXNzU3VtbWFyaWVzRW5hYmxlZCB9IGZyb20gJy4uLy4uL2Jvb3RzdHJhcC9zdGF0ZS5qcydcbmltcG9ydCB7XG4gIE9VVFBVVF9GSUxFX1RBRyxcbiAgU1RBVFVTX1RBRyxcbiAgU1VNTUFSWV9UQUcsXG4gIFRBU0tfSURfVEFHLFxuICBUQVNLX05PVElGSUNBVElPTl9UQUcsXG4gIFRPT0xfVVNFX0lEX1RBRyxcbiAgV09SS1RSRUVfQlJBTkNIX1RBRyxcbiAgV09SS1RSRUVfUEFUSF9UQUcsXG4gIFdPUktUUkVFX1RBRyxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3htbC5qcydcbmltcG9ydCB7IGFib3J0U3BlY3VsYXRpb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9Qcm9tcHRTdWdnZXN0aW9uL3NwZWN1bGF0aW9uLmpzJ1xuaW1wb3J0IHR5cGUgeyBBcHBTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL0FwcFN0YXRlLmpzJ1xuaW1wb3J0IHR5cGUgeyBTZXRBcHBTdGF0ZSwgVGFzaywgVGFza1N0YXRlQmFzZSB9IGZyb20gJy4uLy4uL1Rhc2suanMnXG5pbXBvcnQgeyBjcmVhdGVUYXNrU3RhdGVCYXNlIH0gZnJvbSAnLi4vLi4vVGFzay5qcydcbmltcG9ydCB0eXBlIHsgVG9vbHMgfSBmcm9tICcuLi8uLi9Ub29sLmpzJ1xuaW1wb3J0IHsgZmluZFRvb2xCeU5hbWUgfSBmcm9tICcuLi8uLi9Ub29sLmpzJ1xuaW1wb3J0IHR5cGUgeyBBZ2VudFRvb2xSZXN1bHQgfSBmcm9tICcuLi8uLi90b29scy9BZ2VudFRvb2wvYWdlbnRUb29sVXRpbHMuanMnXG5pbXBvcnQgdHlwZSB7IEFnZW50RGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL3Rvb2xzL0FnZW50VG9vbC9sb2FkQWdlbnRzRGlyLmpzJ1xuaW1wb3J0IHsgU1lOVEhFVElDX09VVFBVVF9UT09MX05BTUUgfSBmcm9tICcuLi8uLi90b29scy9TeW50aGV0aWNPdXRwdXRUb29sL1N5bnRoZXRpY091dHB1dFRvb2wuanMnXG5pbXBvcnQgeyBhc0FnZW50SWQgfSBmcm9tICcuLi8uLi90eXBlcy9pZHMuanMnXG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2UgfSBmcm9tICcuLi8uLi90eXBlcy9tZXNzYWdlLmpzJ1xuaW1wb3J0IHtcbiAgY3JlYXRlQWJvcnRDb250cm9sbGVyLFxuICBjcmVhdGVDaGlsZEFib3J0Q29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vdXRpbHMvYWJvcnRDb250cm9sbGVyLmpzJ1xuaW1wb3J0IHsgcmVnaXN0ZXJDbGVhbnVwIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xlYW51cFJlZ2lzdHJ5LmpzJ1xuaW1wb3J0IHsgZ2V0VG9vbFNlYXJjaE9yUmVhZEluZm8gfSBmcm9tICcuLi8uLi91dGlscy9jb2xsYXBzZVJlYWRTZWFyY2guanMnXG5pbXBvcnQgeyBlbnF1ZXVlUGVuZGluZ05vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL21lc3NhZ2VRdWV1ZU1hbmFnZXIuanMnXG5pbXBvcnQgeyBnZXRBZ2VudFRyYW5zY3JpcHRQYXRoIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2Vzc2lvblN0b3JhZ2UuanMnXG5pbXBvcnQge1xuICBldmljdFRhc2tPdXRwdXQsXG4gIGdldFRhc2tPdXRwdXRQYXRoLFxuICBpbml0VGFza091dHB1dEFzU3ltbGluayxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvdGFzay9kaXNrT3V0cHV0LmpzJ1xuaW1wb3J0IHtcbiAgUEFORUxfR1JBQ0VfTVMsXG4gIHJlZ2lzdGVyVGFzayxcbiAgdXBkYXRlVGFza1N0YXRlLFxufSBmcm9tICcuLi8uLi91dGlscy90YXNrL2ZyYW1ld29yay5qcydcbmltcG9ydCB7IGVtaXRUYXNrUHJvZ3Jlc3MgfSBmcm9tICcuLi8uLi91dGlscy90YXNrL3Nka1Byb2dyZXNzLmpzJ1xuaW1wb3J0IHR5cGUgeyBUYXNrU3RhdGUgfSBmcm9tICcuLi90eXBlcy5qcydcblxuZXhwb3J0IHR5cGUgVG9vbEFjdGl2aXR5ID0ge1xuICB0b29sTmFtZTogc3RyaW5nXG4gIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAvKiogUHJlLWNvbXB1dGVkIGFjdGl2aXR5IGRlc2NyaXB0aW9uIGZyb20gdGhlIHRvb2wsIGUuZy4gXCJSZWFkaW5nIHNyYy9mb28udHNcIiAqL1xuICBhY3Rpdml0eURlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiBQcmUtY29tcHV0ZWQ6IHRydWUgaWYgdGhpcyBpcyBhIHNlYXJjaCBvcGVyYXRpb24gKEdyZXAsIEdsb2IsIGV0Yy4pICovXG4gIGlzU2VhcmNoPzogYm9vbGVhblxuICAvKiogUHJlLWNvbXB1dGVkOiB0cnVlIGlmIHRoaXMgaXMgYSByZWFkIG9wZXJhdGlvbiAoUmVhZCwgY2F0LCBldGMuKSAqL1xuICBpc1JlYWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEFnZW50UHJvZ3Jlc3MgPSB7XG4gIHRvb2xVc2VDb3VudDogbnVtYmVyXG4gIHRva2VuQ291bnQ6IG51bWJlclxuICBsYXN0QWN0aXZpdHk/OiBUb29sQWN0aXZpdHlcbiAgcmVjZW50QWN0aXZpdGllcz86IFRvb2xBY3Rpdml0eVtdXG4gIHN1bW1hcnk/OiBzdHJpbmdcbn1cblxuY29uc3QgTUFYX1JFQ0VOVF9BQ1RJVklUSUVTID0gNVxuXG5leHBvcnQgdHlwZSBQcm9ncmVzc1RyYWNrZXIgPSB7XG4gIHRvb2xVc2VDb3VudDogbnVtYmVyXG4gIC8vIFRyYWNrIGlucHV0IGFuZCBvdXRwdXQgc2VwYXJhdGVseSB0byBhdm9pZCBkb3VibGUtY291bnRpbmcuXG4gIC8vIGlucHV0X3Rva2VucyBpbiBDbGF1ZGUgQVBJIGlzIGN1bXVsYXRpdmUgcGVyIHR1cm4gKGluY2x1ZGVzIGFsbCBwcmV2aW91cyBjb250ZXh0KSxcbiAgLy8gc28gd2Uga2VlcCB0aGUgbGF0ZXN0IHZhbHVlLiBvdXRwdXRfdG9rZW5zIGlzIHBlci10dXJuLCBzbyB3ZSBzdW0gdGhvc2UuXG4gIGxhdGVzdElucHV0VG9rZW5zOiBudW1iZXJcbiAgY3VtdWxhdGl2ZU91dHB1dFRva2VuczogbnVtYmVyXG4gIHJlY2VudEFjdGl2aXRpZXM6IFRvb2xBY3Rpdml0eVtdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9ncmVzc1RyYWNrZXIoKTogUHJvZ3Jlc3NUcmFja2VyIHtcbiAgcmV0dXJuIHtcbiAgICB0b29sVXNlQ291bnQ6IDAsXG4gICAgbGF0ZXN0SW5wdXRUb2tlbnM6IDAsXG4gICAgY3VtdWxhdGl2ZU91dHB1dFRva2VuczogMCxcbiAgICByZWNlbnRBY3Rpdml0aWVzOiBbXSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9rZW5Db3VudEZyb21UcmFja2VyKHRyYWNrZXI6IFByb2dyZXNzVHJhY2tlcik6IG51bWJlciB7XG4gIHJldHVybiB0cmFja2VyLmxhdGVzdElucHV0VG9rZW5zICsgdHJhY2tlci5jdW11bGF0aXZlT3V0cHV0VG9rZW5zXG59XG5cbi8qKlxuICogUmVzb2x2ZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgaHVtYW4tcmVhZGFibGUgYWN0aXZpdHkgZGVzY3JpcHRpb25cbiAqIGZvciBhIGdpdmVuIHRvb2wgbmFtZSBhbmQgaW5wdXQuIFVzZWQgdG8gcHJlLWNvbXB1dGUgZGVzY3JpcHRpb25zXG4gKiBmcm9tIFRvb2wuZ2V0QWN0aXZpdHlEZXNjcmlwdGlvbigpIGF0IHJlY29yZGluZyB0aW1lLlxuICovXG5leHBvcnQgdHlwZSBBY3Rpdml0eURlc2NyaXB0aW9uUmVzb2x2ZXIgPSAoXG4gIHRvb2xOYW1lOiBzdHJpbmcsXG4gIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbikgPT4gc3RyaW5nIHwgdW5kZWZpbmVkXG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVQcm9ncmVzc0Zyb21NZXNzYWdlKFxuICB0cmFja2VyOiBQcm9ncmVzc1RyYWNrZXIsXG4gIG1lc3NhZ2U6IE1lc3NhZ2UsXG4gIHJlc29sdmVBY3Rpdml0eURlc2NyaXB0aW9uPzogQWN0aXZpdHlEZXNjcmlwdGlvblJlc29sdmVyLFxuICB0b29scz86IFRvb2xzLFxuKTogdm9pZCB7XG4gIGlmIChtZXNzYWdlLnR5cGUgIT09ICdhc3Npc3RhbnQnKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgY29uc3QgdXNhZ2UgPSBtZXNzYWdlLm1lc3NhZ2UudXNhZ2VcbiAgLy8gS2VlcCBsYXRlc3QgaW5wdXQgKGl0J3MgY3VtdWxhdGl2ZSBpbiB0aGUgQVBJKSwgc3VtIG91dHB1dHNcbiAgdHJhY2tlci5sYXRlc3RJbnB1dFRva2VucyA9XG4gICAgdXNhZ2UuaW5wdXRfdG9rZW5zICtcbiAgICAodXNhZ2UuY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zID8/IDApICtcbiAgICAodXNhZ2UuY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMgPz8gMClcbiAgdHJhY2tlci5jdW11bGF0aXZlT3V0cHV0VG9rZW5zICs9IHVzYWdlLm91dHB1dF90b2tlbnNcbiAgZm9yIChjb25zdCBjb250ZW50IG9mIG1lc3NhZ2UubWVzc2FnZS5jb250ZW50KSB7XG4gICAgaWYgKGNvbnRlbnQudHlwZSA9PT0gJ3Rvb2xfdXNlJykge1xuICAgICAgdHJhY2tlci50b29sVXNlQ291bnQrK1xuICAgICAgLy8gT21pdCBTdHJ1Y3R1cmVkT3V0cHV0IGZyb20gcHJldmlldyAtIGl0J3MgYW4gaW50ZXJuYWwgdG9vbFxuICAgICAgaWYgKGNvbnRlbnQubmFtZSAhPT0gU1lOVEhFVElDX09VVFBVVF9UT09MX05BTUUpIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBjb250ZW50LmlucHV0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgIGNvbnN0IGNsYXNzaWZpY2F0aW9uID0gdG9vbHNcbiAgICAgICAgICA/IGdldFRvb2xTZWFyY2hPclJlYWRJbmZvKGNvbnRlbnQubmFtZSwgaW5wdXQsIHRvb2xzKVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgIHRyYWNrZXIucmVjZW50QWN0aXZpdGllcy5wdXNoKHtcbiAgICAgICAgICB0b29sTmFtZTogY29udGVudC5uYW1lLFxuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIGFjdGl2aXR5RGVzY3JpcHRpb246IHJlc29sdmVBY3Rpdml0eURlc2NyaXB0aW9uPy4oXG4gICAgICAgICAgICBjb250ZW50Lm5hbWUsXG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICApLFxuICAgICAgICAgIGlzU2VhcmNoOiBjbGFzc2lmaWNhdGlvbj8uaXNTZWFyY2gsXG4gICAgICAgICAgaXNSZWFkOiBjbGFzc2lmaWNhdGlvbj8uaXNSZWFkLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuICB3aGlsZSAodHJhY2tlci5yZWNlbnRBY3Rpdml0aWVzLmxlbmd0aCA+IE1BWF9SRUNFTlRfQUNUSVZJVElFUykge1xuICAgIHRyYWNrZXIucmVjZW50QWN0aXZpdGllcy5zaGlmdCgpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2dyZXNzVXBkYXRlKHRyYWNrZXI6IFByb2dyZXNzVHJhY2tlcik6IEFnZW50UHJvZ3Jlc3Mge1xuICByZXR1cm4ge1xuICAgIHRvb2xVc2VDb3VudDogdHJhY2tlci50b29sVXNlQ291bnQsXG4gICAgdG9rZW5Db3VudDogZ2V0VG9rZW5Db3VudEZyb21UcmFja2VyKHRyYWNrZXIpLFxuICAgIGxhc3RBY3Rpdml0eTpcbiAgICAgIHRyYWNrZXIucmVjZW50QWN0aXZpdGllcy5sZW5ndGggPiAwXG4gICAgICAgID8gdHJhY2tlci5yZWNlbnRBY3Rpdml0aWVzW3RyYWNrZXIucmVjZW50QWN0aXZpdGllcy5sZW5ndGggLSAxXVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICByZWNlbnRBY3Rpdml0aWVzOiBbLi4udHJhY2tlci5yZWNlbnRBY3Rpdml0aWVzXSxcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gQWN0aXZpdHlEZXNjcmlwdGlvblJlc29sdmVyIGZyb20gYSB0b29scyBsaXN0LlxuICogTG9va3MgdXAgdGhlIHRvb2wgYnkgbmFtZSBhbmQgY2FsbHMgZ2V0QWN0aXZpdHlEZXNjcmlwdGlvbiBpZiBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBY3Rpdml0eURlc2NyaXB0aW9uUmVzb2x2ZXIoXG4gIHRvb2xzOiBUb29scyxcbik6IEFjdGl2aXR5RGVzY3JpcHRpb25SZXNvbHZlciB7XG4gIHJldHVybiAodG9vbE5hbWUsIGlucHV0KSA9PiB7XG4gICAgY29uc3QgdG9vbCA9IGZpbmRUb29sQnlOYW1lKHRvb2xzLCB0b29sTmFtZSlcbiAgICByZXR1cm4gdG9vbD8uZ2V0QWN0aXZpdHlEZXNjcmlwdGlvbj8uKGlucHV0KSA/PyB1bmRlZmluZWRcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBMb2NhbEFnZW50VGFza1N0YXRlID0gVGFza1N0YXRlQmFzZSAmIHtcbiAgdHlwZTogJ2xvY2FsX2FnZW50J1xuICBhZ2VudElkOiBzdHJpbmdcbiAgcHJvbXB0OiBzdHJpbmdcbiAgc2VsZWN0ZWRBZ2VudD86IEFnZW50RGVmaW5pdGlvblxuICBhZ2VudFR5cGU6IHN0cmluZ1xuICBtb2RlbD86IHN0cmluZ1xuICBhYm9ydENvbnRyb2xsZXI/OiBBYm9ydENvbnRyb2xsZXJcbiAgdW5yZWdpc3RlckNsZWFudXA/OiAoKSA9PiB2b2lkXG4gIGVycm9yPzogc3RyaW5nXG4gIHJlc3VsdD86IEFnZW50VG9vbFJlc3VsdFxuICBwcm9ncmVzcz86IEFnZW50UHJvZ3Jlc3NcbiAgcmV0cmlldmVkOiBib29sZWFuXG4gIG1lc3NhZ2VzPzogTWVzc2FnZVtdXG4gIC8vIFRyYWNrIHdoYXQgd2UgbGFzdCByZXBvcnRlZCBmb3IgY29tcHV0aW5nIGRlbHRhc1xuICBsYXN0UmVwb3J0ZWRUb29sQ291bnQ6IG51bWJlclxuICBsYXN0UmVwb3J0ZWRUb2tlbkNvdW50OiBudW1iZXJcbiAgLy8gV2hldGhlciB0aGUgdGFzayBoYXMgYmVlbiBiYWNrZ3JvdW5kZWQgKGZhbHNlID0gZm9yZWdyb3VuZCBydW5uaW5nLCB0cnVlID0gYmFja2dyb3VuZGVkKVxuICBpc0JhY2tncm91bmRlZDogYm9vbGVhblxuICAvLyBNZXNzYWdlcyBxdWV1ZWQgbWlkLXR1cm4gdmlhIFNlbmRNZXNzYWdlLCBkcmFpbmVkIGF0IHRvb2wtcm91bmQgYm91bmRhcmllc1xuICBwZW5kaW5nTWVzc2FnZXM6IHN0cmluZ1tdXG4gIC8vIFVJIGlzIGhvbGRpbmcgdGhpcyB0YXNrOiBibG9ja3MgZXZpY3Rpb24sIGVuYWJsZXMgc3RyZWFtLWFwcGVuZCwgdHJpZ2dlcnNcbiAgLy8gZGlzayBib290c3RyYXAuIFNldCBieSBlbnRlclRlYW1tYXRlVmlldy4gU2VwYXJhdGUgZnJvbSB2aWV3aW5nQWdlbnRUYXNrSWRcbiAgLy8gKHdoaWNoIGlzIFwid2hhdCBhbSBJIExPT0tJTkcgYXRcIikg4oCUIHJldGFpbiBpcyBcIndoYXQgYW0gSSBIT0xESU5HLlwiXG4gIHJldGFpbjogYm9vbGVhblxuICAvLyBCb290c3RyYXAgaGFzIHJlYWQgdGhlIHNpZGVjaGFpbiBKU09OTCBhbmQgVVVJRC1tZXJnZWQgaW50byBtZXNzYWdlcy5cbiAgLy8gT25lLXNob3QgcGVyIHJldGFpbiBjeWNsZTsgc3RyZWFtIGFwcGVuZHMgZnJvbSB0aGVyZS5cbiAgZGlza0xvYWRlZDogYm9vbGVhblxuICAvLyBQYW5lbCB2aXNpYmlsaXR5IGRlYWRsaW5lLiB1bmRlZmluZWQgPSBubyBkZWFkbGluZSAocnVubmluZyBvciByZXRhaW5lZCk7XG4gIC8vIHRpbWVzdGFtcCA9IGhpZGUgKyBHQy1lbGlnaWJsZSBhZnRlciB0aGlzIHRpbWUuIFNldCBhdCB0ZXJtaW5hbCB0cmFuc2l0aW9uXG4gIC8vIGFuZCBvbiB1bnNlbGVjdDsgY2xlYXJlZCBvbiByZXRhaW4uXG4gIGV2aWN0QWZ0ZXI/OiBudW1iZXJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9jYWxBZ2VudFRhc2sodGFzazogdW5rbm93bik6IHRhc2sgaXMgTG9jYWxBZ2VudFRhc2tTdGF0ZSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHRhc2sgPT09ICdvYmplY3QnICYmXG4gICAgdGFzayAhPT0gbnVsbCAmJlxuICAgICd0eXBlJyBpbiB0YXNrICYmXG4gICAgdGFzay50eXBlID09PSAnbG9jYWxfYWdlbnQnXG4gIClcbn1cblxuLyoqXG4gKiBBIGxvY2FsX2FnZW50IHRhc2sgdGhhdCB0aGUgQ29vcmRpbmF0b3JUYXNrUGFuZWwgbWFuYWdlcyAobm90IG1haW4tc2Vzc2lvbikuXG4gKiBGb3IgYW50cywgdGhlc2UgcmVuZGVyIGluIHRoZSBwYW5lbCBpbnN0ZWFkIG9mIHRoZSBiYWNrZ3JvdW5kLXRhc2sgcGlsbC5cbiAqIFRoaXMgaXMgdGhlIE9ORSBwcmVkaWNhdGUgdGhhdCBhbGwgcGlsbC9wYW5lbCBmaWx0ZXJzIG11c3QgYWdyZWUgb24g4oCUIGlmXG4gKiB0aGUgZ2F0ZSBjaGFuZ2VzLCBjaGFuZ2UgaXQgaGVyZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGFuZWxBZ2VudFRhc2sodDogdW5rbm93bik6IHQgaXMgTG9jYWxBZ2VudFRhc2tTdGF0ZSB7XG4gIHJldHVybiBpc0xvY2FsQWdlbnRUYXNrKHQpICYmIHQuYWdlbnRUeXBlICE9PSAnbWFpbi1zZXNzaW9uJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcXVldWVQZW5kaW5nTWVzc2FnZShcbiAgdGFza0lkOiBzdHJpbmcsXG4gIG1zZzogc3RyaW5nLFxuICBzZXRBcHBTdGF0ZTogKGY6IChwcmV2OiBBcHBTdGF0ZSkgPT4gQXBwU3RhdGUpID0+IHZvaWQsXG4pOiB2b2lkIHtcbiAgdXBkYXRlVGFza1N0YXRlPExvY2FsQWdlbnRUYXNrU3RhdGU+KHRhc2tJZCwgc2V0QXBwU3RhdGUsIHRhc2sgPT4gKHtcbiAgICAuLi50YXNrLFxuICAgIHBlbmRpbmdNZXNzYWdlczogWy4uLnRhc2sucGVuZGluZ01lc3NhZ2VzLCBtc2ddLFxuICB9KSlcbn1cblxuLyoqXG4gKiBBcHBlbmQgYSBtZXNzYWdlIHRvIHRhc2subWVzc2FnZXMgc28gaXQgYXBwZWFycyBpbiB0aGUgdmlld2VkIHRyYW5zY3JpcHRcbiAqIGltbWVkaWF0ZWx5LiBDYWxsZXIgY29uc3RydWN0cyB0aGUgTWVzc2FnZSAoYnJlYWtzIHRoZSBtZXNzYWdlcy50cyBjeWNsZSkuXG4gKiBxdWV1ZVBlbmRpbmdNZXNzYWdlIGFuZCByZXN1bWVBZ2VudEJhY2tncm91bmQgcm91dGUgdGhlIHByb21wdCB0byB0aGVcbiAqIGFnZW50J3MgQVBJIGlucHV0IGJ1dCBkb24ndCB0b3VjaCB0aGUgZGlzcGxheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZE1lc3NhZ2VUb0xvY2FsQWdlbnQoXG4gIHRhc2tJZDogc3RyaW5nLFxuICBtZXNzYWdlOiBNZXNzYWdlLFxuICBzZXRBcHBTdGF0ZTogKGY6IChwcmV2OiBBcHBTdGF0ZSkgPT4gQXBwU3RhdGUpID0+IHZvaWQsXG4pOiB2b2lkIHtcbiAgdXBkYXRlVGFza1N0YXRlPExvY2FsQWdlbnRUYXNrU3RhdGU+KHRhc2tJZCwgc2V0QXBwU3RhdGUsIHRhc2sgPT4gKHtcbiAgICAuLi50YXNrLFxuICAgIG1lc3NhZ2VzOiBbLi4uKHRhc2subWVzc2FnZXMgPz8gW10pLCBtZXNzYWdlXSxcbiAgfSkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmFpblBlbmRpbmdNZXNzYWdlcyhcbiAgdGFza0lkOiBzdHJpbmcsXG4gIGdldEFwcFN0YXRlOiAoKSA9PiBBcHBTdGF0ZSxcbiAgc2V0QXBwU3RhdGU6IChmOiAocHJldjogQXBwU3RhdGUpID0+IEFwcFN0YXRlKSA9PiB2b2lkLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCB0YXNrID0gZ2V0QXBwU3RhdGUoKS50YXNrc1t0YXNrSWRdXG4gIGlmICghaXNMb2NhbEFnZW50VGFzayh0YXNrKSB8fCB0YXNrLnBlbmRpbmdNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICBjb25zdCBkcmFpbmVkID0gdGFzay5wZW5kaW5nTWVzc2FnZXNcbiAgdXBkYXRlVGFza1N0YXRlPExvY2FsQWdlbnRUYXNrU3RhdGU+KHRhc2tJZCwgc2V0QXBwU3RhdGUsIHQgPT4gKHtcbiAgICAuLi50LFxuICAgIHBlbmRpbmdNZXNzYWdlczogW10sXG4gIH0pKVxuICByZXR1cm4gZHJhaW5lZFxufVxuXG4vKipcbiAqIEVucXVldWUgYW4gYWdlbnQgbm90aWZpY2F0aW9uIHRvIHRoZSBtZXNzYWdlIHF1ZXVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5xdWV1ZUFnZW50Tm90aWZpY2F0aW9uKHtcbiAgdGFza0lkLFxuICBkZXNjcmlwdGlvbixcbiAgc3RhdHVzLFxuICBlcnJvcixcbiAgc2V0QXBwU3RhdGUsXG4gIGZpbmFsTWVzc2FnZSxcbiAgdXNhZ2UsXG4gIHRvb2xVc2VJZCxcbiAgd29ya3RyZWVQYXRoLFxuICB3b3JrdHJlZUJyYW5jaCxcbn06IHtcbiAgdGFza0lkOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBzdGF0dXM6ICdjb21wbGV0ZWQnIHwgJ2ZhaWxlZCcgfCAna2lsbGVkJ1xuICBlcnJvcj86IHN0cmluZ1xuICBzZXRBcHBTdGF0ZTogU2V0QXBwU3RhdGVcbiAgZmluYWxNZXNzYWdlPzogc3RyaW5nXG4gIHVzYWdlPzoge1xuICAgIHRvdGFsVG9rZW5zOiBudW1iZXJcbiAgICB0b29sVXNlczogbnVtYmVyXG4gICAgZHVyYXRpb25NczogbnVtYmVyXG4gIH1cbiAgdG9vbFVzZUlkPzogc3RyaW5nXG4gIHdvcmt0cmVlUGF0aD86IHN0cmluZ1xuICB3b3JrdHJlZUJyYW5jaD86IHN0cmluZ1xufSk6IHZvaWQge1xuICAvLyBBdG9taWNhbGx5IGNoZWNrIGFuZCBzZXQgbm90aWZpZWQgZmxhZyB0byBwcmV2ZW50IGR1cGxpY2F0ZSBub3RpZmljYXRpb25zLlxuICAvLyBJZiB0aGUgdGFzayB3YXMgYWxyZWFkeSBtYXJrZWQgYXMgbm90aWZpZWQgKGUuZy4sIGJ5IFRhc2tTdG9wVG9vbCksIHNraXBcbiAgLy8gZW5xdWV1ZWluZyB0byBhdm9pZCBzZW5kaW5nIHJlZHVuZGFudCBtZXNzYWdlcyB0byB0aGUgbW9kZWwuXG4gIGxldCBzaG91bGRFbnF1ZXVlID0gZmFsc2VcbiAgdXBkYXRlVGFza1N0YXRlPExvY2FsQWdlbnRUYXNrU3RhdGU+KHRhc2tJZCwgc2V0QXBwU3RhdGUsIHRhc2sgPT4ge1xuICAgIGlmICh0YXNrLm5vdGlmaWVkKSB7XG4gICAgICByZXR1cm4gdGFza1xuICAgIH1cbiAgICBzaG91bGRFbnF1ZXVlID0gdHJ1ZVxuICAgIHJldHVybiB7XG4gICAgICAuLi50YXNrLFxuICAgICAgbm90aWZpZWQ6IHRydWUsXG4gICAgfVxuICB9KVxuXG4gIGlmICghc2hvdWxkRW5xdWV1ZSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgLy8gQWJvcnQgYW55IGFjdGl2ZSBzcGVjdWxhdGlvbiDigJQgYmFja2dyb3VuZCB0YXNrIHN0YXRlIGNoYW5nZWQsIHNvIHNwZWN1bGF0ZWRcbiAgLy8gcmVzdWx0cyBtYXkgcmVmZXJlbmNlIHN0YWxlIHRhc2sgb3V0cHV0LiBUaGUgcHJvbXB0IHN1Z2dlc3Rpb24gdGV4dCBpc1xuICAvLyBwcmVzZXJ2ZWQ7IG9ubHkgdGhlIHByZS1jb21wdXRlZCByZXNwb25zZSBpcyBkaXNjYXJkZWQuXG4gIGFib3J0U3BlY3VsYXRpb24oc2V0QXBwU3RhdGUpXG5cbiAgY29uc3Qgc3VtbWFyeSA9XG4gICAgc3RhdHVzID09PSAnY29tcGxldGVkJ1xuICAgICAgPyBgQWdlbnQgXCIke2Rlc2NyaXB0aW9ufVwiIGNvbXBsZXRlZGBcbiAgICAgIDogc3RhdHVzID09PSAnZmFpbGVkJ1xuICAgICAgICA/IGBBZ2VudCBcIiR7ZGVzY3JpcHRpb259XCIgZmFpbGVkOiAke2Vycm9yIHx8ICdVbmtub3duIGVycm9yJ31gXG4gICAgICAgIDogYEFnZW50IFwiJHtkZXNjcmlwdGlvbn1cIiB3YXMgc3RvcHBlZGBcblxuICBjb25zdCBvdXRwdXRQYXRoID0gZ2V0VGFza091dHB1dFBhdGgodGFza0lkKVxuICBjb25zdCB0b29sVXNlSWRMaW5lID0gdG9vbFVzZUlkXG4gICAgPyBgXFxuPCR7VE9PTF9VU0VfSURfVEFHfT4ke3Rvb2xVc2VJZH08LyR7VE9PTF9VU0VfSURfVEFHfT5gXG4gICAgOiAnJ1xuICBjb25zdCByZXN1bHRTZWN0aW9uID0gZmluYWxNZXNzYWdlID8gYFxcbjxyZXN1bHQ+JHtmaW5hbE1lc3NhZ2V9PC9yZXN1bHQ+YCA6ICcnXG4gIGNvbnN0IHVzYWdlU2VjdGlvbiA9IHVzYWdlXG4gICAgPyBgXFxuPHVzYWdlPjx0b3RhbF90b2tlbnM+JHt1c2FnZS50b3RhbFRva2Vuc308L3RvdGFsX3Rva2Vucz48dG9vbF91c2VzPiR7dXNhZ2UudG9vbFVzZXN9PC90b29sX3VzZXM+PGR1cmF0aW9uX21zPiR7dXNhZ2UuZHVyYXRpb25Nc308L2R1cmF0aW9uX21zPjwvdXNhZ2U+YFxuICAgIDogJydcbiAgY29uc3Qgd29ya3RyZWVTZWN0aW9uID0gd29ya3RyZWVQYXRoXG4gICAgPyBgXFxuPCR7V09SS1RSRUVfVEFHfT48JHtXT1JLVFJFRV9QQVRIX1RBR30+JHt3b3JrdHJlZVBhdGh9PC8ke1dPUktUUkVFX1BBVEhfVEFHfT4ke3dvcmt0cmVlQnJhbmNoID8gYDwke1dPUktUUkVFX0JSQU5DSF9UQUd9PiR7d29ya3RyZWVCcmFuY2h9PC8ke1dPUktUUkVFX0JSQU5DSF9UQUd9PmAgOiAnJ308LyR7V09SS1RSRUVfVEFHfT5gXG4gICAgOiAnJ1xuXG4gIGNvbnN0IG1lc3NhZ2UgPSBgPCR7VEFTS19OT1RJRklDQVRJT05fVEFHfT5cbjwke1RBU0tfSURfVEFHfT4ke3Rhc2tJZH08LyR7VEFTS19JRF9UQUd9PiR7dG9vbFVzZUlkTGluZX1cbjwke09VVFBVVF9GSUxFX1RBR30+JHtvdXRwdXRQYXRofTwvJHtPVVRQVVRfRklMRV9UQUd9PlxuPCR7U1RBVFVTX1RBR30+JHtzdGF0dXN9PC8ke1NUQVRVU19UQUd9PlxuPCR7U1VNTUFSWV9UQUd9PiR7c3VtbWFyeX08LyR7U1VNTUFSWV9UQUd9PiR7cmVzdWx0U2VjdGlvbn0ke3VzYWdlU2VjdGlvbn0ke3dvcmt0cmVlU2VjdGlvbn1cbjwvJHtUQVNLX05PVElGSUNBVElPTl9UQUd9PmBcblxuICBlbnF1ZXVlUGVuZGluZ05vdGlmaWNhdGlvbih7IHZhbHVlOiBtZXNzYWdlLCBtb2RlOiAndGFzay1ub3RpZmljYXRpb24nIH0pXG59XG5cbi8qKlxuICogTG9jYWxBZ2VudFRhc2sgLSBIYW5kbGVzIGJhY2tncm91bmQgYWdlbnQgZXhlY3V0aW9uLlxuICpcbiAqIFJlcGxhY2VzIHRoZSBBc3luY0FnZW50IGltcGxlbWVudGF0aW9uIGZyb20gc3JjL3Rvb2xzL0FnZW50VG9vbC9hc3luY0FnZW50VXRpbHMudHNcbiAqIHdpdGggYSB1bmlmaWVkIFRhc2sgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgY29uc3QgTG9jYWxBZ2VudFRhc2s6IFRhc2sgPSB7XG4gIG5hbWU6ICdMb2NhbEFnZW50VGFzaycsXG4gIHR5cGU6ICdsb2NhbF9hZ2VudCcsXG5cbiAgYXN5bmMga2lsbCh0YXNrSWQsIHNldEFwcFN0YXRlKSB7XG4gICAga2lsbEFzeW5jQWdlbnQodGFza0lkLCBzZXRBcHBTdGF0ZSlcbiAgfSxcbn1cblxuLyoqXG4gKiBLaWxsIGFuIGFnZW50IHRhc2suIE5vLW9wIGlmIGFscmVhZHkga2lsbGVkL2NvbXBsZXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGtpbGxBc3luY0FnZW50KHRhc2tJZDogc3RyaW5nLCBzZXRBcHBTdGF0ZTogU2V0QXBwU3RhdGUpOiB2b2lkIHtcbiAgbGV0IGtpbGxlZCA9IGZhbHNlXG4gIHVwZGF0ZVRhc2tTdGF0ZTxMb2NhbEFnZW50VGFza1N0YXRlPih0YXNrSWQsIHNldEFwcFN0YXRlLCB0YXNrID0+IHtcbiAgICBpZiAodGFzay5zdGF0dXMgIT09ICdydW5uaW5nJykge1xuICAgICAgcmV0dXJuIHRhc2tcbiAgICB9XG4gICAga2lsbGVkID0gdHJ1ZVxuICAgIHRhc2suYWJvcnRDb250cm9sbGVyPy5hYm9ydCgpXG4gICAgdGFzay51bnJlZ2lzdGVyQ2xlYW51cD8uKClcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGFzayxcbiAgICAgIHN0YXR1czogJ2tpbGxlZCcsXG4gICAgICBlbmRUaW1lOiBEYXRlLm5vdygpLFxuICAgICAgZXZpY3RBZnRlcjogdGFzay5yZXRhaW4gPyB1bmRlZmluZWQgOiBEYXRlLm5vdygpICsgUEFORUxfR1JBQ0VfTVMsXG4gICAgICBhYm9ydENvbnRyb2xsZXI6IHVuZGVmaW5lZCxcbiAgICAgIHVucmVnaXN0ZXJDbGVhbnVwOiB1bmRlZmluZWQsXG4gICAgICBzZWxlY3RlZEFnZW50OiB1bmRlZmluZWQsXG4gICAgfVxuICB9KVxuICBpZiAoa2lsbGVkKSB7XG4gICAgdm9pZCBldmljdFRhc2tPdXRwdXQodGFza0lkKVxuICB9XG59XG5cbi8qKlxuICogS2lsbCBhbGwgcnVubmluZyBhZ2VudCB0YXNrcy5cbiAqIFVzZWQgYnkgRVNDIGNhbmNlbGxhdGlvbiBpbiBjb29yZGluYXRvciBtb2RlIHRvIHN0b3AgYWxsIHN1YmFnZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGtpbGxBbGxSdW5uaW5nQWdlbnRUYXNrcyhcbiAgdGFza3M6IFJlY29yZDxzdHJpbmcsIFRhc2tTdGF0ZT4sXG4gIHNldEFwcFN0YXRlOiBTZXRBcHBTdGF0ZSxcbik6IHZvaWQge1xuICBmb3IgKGNvbnN0IFt0YXNrSWQsIHRhc2tdIG9mIE9iamVjdC5lbnRyaWVzKHRhc2tzKSkge1xuICAgIGlmICh0YXNrLnR5cGUgPT09ICdsb2NhbF9hZ2VudCcgJiYgdGFzay5zdGF0dXMgPT09ICdydW5uaW5nJykge1xuICAgICAga2lsbEFzeW5jQWdlbnQodGFza0lkLCBzZXRBcHBTdGF0ZSlcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBNYXJrIGEgdGFzayBhcyBub3RpZmllZCB3aXRob3V0IGVucXVldWVpbmcgYSBub3RpZmljYXRpb24uXG4gKiBVc2VkIGJ5IGNoYXQ6a2lsbEFnZW50cyBidWxrIGtpbGwgdG8gc3VwcHJlc3MgcGVyLWFnZW50IGFzeW5jIG5vdGlmaWNhdGlvbnNcbiAqIHdoZW4gYSBzaW5nbGUgYWdncmVnYXRlIG1lc3NhZ2UgaXMgc2VudCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFya0FnZW50c05vdGlmaWVkKFxuICB0YXNrSWQ6IHN0cmluZyxcbiAgc2V0QXBwU3RhdGU6IFNldEFwcFN0YXRlLFxuKTogdm9pZCB7XG4gIHVwZGF0ZVRhc2tTdGF0ZTxMb2NhbEFnZW50VGFza1N0YXRlPih0YXNrSWQsIHNldEFwcFN0YXRlLCB0YXNrID0+IHtcbiAgICBpZiAodGFzay5ub3RpZmllZCkge1xuICAgICAgcmV0dXJuIHRhc2tcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRhc2ssXG4gICAgICBub3RpZmllZDogdHJ1ZSxcbiAgICB9XG4gIH0pXG59XG5cbi8qKlxuICogVXBkYXRlIHByb2dyZXNzIGZvciBhbiBhZ2VudCB0YXNrLlxuICogUHJlc2VydmVzIHRoZSBleGlzdGluZyBzdW1tYXJ5IGZpZWxkIHNvIHRoYXQgYmFja2dyb3VuZCBzdW1tYXJpemF0aW9uXG4gKiByZXN1bHRzIGFyZSBub3QgY2xvYmJlcmVkIGJ5IHByb2dyZXNzIHVwZGF0ZXMgZnJvbSBhc3Npc3RhbnQgbWVzc2FnZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVBZ2VudFByb2dyZXNzKFxuICB0YXNrSWQ6IHN0cmluZyxcbiAgcHJvZ3Jlc3M6IEFnZW50UHJvZ3Jlc3MsXG4gIHNldEFwcFN0YXRlOiBTZXRBcHBTdGF0ZSxcbik6IHZvaWQge1xuICB1cGRhdGVUYXNrU3RhdGU8TG9jYWxBZ2VudFRhc2tTdGF0ZT4odGFza0lkLCBzZXRBcHBTdGF0ZSwgdGFzayA9PiB7XG4gICAgaWYgKHRhc2suc3RhdHVzICE9PSAncnVubmluZycpIHtcbiAgICAgIHJldHVybiB0YXNrXG4gICAgfVxuXG4gICAgY29uc3QgZXhpc3RpbmdTdW1tYXJ5ID0gdGFzay5wcm9ncmVzcz8uc3VtbWFyeVxuICAgIHJldHVybiB7XG4gICAgICAuLi50YXNrLFxuICAgICAgcHJvZ3Jlc3M6IGV4aXN0aW5nU3VtbWFyeVxuICAgICAgICA/IHsgLi4ucHJvZ3Jlc3MsIHN1bW1hcnk6IGV4aXN0aW5nU3VtbWFyeSB9XG4gICAgICAgIDogcHJvZ3Jlc3MsXG4gICAgfVxuICB9KVxufVxuXG4vKipcbiAqIFVwZGF0ZSB0aGUgYmFja2dyb3VuZCBzdW1tYXJ5IGZvciBhbiBhZ2VudCB0YXNrLlxuICogQ2FsbGVkIGJ5IHRoZSBwZXJpb2RpYyBzdW1tYXJpemF0aW9uIHNlcnZpY2UgdG8gc3RvcmUgYSAxLTIgc2VudGVuY2UgcHJvZ3Jlc3Mgc3VtbWFyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUFnZW50U3VtbWFyeShcbiAgdGFza0lkOiBzdHJpbmcsXG4gIHN1bW1hcnk6IHN0cmluZyxcbiAgc2V0QXBwU3RhdGU6IFNldEFwcFN0YXRlLFxuKTogdm9pZCB7XG4gIGxldCBjYXB0dXJlZDoge1xuICAgIHRva2VuQ291bnQ6IG51bWJlclxuICAgIHRvb2xVc2VDb3VudDogbnVtYmVyXG4gICAgc3RhcnRUaW1lOiBudW1iZXJcbiAgICB0b29sVXNlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICB9IHwgbnVsbCA9IG51bGxcblxuICB1cGRhdGVUYXNrU3RhdGU8TG9jYWxBZ2VudFRhc2tTdGF0ZT4odGFza0lkLCBzZXRBcHBTdGF0ZSwgdGFzayA9PiB7XG4gICAgaWYgKHRhc2suc3RhdHVzICE9PSAncnVubmluZycpIHtcbiAgICAgIHJldHVybiB0YXNrXG4gICAgfVxuXG4gICAgY2FwdHVyZWQgPSB7XG4gICAgICB0b2tlbkNvdW50OiB0YXNrLnByb2dyZXNzPy50b2tlbkNvdW50ID8/IDAsXG4gICAgICB0b29sVXNlQ291bnQ6IHRhc2sucHJvZ3Jlc3M/LnRvb2xVc2VDb3VudCA/PyAwLFxuICAgICAgc3RhcnRUaW1lOiB0YXNrLnN0YXJ0VGltZSxcbiAgICAgIHRvb2xVc2VJZDogdGFzay50b29sVXNlSWQsXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRhc2ssXG4gICAgICBwcm9ncmVzczoge1xuICAgICAgICAuLi50YXNrLnByb2dyZXNzLFxuICAgICAgICB0b29sVXNlQ291bnQ6IHRhc2sucHJvZ3Jlc3M/LnRvb2xVc2VDb3VudCA/PyAwLFxuICAgICAgICB0b2tlbkNvdW50OiB0YXNrLnByb2dyZXNzPy50b2tlbkNvdW50ID8/IDAsXG4gICAgICAgIHN1bW1hcnksXG4gICAgICB9LFxuICAgIH1cbiAgfSlcblxuICAvLyBFbWl0IHN1bW1hcnkgdG8gU0RLIGNvbnN1bWVycyAoZS5nLiBWUyBDb2RlIHN1YmFnZW50IHBhbmVsKS4gTm8tb3AgaW4gVFVJLlxuICAvLyBHYXRlIG9uIHRoZSBTREsgb3B0aW9uIHNvIGNvb3JkaW5hdG9yLW1vZGUgc2Vzc2lvbnMgd2l0aG91dCB0aGUgZmxhZyBkb24ndFxuICAvLyBsZWFrIHN1bW1hcnkgZXZlbnRzIHRvIGNvbnN1bWVycyB3aG8gZGlkbid0IG9wdCBpbi5cbiAgaWYgKGNhcHR1cmVkICYmIGdldFNka0FnZW50UHJvZ3Jlc3NTdW1tYXJpZXNFbmFibGVkKCkpIHtcbiAgICBjb25zdCB7IHRva2VuQ291bnQsIHRvb2xVc2VDb3VudCwgc3RhcnRUaW1lLCB0b29sVXNlSWQgfSA9IGNhcHR1cmVkXG4gICAgZW1pdFRhc2tQcm9ncmVzcyh7XG4gICAgICB0YXNrSWQsXG4gICAgICB0b29sVXNlSWQsXG4gICAgICBkZXNjcmlwdGlvbjogc3VtbWFyeSxcbiAgICAgIHN0YXJ0VGltZSxcbiAgICAgIHRvdGFsVG9rZW5zOiB0b2tlbkNvdW50LFxuICAgICAgdG9vbFVzZXM6IHRvb2xVc2VDb3VudCxcbiAgICAgIHN1bW1hcnksXG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIENvbXBsZXRlIGFuIGFnZW50IHRhc2sgd2l0aCByZXN1bHQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wbGV0ZUFnZW50VGFzayhcbiAgcmVzdWx0OiBBZ2VudFRvb2xSZXN1bHQsXG4gIHNldEFwcFN0YXRlOiBTZXRBcHBTdGF0ZSxcbik6IHZvaWQge1xuICBjb25zdCB0YXNrSWQgPSByZXN1bHQuYWdlbnRJZFxuICB1cGRhdGVUYXNrU3RhdGU8TG9jYWxBZ2VudFRhc2tTdGF0ZT4odGFza0lkLCBzZXRBcHBTdGF0ZSwgdGFzayA9PiB7XG4gICAgaWYgKHRhc2suc3RhdHVzICE9PSAncnVubmluZycpIHtcbiAgICAgIHJldHVybiB0YXNrXG4gICAgfVxuXG4gICAgdGFzay51bnJlZ2lzdGVyQ2xlYW51cD8uKClcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50YXNrLFxuICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgIHJlc3VsdCxcbiAgICAgIGVuZFRpbWU6IERhdGUubm93KCksXG4gICAgICBldmljdEFmdGVyOiB0YXNrLnJldGFpbiA/IHVuZGVmaW5lZCA6IERhdGUubm93KCkgKyBQQU5FTF9HUkFDRV9NUyxcbiAgICAgIGFib3J0Q29udHJvbGxlcjogdW5kZWZpbmVkLFxuICAgICAgdW5yZWdpc3RlckNsZWFudXA6IHVuZGVmaW5lZCxcbiAgICAgIHNlbGVjdGVkQWdlbnQ6IHVuZGVmaW5lZCxcbiAgICB9XG4gIH0pXG4gIHZvaWQgZXZpY3RUYXNrT3V0cHV0KHRhc2tJZClcbiAgLy8gTm90ZTogTm90aWZpY2F0aW9uIGlzIHNlbnQgYnkgQWdlbnRUb29sIHZpYSBlbnF1ZXVlQWdlbnROb3RpZmljYXRpb25cbn1cblxuLyoqXG4gKiBGYWlsIGFuIGFnZW50IHRhc2sgd2l0aCBlcnJvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZhaWxBZ2VudFRhc2soXG4gIHRhc2tJZDogc3RyaW5nLFxuICBlcnJvcjogc3RyaW5nLFxuICBzZXRBcHBTdGF0ZTogU2V0QXBwU3RhdGUsXG4pOiB2b2lkIHtcbiAgdXBkYXRlVGFza1N0YXRlPExvY2FsQWdlbnRUYXNrU3RhdGU+KHRhc2tJZCwgc2V0QXBwU3RhdGUsIHRhc2sgPT4ge1xuICAgIGlmICh0YXNrLnN0YXR1cyAhPT0gJ3J1bm5pbmcnKSB7XG4gICAgICByZXR1cm4gdGFza1xuICAgIH1cblxuICAgIHRhc2sudW5yZWdpc3RlckNsZWFudXA/LigpXG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGFzayxcbiAgICAgIHN0YXR1czogJ2ZhaWxlZCcsXG4gICAgICBlcnJvcixcbiAgICAgIGVuZFRpbWU6IERhdGUubm93KCksXG4gICAgICBldmljdEFmdGVyOiB0YXNrLnJldGFpbiA/IHVuZGVmaW5lZCA6IERhdGUubm93KCkgKyBQQU5FTF9HUkFDRV9NUyxcbiAgICAgIGFib3J0Q29udHJvbGxlcjogdW5kZWZpbmVkLFxuICAgICAgdW5yZWdpc3RlckNsZWFudXA6IHVuZGVmaW5lZCxcbiAgICAgIHNlbGVjdGVkQWdlbnQ6IHVuZGVmaW5lZCxcbiAgICB9XG4gIH0pXG4gIHZvaWQgZXZpY3RUYXNrT3V0cHV0KHRhc2tJZClcbiAgLy8gTm90ZTogTm90aWZpY2F0aW9uIGlzIHNlbnQgYnkgQWdlbnRUb29sIHZpYSBlbnF1ZXVlQWdlbnROb3RpZmljYXRpb25cbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhbiBhZ2VudCB0YXNrLlxuICogQ2FsbGVkIGJ5IEFnZW50VG9vbCB0byBjcmVhdGUgYSBuZXcgYmFja2dyb3VuZCBhZ2VudC5cbiAqXG4gKiBAcGFyYW0gcGFyZW50QWJvcnRDb250cm9sbGVyIC0gT3B0aW9uYWwgcGFyZW50IGFib3J0IGNvbnRyb2xsZXIuIElmIHByb3ZpZGVkLFxuICogICB0aGUgYWdlbnQncyBhYm9ydCBjb250cm9sbGVyIHdpbGwgYmUgYSBjaGlsZCB0aGF0IGF1dG8tYWJvcnRzIHdoZW4gcGFyZW50IGFib3J0cy5cbiAqICAgVGhpcyBlbnN1cmVzIHN1YmFnZW50cyBhcmUgYWJvcnRlZCB3aGVuIHRoZWlyIHBhcmVudCAoZS5nLiwgaW4tcHJvY2VzcyB0ZWFtbWF0ZSkgYWJvcnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJBc3luY0FnZW50KHtcbiAgYWdlbnRJZCxcbiAgZGVzY3JpcHRpb24sXG4gIHByb21wdCxcbiAgc2VsZWN0ZWRBZ2VudCxcbiAgc2V0QXBwU3RhdGUsXG4gIHBhcmVudEFib3J0Q29udHJvbGxlcixcbiAgdG9vbFVzZUlkLFxufToge1xuICBhZ2VudElkOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBwcm9tcHQ6IHN0cmluZ1xuICBzZWxlY3RlZEFnZW50OiBBZ2VudERlZmluaXRpb25cbiAgc2V0QXBwU3RhdGU6IFNldEFwcFN0YXRlXG4gIHBhcmVudEFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlclxuICB0b29sVXNlSWQ/OiBzdHJpbmdcbn0pOiBMb2NhbEFnZW50VGFza1N0YXRlIHtcbiAgdm9pZCBpbml0VGFza091dHB1dEFzU3ltbGluayhcbiAgICBhZ2VudElkLFxuICAgIGdldEFnZW50VHJhbnNjcmlwdFBhdGgoYXNBZ2VudElkKGFnZW50SWQpKSxcbiAgKVxuXG4gIC8vIENyZWF0ZSBhYm9ydCBjb250cm9sbGVyIC0gaWYgcGFyZW50IHByb3ZpZGVkLCBjcmVhdGUgY2hpbGQgdGhhdCBhdXRvLWFib3J0cyB3aXRoIHBhcmVudFxuICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBwYXJlbnRBYm9ydENvbnRyb2xsZXJcbiAgICA/IGNyZWF0ZUNoaWxkQWJvcnRDb250cm9sbGVyKHBhcmVudEFib3J0Q29udHJvbGxlcilcbiAgICA6IGNyZWF0ZUFib3J0Q29udHJvbGxlcigpXG5cbiAgY29uc3QgdGFza1N0YXRlOiBMb2NhbEFnZW50VGFza1N0YXRlID0ge1xuICAgIC4uLmNyZWF0ZVRhc2tTdGF0ZUJhc2UoYWdlbnRJZCwgJ2xvY2FsX2FnZW50JywgZGVzY3JpcHRpb24sIHRvb2xVc2VJZCksXG4gICAgdHlwZTogJ2xvY2FsX2FnZW50JyxcbiAgICBzdGF0dXM6ICdydW5uaW5nJyxcbiAgICBhZ2VudElkLFxuICAgIHByb21wdCxcbiAgICBzZWxlY3RlZEFnZW50LFxuICAgIGFnZW50VHlwZTogc2VsZWN0ZWRBZ2VudC5hZ2VudFR5cGUgPz8gJ2dlbmVyYWwtcHVycG9zZScsXG4gICAgYWJvcnRDb250cm9sbGVyLFxuICAgIHJldHJpZXZlZDogZmFsc2UsXG4gICAgbGFzdFJlcG9ydGVkVG9vbENvdW50OiAwLFxuICAgIGxhc3RSZXBvcnRlZFRva2VuQ291bnQ6IDAsXG4gICAgaXNCYWNrZ3JvdW5kZWQ6IHRydWUsIC8vIHJlZ2lzdGVyQXN5bmNBZ2VudCBpbW1lZGlhdGVseSBiYWNrZ3JvdW5kc1xuICAgIHBlbmRpbmdNZXNzYWdlczogW10sXG4gICAgcmV0YWluOiBmYWxzZSxcbiAgICBkaXNrTG9hZGVkOiBmYWxzZSxcbiAgfVxuXG4gIC8vIFJlZ2lzdGVyIGNsZWFudXAgaGFuZGxlclxuICBjb25zdCB1bnJlZ2lzdGVyQ2xlYW51cCA9IHJlZ2lzdGVyQ2xlYW51cChhc3luYyAoKSA9PiB7XG4gICAga2lsbEFzeW5jQWdlbnQoYWdlbnRJZCwgc2V0QXBwU3RhdGUpXG4gIH0pXG5cbiAgdGFza1N0YXRlLnVucmVnaXN0ZXJDbGVhbnVwID0gdW5yZWdpc3RlckNsZWFudXBcblxuICAvLyBSZWdpc3RlciB0YXNrIGluIEFwcFN0YXRlXG4gIHJlZ2lzdGVyVGFzayh0YXNrU3RhdGUsIHNldEFwcFN0YXRlKVxuXG4gIHJldHVybiB0YXNrU3RhdGVcbn1cblxuLy8gTWFwIG9mIHRhc2tJZCAtPiByZXNvbHZlIGZ1bmN0aW9uIGZvciBiYWNrZ3JvdW5kIHNpZ25hbHNcbi8vIFdoZW4gYmFja2dyb3VuZEFnZW50VGFzayBpcyBjYWxsZWQsIGl0IHJlc29sdmVzIHRoZSBjb3JyZXNwb25kaW5nIHByb21pc2VcbmNvbnN0IGJhY2tncm91bmRTaWduYWxSZXNvbHZlcnMgPSBuZXcgTWFwPHN0cmluZywgKCkgPT4gdm9pZD4oKVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgZm9yZWdyb3VuZCBhZ2VudCB0YXNrIHRoYXQgY291bGQgYmUgYmFja2dyb3VuZGVkIGxhdGVyLlxuICogQ2FsbGVkIHdoZW4gYW4gYWdlbnQgaGFzIGJlZW4gcnVubmluZyBsb25nIGVub3VnaCB0byBzaG93IHRoZSBCYWNrZ3JvdW5kSGludC5cbiAqIEByZXR1cm5zIG9iamVjdCB3aXRoIHRhc2tJZCBhbmQgYmFja2dyb3VuZFNpZ25hbCBwcm9taXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckFnZW50Rm9yZWdyb3VuZCh7XG4gIGFnZW50SWQsXG4gIGRlc2NyaXB0aW9uLFxuICBwcm9tcHQsXG4gIHNlbGVjdGVkQWdlbnQsXG4gIHNldEFwcFN0YXRlLFxuICBhdXRvQmFja2dyb3VuZE1zLFxuICB0b29sVXNlSWQsXG59OiB7XG4gIGFnZW50SWQ6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIHByb21wdDogc3RyaW5nXG4gIHNlbGVjdGVkQWdlbnQ6IEFnZW50RGVmaW5pdGlvblxuICBzZXRBcHBTdGF0ZTogU2V0QXBwU3RhdGVcbiAgYXV0b0JhY2tncm91bmRNcz86IG51bWJlclxuICB0b29sVXNlSWQ/OiBzdHJpbmdcbn0pOiB7XG4gIHRhc2tJZDogc3RyaW5nXG4gIGJhY2tncm91bmRTaWduYWw6IFByb21pc2U8dm9pZD5cbiAgY2FuY2VsQXV0b0JhY2tncm91bmQ/OiAoKSA9PiB2b2lkXG59IHtcbiAgdm9pZCBpbml0VGFza091dHB1dEFzU3ltbGluayhcbiAgICBhZ2VudElkLFxuICAgIGdldEFnZW50VHJhbnNjcmlwdFBhdGgoYXNBZ2VudElkKGFnZW50SWQpKSxcbiAgKVxuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IGNyZWF0ZUFib3J0Q29udHJvbGxlcigpXG5cbiAgY29uc3QgdW5yZWdpc3RlckNsZWFudXAgPSByZWdpc3RlckNsZWFudXAoYXN5bmMgKCkgPT4ge1xuICAgIGtpbGxBc3luY0FnZW50KGFnZW50SWQsIHNldEFwcFN0YXRlKVxuICB9KVxuXG4gIGNvbnN0IHRhc2tTdGF0ZTogTG9jYWxBZ2VudFRhc2tTdGF0ZSA9IHtcbiAgICAuLi5jcmVhdGVUYXNrU3RhdGVCYXNlKGFnZW50SWQsICdsb2NhbF9hZ2VudCcsIGRlc2NyaXB0aW9uLCB0b29sVXNlSWQpLFxuICAgIHR5cGU6ICdsb2NhbF9hZ2VudCcsXG4gICAgc3RhdHVzOiAncnVubmluZycsXG4gICAgYWdlbnRJZCxcbiAgICBwcm9tcHQsXG4gICAgc2VsZWN0ZWRBZ2VudCxcbiAgICBhZ2VudFR5cGU6IHNlbGVjdGVkQWdlbnQuYWdlbnRUeXBlID8/ICdnZW5lcmFsLXB1cnBvc2UnLFxuICAgIGFib3J0Q29udHJvbGxlcixcbiAgICB1bnJlZ2lzdGVyQ2xlYW51cCxcbiAgICByZXRyaWV2ZWQ6IGZhbHNlLFxuICAgIGxhc3RSZXBvcnRlZFRvb2xDb3VudDogMCxcbiAgICBsYXN0UmVwb3J0ZWRUb2tlbkNvdW50OiAwLFxuICAgIGlzQmFja2dyb3VuZGVkOiBmYWxzZSwgLy8gTm90IHlldCBiYWNrZ3JvdW5kZWQgLSBydW5uaW5nIGluIGZvcmVncm91bmRcbiAgICBwZW5kaW5nTWVzc2FnZXM6IFtdLFxuICAgIHJldGFpbjogZmFsc2UsXG4gICAgZGlza0xvYWRlZDogZmFsc2UsXG4gIH1cblxuICAvLyBDcmVhdGUgYmFja2dyb3VuZCBzaWduYWwgcHJvbWlzZVxuICBsZXQgcmVzb2x2ZUJhY2tncm91bmRTaWduYWw6ICgpID0+IHZvaWRcbiAgY29uc3QgYmFja2dyb3VuZFNpZ25hbCA9IG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4ge1xuICAgIHJlc29sdmVCYWNrZ3JvdW5kU2lnbmFsID0gcmVzb2x2ZVxuICB9KVxuICBiYWNrZ3JvdW5kU2lnbmFsUmVzb2x2ZXJzLnNldChhZ2VudElkLCByZXNvbHZlQmFja2dyb3VuZFNpZ25hbCEpXG5cbiAgcmVnaXN0ZXJUYXNrKHRhc2tTdGF0ZSwgc2V0QXBwU3RhdGUpXG5cbiAgLy8gQXV0by1iYWNrZ3JvdW5kIGFmdGVyIHRpbWVvdXQgaWYgY29uZmlndXJlZFxuICBsZXQgY2FuY2VsQXV0b0JhY2tncm91bmQ6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZFxuICBpZiAoYXV0b0JhY2tncm91bmRNcyAhPT0gdW5kZWZpbmVkICYmIGF1dG9CYWNrZ3JvdW5kTXMgPiAwKSB7XG4gICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgKHNldEFwcFN0YXRlLCBhZ2VudElkKSA9PiB7XG4gICAgICAgIC8vIE1hcmsgdGFzayBhcyBiYWNrZ3JvdW5kZWQgYW5kIHJlc29sdmUgdGhlIHNpZ25hbFxuICAgICAgICBzZXRBcHBTdGF0ZShwcmV2ID0+IHtcbiAgICAgICAgICBjb25zdCBwcmV2VGFzayA9IHByZXYudGFza3NbYWdlbnRJZF1cbiAgICAgICAgICBpZiAoIWlzTG9jYWxBZ2VudFRhc2socHJldlRhc2spIHx8IHByZXZUYXNrLmlzQmFja2dyb3VuZGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJldlxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgIHRhc2tzOiB7XG4gICAgICAgICAgICAgIC4uLnByZXYudGFza3MsXG4gICAgICAgICAgICAgIFthZ2VudElkXTogeyAuLi5wcmV2VGFzaywgaXNCYWNrZ3JvdW5kZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICBjb25zdCByZXNvbHZlciA9IGJhY2tncm91bmRTaWduYWxSZXNvbHZlcnMuZ2V0KGFnZW50SWQpXG4gICAgICAgIGlmIChyZXNvbHZlcikge1xuICAgICAgICAgIHJlc29sdmVyKClcbiAgICAgICAgICBiYWNrZ3JvdW5kU2lnbmFsUmVzb2x2ZXJzLmRlbGV0ZShhZ2VudElkKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgYXV0b0JhY2tncm91bmRNcyxcbiAgICAgIHNldEFwcFN0YXRlLFxuICAgICAgYWdlbnRJZCxcbiAgICApXG4gICAgY2FuY2VsQXV0b0JhY2tncm91bmQgPSAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpXG4gIH1cblxuICByZXR1cm4geyB0YXNrSWQ6IGFnZW50SWQsIGJhY2tncm91bmRTaWduYWwsIGNhbmNlbEF1dG9CYWNrZ3JvdW5kIH1cbn1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGEgc3BlY2lmaWMgZm9yZWdyb3VuZCBhZ2VudCB0YXNrLlxuICogQHJldHVybnMgdHJ1ZSBpZiBiYWNrZ3JvdW5kZWQgc3VjY2Vzc2Z1bGx5LCBmYWxzZSBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhY2tncm91bmRBZ2VudFRhc2soXG4gIHRhc2tJZDogc3RyaW5nLFxuICBnZXRBcHBTdGF0ZTogKCkgPT4gQXBwU3RhdGUsXG4gIHNldEFwcFN0YXRlOiBTZXRBcHBTdGF0ZSxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBzdGF0ZSA9IGdldEFwcFN0YXRlKClcbiAgY29uc3QgdGFzayA9IHN0YXRlLnRhc2tzW3Rhc2tJZF1cbiAgaWYgKCFpc0xvY2FsQWdlbnRUYXNrKHRhc2spIHx8IHRhc2suaXNCYWNrZ3JvdW5kZWQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8vIFVwZGF0ZSBzdGF0ZSB0byBtYXJrIGFzIGJhY2tncm91bmRlZFxuICBzZXRBcHBTdGF0ZShwcmV2ID0+IHtcbiAgICBjb25zdCBwcmV2VGFzayA9IHByZXYudGFza3NbdGFza0lkXVxuICAgIGlmICghaXNMb2NhbEFnZW50VGFzayhwcmV2VGFzaykpIHtcbiAgICAgIHJldHVybiBwcmV2XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5wcmV2LFxuICAgICAgdGFza3M6IHtcbiAgICAgICAgLi4ucHJldi50YXNrcyxcbiAgICAgICAgW3Rhc2tJZF06IHsgLi4ucHJldlRhc2ssIGlzQmFja2dyb3VuZGVkOiB0cnVlIH0sXG4gICAgICB9LFxuICAgIH1cbiAgfSlcblxuICAvLyBSZXNvbHZlIHRoZSBiYWNrZ3JvdW5kIHNpZ25hbCB0byBpbnRlcnJ1cHQgdGhlIGFnZW50IGxvb3BcbiAgY29uc3QgcmVzb2x2ZXIgPSBiYWNrZ3JvdW5kU2lnbmFsUmVzb2x2ZXJzLmdldCh0YXNrSWQpXG4gIGlmIChyZXNvbHZlcikge1xuICAgIHJlc29sdmVyKClcbiAgICBiYWNrZ3JvdW5kU2lnbmFsUmVzb2x2ZXJzLmRlbGV0ZSh0YXNrSWQpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG4vKipcbiAqIFVucmVnaXN0ZXIgYSBmb3JlZ3JvdW5kIGFnZW50IHRhc2sgd2hlbiB0aGUgYWdlbnQgY29tcGxldGVzIHdpdGhvdXQgYmVpbmcgYmFja2dyb3VuZGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5yZWdpc3RlckFnZW50Rm9yZWdyb3VuZChcbiAgdGFza0lkOiBzdHJpbmcsXG4gIHNldEFwcFN0YXRlOiBTZXRBcHBTdGF0ZSxcbik6IHZvaWQge1xuICAvLyBDbGVhbiB1cCB0aGUgYmFja2dyb3VuZCBzaWduYWwgcmVzb2x2ZXJcbiAgYmFja2dyb3VuZFNpZ25hbFJlc29sdmVycy5kZWxldGUodGFza0lkKVxuXG4gIGxldCBjbGVhbnVwRm46ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZFxuXG4gIHNldEFwcFN0YXRlKHByZXYgPT4ge1xuICAgIGNvbnN0IHRhc2sgPSBwcmV2LnRhc2tzW3Rhc2tJZF1cbiAgICAvLyBPbmx5IHJlbW92ZSBpZiBpdCdzIGEgZm9yZWdyb3VuZCB0YXNrIChub3QgYmFja2dyb3VuZGVkKVxuICAgIGlmICghaXNMb2NhbEFnZW50VGFzayh0YXNrKSB8fCB0YXNrLmlzQmFja2dyb3VuZGVkKSB7XG4gICAgICByZXR1cm4gcHJldlxuICAgIH1cblxuICAgIC8vIENhcHR1cmUgY2xlYW51cCBmdW5jdGlvbiB0byBjYWxsIG91dHNpZGUgb2YgdXBkYXRlclxuICAgIGNsZWFudXBGbiA9IHRhc2sudW5yZWdpc3RlckNsZWFudXBcblxuICAgIGNvbnN0IHsgW3Rhc2tJZF06IHJlbW92ZWQsIC4uLnJlc3QgfSA9IHByZXYudGFza3NcbiAgICByZXR1cm4geyAuLi5wcmV2LCB0YXNrczogcmVzdCB9XG4gIH0pXG5cbiAgLy8gQ2FsbCBjbGVhbnVwIG91dHNpZGUgb2YgdGhlIHN0YXRlIHVwZGF0ZXIgKGF2b2lkIHNpZGUgZWZmZWN0cyBpbiB1cGRhdGVyKVxuICBjbGVhbnVwRm4/LigpXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG1DQUFtQyxRQUFRLDBCQUEwQjtBQUM5RSxTQUNFQyxlQUFlLEVBQ2ZDLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLHFCQUFxQixFQUNyQkMsZUFBZSxFQUNmQyxtQkFBbUIsRUFDbkJDLGlCQUFpQixFQUNqQkMsWUFBWSxRQUNQLHdCQUF3QjtBQUMvQixTQUFTQyxnQkFBZ0IsUUFBUSxnREFBZ0Q7QUFDakYsY0FBY0MsUUFBUSxRQUFRLHlCQUF5QjtBQUN2RCxjQUFjQyxXQUFXLEVBQUVDLElBQUksRUFBRUMsYUFBYSxRQUFRLGVBQWU7QUFDckUsU0FBU0MsbUJBQW1CLFFBQVEsZUFBZTtBQUNuRCxjQUFjQyxLQUFLLFFBQVEsZUFBZTtBQUMxQyxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxjQUFjQyxlQUFlLFFBQVEseUNBQXlDO0FBQzlFLGNBQWNDLGVBQWUsUUFBUSx3Q0FBd0M7QUFDN0UsU0FBU0MsMEJBQTBCLFFBQVEsd0RBQXdEO0FBQ25HLFNBQVNDLFNBQVMsUUFBUSxvQkFBb0I7QUFDOUMsY0FBY0MsT0FBTyxRQUFRLHdCQUF3QjtBQUNyRCxTQUNFQyxxQkFBcUIsRUFDckJDLDBCQUEwQixRQUNyQixnQ0FBZ0M7QUFDdkMsU0FBU0MsZUFBZSxRQUFRLGdDQUFnQztBQUNoRSxTQUFTQyx1QkFBdUIsUUFBUSxtQ0FBbUM7QUFDM0UsU0FBU0MsMEJBQTBCLFFBQVEsb0NBQW9DO0FBQy9FLFNBQVNDLHNCQUFzQixRQUFRLCtCQUErQjtBQUN0RSxTQUNFQyxlQUFlLEVBQ2ZDLGlC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