@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.
- package/LICENSE.md +1 -1
- package/README.md +633 -9
- package/context-bootstrap.js +28 -28
- package/package.json +169 -170
- package/dist/src/QueryEngine.js +0 -928
- package/dist/src/Task.js +0 -49
- package/dist/src/Tool.js +0 -56
- package/dist/src/assistant/AssistantSessionChooser.js +0 -16
- package/dist/src/assistant/index.js +0 -16
- package/dist/src/assistant/sessionDiscovery.js +0 -16
- package/dist/src/assistant/sessionHistory.js +0 -47
- package/dist/src/bootstrap/state.js +0 -1165
- package/dist/src/bridge/bridgeApi.js +0 -304
- package/dist/src/bridge/bridgeConfig.js +0 -39
- package/dist/src/bridge/bridgeDebug.js +0 -73
- package/dist/src/bridge/bridgeEnabled.js +0 -187
- package/dist/src/bridge/bridgeMain.js +0 -2289
- package/dist/src/bridge/bridgeMessaging.js +0 -353
- package/dist/src/bridge/bridgePermissionCallbacks.js +0 -10
- package/dist/src/bridge/bridgePointer.js +0 -175
- package/dist/src/bridge/bridgeStatusUtil.js +0 -105
- package/dist/src/bridge/bridgeUI.js +0 -412
- package/dist/src/bridge/capacityWake.js +0 -35
- package/dist/src/bridge/codeSessionApi.js +0 -111
- package/dist/src/bridge/createSession.js +0 -273
- package/dist/src/bridge/debugUtils.js +0 -115
- package/dist/src/bridge/envLessBridgeConfig.js +0 -121
- package/dist/src/bridge/flushGate.js +0 -65
- package/dist/src/bridge/inboundAttachments.js +0 -152
- package/dist/src/bridge/inboundMessages.js +0 -63
- package/dist/src/bridge/initReplBridge.js +0 -428
- package/dist/src/bridge/jwtUtils.js +0 -185
- package/dist/src/bridge/pollConfig.js +0 -85
- package/dist/src/bridge/pollConfigDefaults.js +0 -62
- package/dist/src/bridge/remoteBridgeCore.js +0 -712
- package/dist/src/bridge/replBridge.js +0 -1720
- package/dist/src/bridge/replBridgeHandle.js +0 -30
- package/dist/src/bridge/replBridgeTransport.js +0 -236
- package/dist/src/bridge/sessionIdCompat.js +0 -56
- package/dist/src/bridge/sessionRunner.js +0 -421
- package/dist/src/bridge/trustedDevice.js +0 -172
- package/dist/src/bridge/types.js +0 -9
- package/dist/src/bridge/workSecret.js +0 -99
- package/dist/src/buddy/CompanionSprite.js +0 -349
- package/dist/src/buddy/companion.js +0 -107
- package/dist/src/buddy/prompt.js +0 -33
- package/dist/src/buddy/sprites.js +0 -488
- package/dist/src/buddy/types.js +0 -90
- package/dist/src/buddy/useBuddyNotification.js +0 -90
- package/dist/src/cli/bg.js +0 -16
- package/dist/src/cli/exit.js +0 -30
- package/dist/src/cli/handlers/agents.js +0 -55
- package/dist/src/cli/handlers/ant.js +0 -16
- package/dist/src/cli/handlers/auth.js +0 -312
- package/dist/src/cli/handlers/autoMode.js +0 -128
- package/dist/src/cli/handlers/mcp.js +0 -334
- package/dist/src/cli/handlers/plugins.js +0 -634
- package/dist/src/cli/handlers/projects_bridge.js +0 -40
- package/dist/src/cli/handlers/templateJobs.js +0 -16
- package/dist/src/cli/handlers/util.js +0 -76
- package/dist/src/cli/ndjsonSafeStringify.js +0 -27
- package/dist/src/cli/print.js +0 -4225
- package/dist/src/cli/remoteIO.js +0 -208
- package/dist/src/cli/rollback.js +0 -16
- package/dist/src/cli/structuredIO.js +0 -644
- package/dist/src/cli/transports/HybridTransport.js +0 -233
- package/dist/src/cli/transports/SSETransport.js +0 -538
- package/dist/src/cli/transports/SerialBatchEventUploader.js +0 -224
- package/dist/src/cli/transports/Transport.js +0 -1
- package/dist/src/cli/transports/WebSocketTransport.js +0 -613
- package/dist/src/cli/transports/WorkerStateUploader.js +0 -88
- package/dist/src/cli/transports/ccrClient.js +0 -711
- package/dist/src/cli/transports/transportUtils.js +0 -39
- package/dist/src/cli/up.js +0 -16
- package/dist/src/cli/update.js +0 -315
- package/dist/src/commands/add-dir/add-dir.js +0 -121
- package/dist/src/commands/add-dir/index.js +0 -8
- package/dist/src/commands/add-dir/validation.js +0 -76
- package/dist/src/commands/advisor.js +0 -88
- package/dist/src/commands/agents/agents.js +0 -9
- package/dist/src/commands/agents/index.js +0 -7
- package/dist/src/commands/ant-trace/index.js +0 -1
- package/dist/src/commands/assistant/assistant.js +0 -16
- package/dist/src/commands/autofix-pr/index.js +0 -1
- package/dist/src/commands/backfill-sessions/index.js +0 -1
- package/dist/src/commands/branch/branch.js +0 -205
- package/dist/src/commands/branch/index.js +0 -11
- package/dist/src/commands/break-cache/index.js +0 -1
- package/dist/src/commands/bridge/bridge.js +0 -512
- package/dist/src/commands/bridge/index.js +0 -22
- package/dist/src/commands/bridge-kick.js +0 -179
- package/dist/src/commands/brief.js +0 -94
- package/dist/src/commands/btw/btw.js +0 -234
- package/dist/src/commands/btw/index.js +0 -9
- package/dist/src/commands/bughunter/index.js +0 -1
- package/dist/src/commands/chrome/chrome.js +0 -291
- package/dist/src/commands/chrome/index.js +0 -10
- package/dist/src/commands/clear/caches.js +0 -116
- package/dist/src/commands/clear/clear.js +0 -5
- package/dist/src/commands/clear/conversation.js +0 -191
- package/dist/src/commands/clear/index.js +0 -9
- package/dist/src/commands/color/color.js +0 -58
- package/dist/src/commands/color/index.js +0 -9
- package/dist/src/commands/commit-push-pr.js +0 -137
- package/dist/src/commands/commit.js +0 -80
- package/dist/src/commands/compact/compact.js +0 -196
- package/dist/src/commands/compact/index.js +0 -11
- package/dist/src/commands/config/config.js +0 -5
- package/dist/src/commands/config/index.js +0 -8
- package/dist/src/commands/context/context-noninteractive.js +0 -221
- package/dist/src/commands/context/context.js +0 -46
- package/dist/src/commands/context/index.js +0 -21
- package/dist/src/commands/copy/copy.js +0 -366
- package/dist/src/commands/copy/index.js +0 -7
- package/dist/src/commands/cost/cost.js +0 -21
- package/dist/src/commands/cost/index.js +0 -16
- package/dist/src/commands/createMovedToPluginCommand.js +0 -33
- package/dist/src/commands/ctx_viz/index.js +0 -1
- package/dist/src/commands/debug-tool-call/index.js +0 -1
- package/dist/src/commands/desktop/desktop.js +0 -5
- package/dist/src/commands/desktop/index.js +0 -22
- package/dist/src/commands/diff/diff.js +0 -5
- package/dist/src/commands/diff/index.js +0 -6
- package/dist/src/commands/doctor/doctor.js +0 -5
- package/dist/src/commands/doctor/index.js +0 -9
- package/dist/src/commands/effort/effort.js +0 -166
- package/dist/src/commands/effort/index.js +0 -11
- package/dist/src/commands/env/index.js +0 -1
- package/dist/src/commands/exit/exit.js +0 -31
- package/dist/src/commands/exit/index.js +0 -9
- package/dist/src/commands/export/export.js +0 -86
- package/dist/src/commands/export/index.js +0 -8
- package/dist/src/commands/extra-usage/extra-usage-core.js +0 -99
- package/dist/src/commands/extra-usage/extra-usage-noninteractive.js +0 -13
- package/dist/src/commands/extra-usage/extra-usage.js +0 -14
- package/dist/src/commands/extra-usage/index.js +0 -27
- package/dist/src/commands/fast/fast.js +0 -275
- package/dist/src/commands/fast/index.js +0 -20
- package/dist/src/commands/feedback/feedback.js +0 -10
- package/dist/src/commands/feedback/index.js +0 -20
- package/dist/src/commands/files/files.js +0 -11
- package/dist/src/commands/files/index.js +0 -9
- package/dist/src/commands/good-claude/index.js +0 -1
- package/dist/src/commands/heapdump/heapdump.js +0 -14
- package/dist/src/commands/heapdump/index.js +0 -9
- package/dist/src/commands/help/help.js +0 -5
- package/dist/src/commands/help/index.js +0 -7
- package/dist/src/commands/hooks/hooks.js +0 -11
- package/dist/src/commands/hooks/index.js +0 -8
- package/dist/src/commands/ide/ide.js +0 -615
- package/dist/src/commands/ide/index.js +0 -8
- package/dist/src/commands/init-verifiers.js +0 -258
- package/dist/src/commands/init.js +0 -249
- package/dist/src/commands/insights.js +0 -2555
- package/dist/src/commands/install-github-app/ApiKeyStep.js +0 -230
- package/dist/src/commands/install-github-app/CheckExistingSecretStep.js +0 -194
- package/dist/src/commands/install-github-app/CheckGitHubStep.js +0 -15
- package/dist/src/commands/install-github-app/ChooseRepoStep.js +0 -211
- package/dist/src/commands/install-github-app/CreatingStep.js +0 -52
- package/dist/src/commands/install-github-app/ErrorStep.js +0 -83
- package/dist/src/commands/install-github-app/ExistingWorkflowStep.js +0 -104
- package/dist/src/commands/install-github-app/InstallAppStep.js +0 -96
- package/dist/src/commands/install-github-app/OAuthFlowStep.js +0 -190
- package/dist/src/commands/install-github-app/SuccessStep.js +0 -93
- package/dist/src/commands/install-github-app/WarningsStep.js +0 -70
- package/dist/src/commands/install-github-app/index.js +0 -10
- package/dist/src/commands/install-github-app/install-github-app.js +0 -593
- package/dist/src/commands/install-github-app/setupGitHubActions.js +0 -227
- package/dist/src/commands/install-slack-app/index.js +0 -9
- package/dist/src/commands/install-slack-app/install-slack-app.js +0 -25
- package/dist/src/commands/install.js +0 -118
- package/dist/src/commands/issue/index.js +0 -1
- package/dist/src/commands/keybindings/index.js +0 -10
- package/dist/src/commands/keybindings/keybindings.js +0 -47
- package/dist/src/commands/login/index.js +0 -11
- package/dist/src/commands/login/login.js +0 -99
- package/dist/src/commands/login-openai/index.js +0 -7
- package/dist/src/commands/login-openai/login-openai.js +0 -54
- package/dist/src/commands/logout/index.js +0 -8
- package/dist/src/commands/logout/logout.js +0 -72
- package/dist/src/commands/mcp/addCommand.js +0 -183
- package/dist/src/commands/mcp/index.js +0 -9
- package/dist/src/commands/mcp/mcp.js +0 -78
- package/dist/src/commands/mcp/xaaIdpCommand.js +0 -193
- package/dist/src/commands/memory/index.js +0 -7
- package/dist/src/commands/memory/memory.js +0 -71
- package/dist/src/commands/mobile/index.js +0 -8
- package/dist/src/commands/mobile/mobile.js +0 -278
- package/dist/src/commands/mock-limits/index.js +0 -1
- package/dist/src/commands/model/index.js +0 -14
- package/dist/src/commands/model/model.js +0 -297
- package/dist/src/commands/oauth-refresh/index.js +0 -1
- package/dist/src/commands/onboarding/index.js +0 -1
- package/dist/src/commands/output-style/index.js +0 -8
- package/dist/src/commands/output-style/output-style.js +0 -6
- package/dist/src/commands/passes/index.js +0 -17
- package/dist/src/commands/passes/passes.js +0 -22
- package/dist/src/commands/perf-issue/index.js +0 -1
- package/dist/src/commands/permissions/index.js +0 -8
- package/dist/src/commands/permissions/permissions.js +0 -8
- package/dist/src/commands/plan/index.js +0 -8
- package/dist/src/commands/plan/plan.js +0 -115
- package/dist/src/commands/plugin/AddMarketplace.js +0 -95
- package/dist/src/commands/plugin/BrowseMarketplace.js +0 -576
- package/dist/src/commands/plugin/DiscoverPlugins.js +0 -613
- package/dist/src/commands/plugin/ManageMarketplaces.js +0 -582
- package/dist/src/commands/plugin/ManagePlugins.js +0 -1783
- package/dist/src/commands/plugin/PluginErrors.js +0 -124
- package/dist/src/commands/plugin/PluginOptionsDialog.js +0 -367
- package/dist/src/commands/plugin/PluginOptionsFlow.js +0 -97
- package/dist/src/commands/plugin/PluginSettings.js +0 -1042
- package/dist/src/commands/plugin/PluginTrustWarning.js +0 -34
- package/dist/src/commands/plugin/UnifiedInstalledCell.js +0 -615
- package/dist/src/commands/plugin/ValidatePlugin.js +0 -95
- package/dist/src/commands/plugin/index.js +0 -10
- package/dist/src/commands/plugin/parseArgs.js +0 -71
- package/dist/src/commands/plugin/plugin.js +0 -5
- package/dist/src/commands/plugin/pluginDetailsHelpers.js +0 -89
- package/dist/src/commands/plugin/usePagination.js +0 -89
- package/dist/src/commands/pr_comments/index.js +0 -49
- package/dist/src/commands/privacy-settings/index.js +0 -11
- package/dist/src/commands/privacy-settings/privacy-settings.js +0 -54
- package/dist/src/commands/profile/index.js +0 -9
- package/dist/src/commands/profile/profile.js +0 -426
- package/dist/src/commands/provider/index.js +0 -8
- package/dist/src/commands/provider/provider.js +0 -349
- package/dist/src/commands/rate-limit-options/index.js +0 -15
- package/dist/src/commands/rate-limit-options/rate-limit-options.js +0 -213
- package/dist/src/commands/release-notes/index.js +0 -8
- package/dist/src/commands/release-notes/release-notes.js +0 -38
- package/dist/src/commands/reload-plugins/index.js +0 -11
- package/dist/src/commands/reload-plugins/reload-plugins.js +0 -52
- package/dist/src/commands/remote-env/index.js +0 -12
- package/dist/src/commands/remote-env/remote-env.js +0 -5
- package/dist/src/commands/remote-setup/api.js +0 -155
- package/dist/src/commands/remote-setup/index.js +0 -15
- package/dist/src/commands/remote-setup/remote-setup.js +0 -149
- package/dist/src/commands/rename/generateSessionName.js +0 -58
- package/dist/src/commands/rename/index.js +0 -9
- package/dist/src/commands/rename/rename.js +0 -52
- package/dist/src/commands/reset-limits/index.js +0 -4
- package/dist/src/commands/resume/index.js +0 -9
- package/dist/src/commands/resume/resume.js +0 -239
- package/dist/src/commands/review/UltrareviewOverageDialog.js +0 -97
- package/dist/src/commands/review/reviewRemote.js +0 -259
- package/dist/src/commands/review/ultrareviewCommand.js +0 -57
- package/dist/src/commands/review/ultrareviewEnabled.js +0 -10
- package/dist/src/commands/review.js +0 -50
- package/dist/src/commands/rewind/index.js +0 -10
- package/dist/src/commands/rewind/rewind.js +0 -7
- package/dist/src/commands/sandbox-toggle/index.js +0 -41
- package/dist/src/commands/sandbox-toggle/sandbox-toggle.js +0 -72
- package/dist/src/commands/security-review.js +0 -231
- package/dist/src/commands/session/index.js +0 -13
- package/dist/src/commands/session/session.js +0 -142
- package/dist/src/commands/share/index.js +0 -1
- package/dist/src/commands/skills/index.js +0 -7
- package/dist/src/commands/skills/skills.js +0 -5
- package/dist/src/commands/stats/index.js +0 -7
- package/dist/src/commands/stats/stats.js +0 -5
- package/dist/src/commands/status/index.js +0 -8
- package/dist/src/commands/status/status.js +0 -5
- package/dist/src/commands/statusline.js +0 -22
- package/dist/src/commands/stickers/index.js +0 -8
- package/dist/src/commands/stickers/stickers.js +0 -14
- package/dist/src/commands/summary/index.js +0 -1
- package/dist/src/commands/tag/index.js +0 -9
- package/dist/src/commands/tag/tag.js +0 -215
- package/dist/src/commands/tasks/index.js +0 -8
- package/dist/src/commands/tasks/tasks.js +0 -5
- package/dist/src/commands/telegram/index.js +0 -9
- package/dist/src/commands/telegram/telegram.js +0 -118
- package/dist/src/commands/teleport/index.js +0 -1
- package/dist/src/commands/terminalSetup/index.js +0 -18
- package/dist/src/commands/terminalSetup/terminalSetup.js +0 -491
- package/dist/src/commands/theme/index.js +0 -7
- package/dist/src/commands/theme/theme.js +0 -50
- package/dist/src/commands/thinkback/index.js +0 -9
- package/dist/src/commands/thinkback/thinkback.js +0 -527
- package/dist/src/commands/thinkback-play/index.js +0 -13
- package/dist/src/commands/thinkback-play/thinkback-play.js +0 -34
- package/dist/src/commands/ultraplan.js +0 -418
- package/dist/src/commands/upgrade/index.js +0 -12
- package/dist/src/commands/upgrade/upgrade.js +0 -37
- package/dist/src/commands/usage/index.js +0 -7
- package/dist/src/commands/usage/usage.js +0 -5
- package/dist/src/commands/version.js +0 -18
- package/dist/src/commands/vim/index.js +0 -8
- package/dist/src/commands/vim/vim.js +0 -25
- package/dist/src/commands/voice/index.js +0 -14
- package/dist/src/commands/voice/voice.js +0 -130
- package/dist/src/commands/whatsapp/index.js +0 -9
- package/dist/src/commands/whatsapp/whatsapp.js +0 -326
- package/dist/src/commands.js +0 -646
- package/dist/src/components/AgentProgressLine.js +0 -111
- package/dist/src/components/App.js +0 -45
- package/dist/src/components/ApproveApiKey.js +0 -124
- package/dist/src/components/AutoModeOptInDialog.js +0 -140
- package/dist/src/components/AutoUpdater.js +0 -157
- package/dist/src/components/AutoUpdaterWrapper.js +0 -78
- package/dist/src/components/AwsAuthStatusBox.js +0 -88
- package/dist/src/components/BaseTextInput.js +0 -105
- package/dist/src/components/BashModeProgress.js +0 -48
- package/dist/src/components/BridgeDialog.js +0 -414
- package/dist/src/components/BypassPermissionsModeDialog.js +0 -87
- package/dist/src/components/ChannelDowngradeDialog.js +0 -100
- package/dist/src/components/ClaudeCodeHint/PluginHintMenu.js +0 -37
- package/dist/src/components/ClaudeInChromeOnboarding.js +0 -126
- package/dist/src/components/ClaudeMdExternalIncludesDialog.js +0 -137
- package/dist/src/components/ClickableImageRef.js +0 -64
- package/dist/src/components/CompactSummary.js +0 -119
- package/dist/src/components/ConfigurableShortcutHint.js +0 -34
- package/dist/src/components/ConsoleOAuthFlow.js +0 -756
- package/dist/src/components/ContextSuggestions.js +0 -43
- package/dist/src/components/ContextVisualization.js +0 -483
- package/dist/src/components/CoordinatorAgentStatus.js +0 -261
- package/dist/src/components/CostThresholdDialog.js +0 -48
- package/dist/src/components/CtrlOToExpand.js +0 -50
- package/dist/src/components/CustomSelect/SelectMulti.js +0 -149
- package/dist/src/components/CustomSelect/index.js +0 -2
- package/dist/src/components/CustomSelect/option-map.js +0 -32
- package/dist/src/components/CustomSelect/select-input-option.js +0 -426
- package/dist/src/components/CustomSelect/select-option.js +0 -23
- package/dist/src/components/CustomSelect/select.js +0 -518
- package/dist/src/components/CustomSelect/use-multi-select-state.js +0 -214
- package/dist/src/components/CustomSelect/use-select-input.js +0 -170
- package/dist/src/components/CustomSelect/use-select-navigation.js +0 -366
- package/dist/src/components/CustomSelect/use-select-state.js +0 -22
- package/dist/src/components/DesktopHandoff.js +0 -195
- package/dist/src/components/DesktopUpsell/DesktopUpsellStartup.js +0 -173
- package/dist/src/components/DevBar.js +0 -50
- package/dist/src/components/DevChannelsDialog.js +0 -103
- package/dist/src/components/DiagnosticsDisplay.js +0 -91
- package/dist/src/components/EffortCallout.js +0 -264
- package/dist/src/components/EffortIndicator.js +0 -29
- package/dist/src/components/ExitFlow.js +0 -40
- package/dist/src/components/ExportDialog.js +0 -101
- package/dist/src/components/FallbackToolUseErrorMessage.js +0 -115
- package/dist/src/components/FallbackToolUseRejectedMessage.js +0 -16
- package/dist/src/components/FastIcon.js +0 -42
- package/dist/src/components/Feedback.js +0 -439
- package/dist/src/components/FeedbackSurvey/FeedbackSurvey.js +0 -150
- package/dist/src/components/FeedbackSurvey/FeedbackSurveyView.js +0 -103
- package/dist/src/components/FeedbackSurvey/TranscriptSharePrompt.js +0 -83
- package/dist/src/components/FeedbackSurvey/submitTranscriptShare.js +0 -75
- package/dist/src/components/FeedbackSurvey/useDebouncedDigitInput.js +0 -51
- package/dist/src/components/FeedbackSurvey/useFeedbackSurvey.js +0 -258
- package/dist/src/components/FeedbackSurvey/useMemorySurvey.js +0 -191
- package/dist/src/components/FeedbackSurvey/usePostCompactSurvey.js +0 -202
- package/dist/src/components/FeedbackSurvey/useSurveyState.js +0 -80
- package/dist/src/components/FileEditToolDiff.js +0 -166
- package/dist/src/components/FileEditToolUpdatedMessage.js +0 -111
- package/dist/src/components/FileEditToolUseRejectedMessage.js +0 -157
- package/dist/src/components/FilePathLink.js +0 -34
- package/dist/src/components/FullscreenLayout.js +0 -578
- package/dist/src/components/GlobalSearchDialog.js +0 -339
- package/dist/src/components/HelpV2/Commands.js +0 -65
- package/dist/src/components/HelpV2/General.js +0 -24
- package/dist/src/components/HelpV2/HelpV2.js +0 -186
- package/dist/src/components/HighlightedCode/Fallback.js +0 -193
- package/dist/src/components/HighlightedCode.js +0 -184
- package/dist/src/components/HistorySearchDialog.js +0 -92
- package/dist/src/components/IdeAutoConnectDialog.js +0 -153
- package/dist/src/components/IdeOnboardingDialog.js +0 -174
- package/dist/src/components/IdeStatusIndicator.js +0 -49
- package/dist/src/components/IdleReturnDialog.js +0 -116
- package/dist/src/components/InterruptedByUser.js +0 -15
- package/dist/src/components/InvalidConfigDialog.js +0 -134
- package/dist/src/components/InvalidSettingsDialog.js +0 -84
- package/dist/src/components/KeybindingWarnings.js +0 -54
- package/dist/src/components/LanguagePicker.js +0 -84
- package/dist/src/components/LogSelector.js +0 -1579
- package/dist/src/components/LogoV2/AnimatedAsterisk.js +0 -42
- package/dist/src/components/LogoV2/AnimatedClawd.js +0 -111
- package/dist/src/components/LogoV2/ChannelsNotice.js +0 -258
- package/dist/src/components/LogoV2/Clawd.js +0 -5
- package/dist/src/components/LogoV2/CondensedLogo.js +0 -159
- package/dist/src/components/LogoV2/EmergencyTip.js +0 -47
- package/dist/src/components/LogoV2/Feed.js +0 -84
- package/dist/src/components/LogoV2/FeedColumn.js +0 -55
- package/dist/src/components/LogoV2/GuestPassesUpsell.js +0 -71
- package/dist/src/components/LogoV2/LogoV2.js +0 -565
- package/dist/src/components/LogoV2/Opus1mMergeNotice.js +0 -56
- package/dist/src/components/LogoV2/OverageCreditUpsell.js +0 -160
- package/dist/src/components/LogoV2/VoiceModeNotice.js +0 -70
- package/dist/src/components/LogoV2/WelcomeV2.js +0 -461
- package/dist/src/components/LogoV2/feedConfigs.js +0 -78
- package/dist/src/components/LspRecommendation/LspRecommendationMenu.js +0 -46
- package/dist/src/components/MCPServerApprovalDialog.js +0 -113
- package/dist/src/components/MCPServerDesktopImportDialog.js +0 -206
- package/dist/src/components/MCPServerDialogCopy.js +0 -15
- package/dist/src/components/MCPServerMultiselectDialog.js +0 -133
- package/dist/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.js +0 -149
- package/dist/src/components/ManagedSettingsSecurityDialog/utils.js +0 -105
- package/dist/src/components/Markdown.js +0 -217
- package/dist/src/components/MarkdownTable.js +0 -279
- package/dist/src/components/MemoryUsageIndicator.js +0 -27
- package/dist/src/components/Message.js +0 -566
- package/dist/src/components/MessageModel.js +0 -36
- package/dist/src/components/MessageResponse.js +0 -73
- package/dist/src/components/MessageRow.js +0 -346
- package/dist/src/components/MessageSelector.js +0 -743
- package/dist/src/components/MessageTimestamp.js +0 -57
- package/dist/src/components/Messages.js +0 -637
- package/dist/src/components/ModelPicker.js +0 -484
- package/dist/src/components/NativeAutoUpdater.js +0 -153
- package/dist/src/components/NotebookEditToolUseRejectedMessage.js +0 -83
- package/dist/src/components/OffscreenFreeze.js +0 -35
- package/dist/src/components/Onboarding.js +0 -174
- package/dist/src/components/OutputStylePicker.js +0 -102
- package/dist/src/components/PackageManagerAutoUpdater.js +0 -100
- package/dist/src/components/Passes/Passes.js +0 -113
- package/dist/src/components/PrBadge.js +0 -90
- package/dist/src/components/PressEnterToContinue.js +0 -15
- package/dist/src/components/PromptInput/HistorySearchInput.js +0 -44
- package/dist/src/components/PromptInput/IssueFlagBanner.js +0 -8
- package/dist/src/components/PromptInput/Notifications.js +0 -221
- package/dist/src/components/PromptInput/PromptInput.js +0 -1998
- package/dist/src/components/PromptInput/PromptInputFooter.js +0 -84
- package/dist/src/components/PromptInput/PromptInputFooterLeftSide.js +0 -409
- package/dist/src/components/PromptInput/PromptInputFooterSuggestions.js +0 -280
- package/dist/src/components/PromptInput/PromptInputHelpMenu.js +0 -379
- package/dist/src/components/PromptInput/PromptInputModeIndicator.js +0 -72
- package/dist/src/components/PromptInput/PromptInputQueuedCommands.js +0 -105
- package/dist/src/components/PromptInput/PromptInputStashNotice.js +0 -20
- package/dist/src/components/PromptInput/SandboxPromptFooterHint.js +0 -65
- package/dist/src/components/PromptInput/ShimmeredInput.js +0 -132
- package/dist/src/components/PromptInput/VoiceIndicator.js +0 -136
- package/dist/src/components/PromptInput/inputModes.js +0 -24
- package/dist/src/components/PromptInput/inputPaste.js +0 -62
- package/dist/src/components/PromptInput/useMaybeTruncateInput.js +0 -33
- package/dist/src/components/PromptInput/usePromptInputPlaceholder.js +0 -55
- package/dist/src/components/PromptInput/useShowFastIconHint.js +0 -23
- package/dist/src/components/PromptInput/useSwarmBanner.js +0 -112
- package/dist/src/components/PromptInput/utils.js +0 -50
- package/dist/src/components/QuickOpenDialog.js +0 -243
- package/dist/src/components/RemoteCallout.js +0 -53
- package/dist/src/components/RemoteEnvironmentDialog.js +0 -345
- package/dist/src/components/ResumeTask.js +0 -173
- package/dist/src/components/SandboxViolationExpandedView.js +0 -102
- package/dist/src/components/ScrollKeybindingHandler.js +0 -982
- package/dist/src/components/SearchBox.js +0 -55
- package/dist/src/components/SentryErrorBoundary.js +0 -16
- package/dist/src/components/SessionBackgroundHint.js +0 -104
- package/dist/src/components/SessionPreview.js +0 -200
- package/dist/src/components/Settings/Config.js +0 -1628
- package/dist/src/components/Settings/Settings.js +0 -129
- package/dist/src/components/Settings/Status.js +0 -230
- package/dist/src/components/Settings/Usage.js +0 -341
- package/dist/src/components/ShowInIDEPrompt.js +0 -151
- package/dist/src/components/SkillImprovementSurvey.js +0 -130
- package/dist/src/components/Spinner/FlashingChar.js +0 -51
- package/dist/src/components/Spinner/GlimmerMessage.js +0 -328
- package/dist/src/components/Spinner/ShimmerChar.js +0 -22
- package/dist/src/components/Spinner/SpinnerAnimationRow.js +0 -169
- package/dist/src/components/Spinner/SpinnerGlyph.js +0 -69
- package/dist/src/components/Spinner/TeammateSpinnerLine.js +0 -170
- package/dist/src/components/Spinner/TeammateSpinnerTree.js +0 -268
- package/dist/src/components/Spinner/index.js +0 -11
- package/dist/src/components/Spinner/teammateSelectHint.js +0 -1
- package/dist/src/components/Spinner/useShimmerAnimation.js +0 -22
- package/dist/src/components/Spinner/useStalledAnimation.js +0 -63
- package/dist/src/components/Spinner/utils.js +0 -77
- package/dist/src/components/Spinner.js +0 -470
- package/dist/src/components/Stats.js +0 -1000
- package/dist/src/components/StatusLine.js +0 -285
- package/dist/src/components/StatusNotices.js +0 -50
- package/dist/src/components/StructuredDiff/Fallback.js +0 -335
- package/dist/src/components/StructuredDiff/colorDiff.js +0 -26
- package/dist/src/components/StructuredDiff.js +0 -152
- package/dist/src/components/StructuredDiffList.js +0 -8
- package/dist/src/components/TagTabs.js +0 -100
- package/dist/src/components/TaskListV2.js +0 -333
- package/dist/src/components/TeammateViewHeader.js +0 -87
- package/dist/src/components/TeleportError.js +0 -191
- package/dist/src/components/TeleportProgress.js +0 -130
- package/dist/src/components/TeleportRepoMismatchDialog.js +0 -98
- package/dist/src/components/TeleportResumeWrapper.js +0 -158
- package/dist/src/components/TeleportStash.js +0 -82
- package/dist/src/components/TextInput.js +0 -108
- package/dist/src/components/ThemePicker.js +0 -330
- package/dist/src/components/ThinkingToggle.js +0 -153
- package/dist/src/components/TokenWarning.js +0 -172
- package/dist/src/components/ToolUseLoader.js +0 -34
- package/dist/src/components/TrustDialog/TrustDialog.js +0 -301
- package/dist/src/components/TrustDialog/utils.js +0 -199
- package/dist/src/components/ValidationErrorsList.js +0 -146
- package/dist/src/components/VimTextInput.js +0 -136
- package/dist/src/components/VirtualMessageList.js +0 -892
- package/dist/src/components/WorkflowMultiselectDialog.js +0 -118
- package/dist/src/components/WorktreeExitDialog.js +0 -222
- package/dist/src/components/agents/AgentDetail.js +0 -226
- package/dist/src/components/agents/AgentEditor.js +0 -146
- package/dist/src/components/agents/AgentNavigationFooter.js +0 -21
- package/dist/src/components/agents/AgentsList.js +0 -436
- package/dist/src/components/agents/AgentsMenu.js +0 -848
- package/dist/src/components/agents/ColorPicker.js +0 -110
- package/dist/src/components/agents/ModelSelector.js +0 -62
- package/dist/src/components/agents/SnapshotUpdateDialog.js +0 -16
- package/dist/src/components/agents/ToolSelector.js +0 -557
- package/dist/src/components/agents/agentFileUtils.js +0 -179
- package/dist/src/components/agents/generateAgent.js +0 -161
- package/dist/src/components/agents/new-agent-creation/CreateAgentWizard.js +0 -88
- package/dist/src/components/agents/new-agent-creation/wizard-steps/ColorStep.js +0 -80
- package/dist/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.js +0 -386
- package/dist/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.js +0 -63
- package/dist/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.js +0 -126
- package/dist/src/components/agents/new-agent-creation/wizard-steps/GenerateStep.js +0 -118
- package/dist/src/components/agents/new-agent-creation/wizard-steps/LocationStep.js +0 -79
- package/dist/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.js +0 -107
- package/dist/src/components/agents/new-agent-creation/wizard-steps/MethodStep.js +0 -79
- package/dist/src/components/agents/new-agent-creation/wizard-steps/ModelStep.js +0 -48
- package/dist/src/components/agents/new-agent-creation/wizard-steps/PromptStep.js +0 -131
- package/dist/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.js +0 -51
- package/dist/src/components/agents/new-agent-creation/wizard-steps/TypeStep.js +0 -100
- package/dist/src/components/agents/types.js +0 -4
- package/dist/src/components/agents/utils.js +0 -14
- package/dist/src/components/agents/validateAgent.js +0 -79
- package/dist/src/components/design-system/Byline.js +0 -72
- package/dist/src/components/design-system/Dialog.js +0 -116
- package/dist/src/components/design-system/Divider.js +0 -109
- package/dist/src/components/design-system/FuzzyPicker.js +0 -187
- package/dist/src/components/design-system/KeyboardShortcutHint.js +0 -67
- package/dist/src/components/design-system/ListItem.js +0 -183
- package/dist/src/components/design-system/LoadingState.js +0 -68
- package/dist/src/components/design-system/Pane.js +0 -68
- package/dist/src/components/design-system/ProgressBar.js +0 -62
- package/dist/src/components/design-system/Ratchet.js +0 -71
- package/dist/src/components/design-system/StatusIcon.js +0 -69
- package/dist/src/components/design-system/Tabs.js +0 -269
- package/dist/src/components/design-system/ThemeProvider.js +0 -137
- package/dist/src/components/design-system/ThemedBox.js +0 -125
- package/dist/src/components/design-system/ThemedText.js +0 -60
- package/dist/src/components/design-system/color.js +0 -22
- package/dist/src/components/diff/DiffDetailView.js +0 -284
- package/dist/src/components/diff/DiffDialog.js +0 -387
- package/dist/src/components/diff/DiffFileList.js +0 -291
- package/dist/src/components/grove/Grove.js +0 -483
- package/dist/src/components/hooks/HooksConfigMenu.js +0 -570
- package/dist/src/components/hooks/PromptDialog.js +0 -81
- package/dist/src/components/hooks/SelectEventMode.js +0 -117
- package/dist/src/components/hooks/SelectHookMode.js +0 -93
- package/dist/src/components/hooks/SelectMatcherMode.js +0 -124
- package/dist/src/components/hooks/ViewHookMode.js +0 -197
- package/dist/src/components/mcp/CapabilitiesSection.js +0 -55
- package/dist/src/components/mcp/ElicitationDialog.js +0 -945
- package/dist/src/components/mcp/MCPAgentServerMenu.js +0 -95
- package/dist/src/components/mcp/MCPListPanel.js +0 -504
- package/dist/src/components/mcp/MCPReconnect.js +0 -168
- package/dist/src/components/mcp/MCPRemoteServerMenu.js +0 -460
- package/dist/src/components/mcp/MCPSettings.js +0 -414
- package/dist/src/components/mcp/MCPStdioServerMenu.js +0 -95
- package/dist/src/components/mcp/MCPToolDetailView.js +0 -219
- package/dist/src/components/mcp/MCPToolListView.js +0 -136
- package/dist/src/components/mcp/McpParsingWarnings.js +0 -211
- package/dist/src/components/mcp/index.js +0 -8
- package/dist/src/components/mcp/types.js +0 -3
- package/dist/src/components/mcp/utils/reconnectHelpers.js +0 -35
- package/dist/src/components/memory/MemoryFileSelector.js +0 -455
- package/dist/src/components/memory/MemoryUpdateNotification.js +0 -42
- package/dist/src/components/messageActions.js +0 -418
- package/dist/src/components/messages/AdvisorMessage.js +0 -151
- package/dist/src/components/messages/AssistantRedactedThinkingMessage.js +0 -27
- package/dist/src/components/messages/AssistantTextMessage.js +0 -274
- package/dist/src/components/messages/AssistantThinkingMessage.js +0 -69
- package/dist/src/components/messages/AssistantToolUseMessage.js +0 -323
- package/dist/src/components/messages/AttachmentMessage.js +0 -418
- package/dist/src/components/messages/CollapsedReadSearchContent.js +0 -362
- package/dist/src/components/messages/CompactBoundaryMessage.js +0 -18
- package/dist/src/components/messages/GroupedToolUseContent.js +0 -37
- package/dist/src/components/messages/HighlightedThinkingText.js +0 -164
- package/dist/src/components/messages/HookProgressMessage.js +0 -110
- package/dist/src/components/messages/PlanApprovalMessage.js +0 -212
- package/dist/src/components/messages/RateLimitMessage.js +0 -149
- package/dist/src/components/messages/ShutdownMessage.js +0 -123
- package/dist/src/components/messages/SystemAPIErrorMessage.js +0 -135
- package/dist/src/components/messages/SystemTextMessage.js +0 -843
- package/dist/src/components/messages/TaskAssignmentMessage.js +0 -71
- package/dist/src/components/messages/UserAgentNotificationMessage.js +0 -77
- package/dist/src/components/messages/UserBashInputMessage.js +0 -51
- package/dist/src/components/messages/UserBashOutputMessage.js +0 -54
- package/dist/src/components/messages/UserChannelMessage.js +0 -129
- package/dist/src/components/messages/UserCommandMessage.js +0 -106
- package/dist/src/components/messages/UserImageMessage.js +0 -53
- package/dist/src/components/messages/UserLocalCommandOutputMessage.js +0 -169
- package/dist/src/components/messages/UserMemoryInputMessage.js +0 -72
- package/dist/src/components/messages/UserPlanMessage.js +0 -37
- package/dist/src/components/messages/UserPromptMessage.js +0 -63
- package/dist/src/components/messages/UserResourceUpdateMessage.js +0 -101
- package/dist/src/components/messages/UserTeammateMessage.js +0 -156
- package/dist/src/components/messages/UserTextMessage.js +0 -271
- package/dist/src/components/messages/UserToolResultMessage/RejectedPlanMessage.js +0 -27
- package/dist/src/components/messages/UserToolResultMessage/RejectedToolUseMessage.js +0 -16
- package/dist/src/components/messages/UserToolResultMessage/UserToolCanceledMessage.js +0 -16
- package/dist/src/components/messages/UserToolResultMessage/UserToolErrorMessage.js +0 -91
- package/dist/src/components/messages/UserToolResultMessage/UserToolRejectMessage.js +0 -73
- package/dist/src/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -83
- package/dist/src/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -58
- package/dist/src/components/messages/UserToolResultMessage/utils.js +0 -43
- package/dist/src/components/messages/nullRenderingAttachments.js +0 -58
- package/dist/src/components/messages/teamMemCollapsed.js +0 -142
- package/dist/src/components/messages/teamMemSaved.js +0 -17
- package/dist/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.js +0 -654
- package/dist/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.js +0 -219
- package/dist/src/components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.js +0 -227
- package/dist/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.js +0 -174
- package/dist/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.js +0 -444
- package/dist/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.js +0 -136
- package/dist/src/components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.js +0 -100
- package/dist/src/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -404
- package/dist/src/components/permissions/BashPermissionRequest/bashToolUseOptions.js +0 -110
- package/dist/src/components/permissions/ComputerUseApproval/ComputerUseApproval.js +0 -448
- package/dist/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.js +0 -125
- package/dist/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.js +0 -650
- package/dist/src/components/permissions/FallbackPermissionRequest.js +0 -348
- package/dist/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -184
- package/dist/src/components/permissions/FilePermissionDialog/FilePermissionDialog.js +0 -108
- package/dist/src/components/permissions/FilePermissionDialog/ideDiffConfig.js +0 -13
- package/dist/src/components/permissions/FilePermissionDialog/permissionOptions.js +0 -136
- package/dist/src/components/permissions/FilePermissionDialog/useFilePermissionDialog.js +0 -131
- package/dist/src/components/permissions/FilePermissionDialog/usePermissionHandler.js +0 -86
- package/dist/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -163
- package/dist/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -78
- package/dist/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -112
- package/dist/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.js +0 -163
- package/dist/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.js +0 -217
- package/dist/src/components/permissions/PermissionDecisionDebugInfo.js +0 -466
- package/dist/src/components/permissions/PermissionDialog.js +0 -54
- package/dist/src/components/permissions/PermissionExplanation.js +0 -269
- package/dist/src/components/permissions/PermissionPrompt.js +0 -316
- package/dist/src/components/permissions/PermissionRequest.js +0 -160
- package/dist/src/components/permissions/PermissionRequestTitle.js +0 -57
- package/dist/src/components/permissions/PermissionRuleExplanation.js +0 -109
- package/dist/src/components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.js +0 -178
- package/dist/src/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.js +0 -73
- package/dist/src/components/permissions/SandboxPermissionRequest.js +0 -161
- package/dist/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.js +0 -228
- package/dist/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.js +0 -384
- package/dist/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.js +0 -258
- package/dist/src/components/permissions/WorkerBadge.js +0 -43
- package/dist/src/components/permissions/WorkerPendingPermission.js +0 -106
- package/dist/src/components/permissions/hooks.js +0 -163
- package/dist/src/components/permissions/rules/AddPermissionRules.js +0 -170
- package/dist/src/components/permissions/rules/AddWorkspaceDirectory.js +0 -334
- package/dist/src/components/permissions/rules/PermissionRuleDescription.js +0 -77
- package/dist/src/components/permissions/rules/PermissionRuleInput.js +0 -135
- package/dist/src/components/permissions/rules/PermissionRuleList.js +0 -1189
- package/dist/src/components/permissions/rules/RecentDenialsTab.js +0 -204
- package/dist/src/components/permissions/rules/RemoveWorkspaceDirectory.js +0 -102
- package/dist/src/components/permissions/rules/WorkspaceTab.js +0 -132
- package/dist/src/components/permissions/shellPermissionHelpers.js +0 -111
- package/dist/src/components/permissions/useShellPermissionFeedback.js +0 -108
- package/dist/src/components/permissions/utils.js +0 -14
- package/dist/src/components/sandbox/SandboxConfigTab.js +0 -47
- package/dist/src/components/sandbox/SandboxDependenciesTab.js +0 -122
- package/dist/src/components/sandbox/SandboxDoctorSection.js +0 -46
- package/dist/src/components/sandbox/SandboxOverridesTab.js +0 -192
- package/dist/src/components/sandbox/SandboxSettings.js +0 -296
- package/dist/src/components/shell/ExpandShellOutputContext.js +0 -33
- package/dist/src/components/shell/OutputLine.js +0 -110
- package/dist/src/components/shell/ShellProgressMessage.js +0 -143
- package/dist/src/components/shell/ShellTimeDisplay.js +0 -71
- package/dist/src/components/skills/SkillsMenu.js +0 -238
- package/dist/src/components/tasks/AsyncAgentDetailDialog.js +0 -234
- package/dist/src/components/tasks/BackgroundTask.js +0 -363
- package/dist/src/components/tasks/BackgroundTaskStatus.js +0 -419
- package/dist/src/components/tasks/BackgroundTasksDialog.js +0 -496
- package/dist/src/components/tasks/DreamDetailDialog.js +0 -250
- package/dist/src/components/tasks/InProcessTeammateDetailDialog.js +0 -274
- package/dist/src/components/tasks/RemoteSessionDetailDialog.js +0 -868
- package/dist/src/components/tasks/RemoteSessionProgress.js +0 -249
- package/dist/src/components/tasks/ShellDetailDialog.js +0 -403
- package/dist/src/components/tasks/ShellProgress.js +0 -76
- package/dist/src/components/tasks/renderToolActivity.js +0 -28
- package/dist/src/components/tasks/taskStatusUtils.js +0 -94
- package/dist/src/components/teams/TeamStatus.js +0 -76
- package/dist/src/components/teams/TeamsDialog.js +0 -672
- package/dist/src/components/ui/OrderedList.js +0 -66
- package/dist/src/components/ui/OrderedListItem.js +0 -41
- package/dist/src/components/ui/TreeSelect.js +0 -300
- package/dist/src/components/wizard/WizardDialogLayout.js +0 -47
- package/dist/src/components/wizard/WizardNavigationFooter.js +0 -10
- package/dist/src/components/wizard/WizardProvider.js +0 -217
- package/dist/src/components/wizard/index.js +0 -4
- package/dist/src/components/wizard/useWizard.js +0 -9
- package/dist/src/constants/apiLimits.js +0 -81
- package/dist/src/constants/betas.js +0 -45
- package/dist/src/constants/common.js +0 -29
- package/dist/src/constants/cyberRiskInstruction.js +0 -24
- package/dist/src/constants/errorIds.js +0 -14
- package/dist/src/constants/figures.js +0 -38
- package/dist/src/constants/files.js +0 -150
- package/dist/src/constants/github-app.js +0 -139
- package/dist/src/constants/keys.js +0 -10
- package/dist/src/constants/messages.js +0 -1
- package/dist/src/constants/oauth.js +0 -221
- package/dist/src/constants/outputStyles.js +0 -162
- package/dist/src/constants/product.js +0 -56
- package/dist/src/constants/prompts.js +0 -752
- package/dist/src/constants/spinnerVerbs.js +0 -202
- package/dist/src/constants/system.js +0 -77
- package/dist/src/constants/systemPromptSections.js +0 -39
- package/dist/src/constants/toolLimits.js +0 -50
- package/dist/src/constants/tools.js +0 -103
- package/dist/src/constants/turnCompletionVerbs.js +0 -12
- package/dist/src/constants/xml.js +0 -73
- package/dist/src/context/QueuedMessageContext.js +0 -51
- package/dist/src/context/fpsMetrics.js +0 -22
- package/dist/src/context/mailbox.js +0 -35
- package/dist/src/context/modalContext.js +0 -34
- package/dist/src/context/notifications.js +0 -199
- package/dist/src/context/overlayContext.js +0 -149
- package/dist/src/context/promptOverlayContext.js +0 -118
- package/dist/src/context/stats.js +0 -207
- package/dist/src/context/voice.js +0 -74
- package/dist/src/context.js +0 -146
- package/dist/src/coordinator/coordinatorMode.js +0 -345
- package/dist/src/cost-tracker.js +0 -208
- package/dist/src/costHook.js +0 -17
- package/dist/src/daemon/main.js +0 -16
- package/dist/src/daemon/workerRegistry.js +0 -16
- package/dist/src/dialogLaunchers.js +0 -68
- package/dist/src/entrypoints/agentSdkTypes.js +0 -202
- package/dist/src/entrypoints/cli.js +0 -237
- package/dist/src/entrypoints/init.js +0 -265
- package/dist/src/entrypoints/mcp.js +0 -142
- package/dist/src/entrypoints/sandboxTypes.js +0 -112
- package/dist/src/entrypoints/sdk/controlSchemas.js +0 -452
- package/dist/src/entrypoints/sdk/controlTypes.js +0 -1
- package/dist/src/entrypoints/sdk/coreSchemas.js +0 -1331
- package/dist/src/entrypoints/sdk/coreTypes.generated.js +0 -1
- package/dist/src/entrypoints/sdk/coreTypes.js +0 -49
- package/dist/src/entrypoints/sdk/runtimeTypes.js +0 -1
- package/dist/src/entrypoints/sdk/toolTypes.js +0 -1
- package/dist/src/environment-runner/main.js +0 -16
- package/dist/src/history.js +0 -386
- package/dist/src/hooks/fileSuggestions.js +0 -635
- package/dist/src/hooks/notifs/useAutoModeUnavailableNotification.js +0 -47
- package/dist/src/hooks/notifs/useCanSwitchToExistingSubscription.js +0 -57
- package/dist/src/hooks/notifs/useDeprecationWarningNotification.js +0 -43
- package/dist/src/hooks/notifs/useFastModeNotification.js +0 -164
- package/dist/src/hooks/notifs/useIDEStatusIndicator.js +0 -174
- package/dist/src/hooks/notifs/useInstallMessages.js +0 -27
- package/dist/src/hooks/notifs/useLspInitializationNotification.js +0 -144
- package/dist/src/hooks/notifs/useMcpConnectivityStatus.js +0 -80
- package/dist/src/hooks/notifs/useModelMigrationNotifications.js +0 -53
- package/dist/src/hooks/notifs/useNpmDeprecationNotification.js +0 -24
- package/dist/src/hooks/notifs/usePluginAutoupdateNotification.js +0 -82
- package/dist/src/hooks/notifs/usePluginInstallationStatus.js +0 -127
- package/dist/src/hooks/notifs/useRateLimitWarningNotification.js +0 -118
- package/dist/src/hooks/notifs/useSettingsErrors.js +0 -64
- package/dist/src/hooks/notifs/useStartupNotification.js +0 -33
- package/dist/src/hooks/notifs/useTeammateShutdownNotification.js +0 -64
- package/dist/src/hooks/renderPlaceholder.js +0 -26
- package/dist/src/hooks/toolPermission/PermissionContext.js +0 -211
- package/dist/src/hooks/toolPermission/handlers/coordinatorHandler.js +0 -44
- package/dist/src/hooks/toolPermission/handlers/interactiveHandler.js +0 -397
- package/dist/src/hooks/toolPermission/handlers/swarmWorkerHandler.js +0 -108
- package/dist/src/hooks/toolPermission/permissionLogging.js +0 -145
- package/dist/src/hooks/unifiedSuggestions.js +0 -130
- package/dist/src/hooks/useAfterFirstRender.js +0 -12
- package/dist/src/hooks/useApiKeyVerification.js +0 -63
- package/dist/src/hooks/useArrowKeyHistory.js +0 -203
- package/dist/src/hooks/useAssistantHistory.js +0 -194
- package/dist/src/hooks/useAwaySummary.js +0 -105
- package/dist/src/hooks/useBackgroundTaskNavigation.js +0 -204
- package/dist/src/hooks/useBlink.js +0 -28
- package/dist/src/hooks/useCanUseTool.js +0 -192
- package/dist/src/hooks/useCancelRequest.js +0 -195
- package/dist/src/hooks/useChromeExtensionNotification.js +0 -49
- package/dist/src/hooks/useClaudeCodeHintRecommendation.js +0 -117
- package/dist/src/hooks/useClipboardImageHint.js +0 -59
- package/dist/src/hooks/useCommandKeybindings.js +0 -87
- package/dist/src/hooks/useCommandQueue.js +0 -10
- package/dist/src/hooks/useCopyOnSelect.js +0 -88
- package/dist/src/hooks/useDeferredHookMessages.js +0 -43
- package/dist/src/hooks/useDiffData.js +0 -69
- package/dist/src/hooks/useDiffInIDE.js +0 -252
- package/dist/src/hooks/useDirectConnect.js +0 -150
- package/dist/src/hooks/useDoublePress.js +0 -44
- package/dist/src/hooks/useDynamicConfig.js +0 -17
- package/dist/src/hooks/useElapsedTime.js +0 -25
- package/dist/src/hooks/useExitOnCtrlCD.js +0 -57
- package/dist/src/hooks/useExitOnCtrlCDWithKeybindings.js +0 -17
- package/dist/src/hooks/useFileHistorySnapshotInit.js +0 -14
- package/dist/src/hooks/useGlobalKeybindings.js +0 -215
- package/dist/src/hooks/useHistorySearch.js +0 -241
- package/dist/src/hooks/useIDEIntegration.js +0 -56
- package/dist/src/hooks/useIdeAtMentioned.js +0 -51
- package/dist/src/hooks/useIdeConnectionStatus.js +0 -21
- package/dist/src/hooks/useIdeLogging.js +0 -29
- package/dist/src/hooks/useIdeSelection.js +0 -106
- package/dist/src/hooks/useInboxPoller.js +0 -709
- package/dist/src/hooks/useInputBuffer.js +0 -73
- package/dist/src/hooks/useIssueFlagBanner.js +0 -115
- package/dist/src/hooks/useLogMessages.js +0 -98
- package/dist/src/hooks/useLspPluginRecommendation.js +0 -176
- package/dist/src/hooks/useMailboxBridge.js +0 -15
- package/dist/src/hooks/useMainLoopModel.js +0 -25
- package/dist/src/hooks/useManagePlugins.js +0 -261
- package/dist/src/hooks/useMemoryUsage.js +0 -28
- package/dist/src/hooks/useMergedClients.js +0 -11
- package/dist/src/hooks/useMergedCommands.js +0 -10
- package/dist/src/hooks/useMergedTools.js +0 -32
- package/dist/src/hooks/useMinDisplayTime.js +0 -26
- package/dist/src/hooks/useNotifyAfterTimeout.js +0 -51
- package/dist/src/hooks/useOfficialMarketplaceNotification.js +0 -46
- package/dist/src/hooks/usePasteHandler.js +0 -188
- package/dist/src/hooks/usePluginRecommendationBase.js +0 -101
- package/dist/src/hooks/usePrStatus.js +0 -91
- package/dist/src/hooks/usePromptSuggestion.js +0 -128
- package/dist/src/hooks/usePromptsFromClaudeInChrome.js +0 -66
- package/dist/src/hooks/useQueueProcessor.js +0 -46
- package/dist/src/hooks/useRemoteSession.js +0 -431
- package/dist/src/hooks/useReplBridge.js +0 -717
- package/dist/src/hooks/useSSHSession.js +0 -167
- package/dist/src/hooks/useScheduledTasks.js +0 -104
- package/dist/src/hooks/useSearchInput.js +0 -302
- package/dist/src/hooks/useSessionBackgrounding.js +0 -132
- package/dist/src/hooks/useSettings.js +0 -10
- package/dist/src/hooks/useSettingsChange.js +0 -13
- package/dist/src/hooks/useSkillImprovementSurvey.js +0 -69
- package/dist/src/hooks/useSkillsChange.js +0 -51
- package/dist/src/hooks/useSwarmInitialization.js +0 -67
- package/dist/src/hooks/useSwarmPermissionPoller.js +0 -215
- package/dist/src/hooks/useTaskListWatcher.js +0 -157
- package/dist/src/hooks/useTasksV2.js +0 -220
- package/dist/src/hooks/useTeammateViewAutoExit.js +0 -55
- package/dist/src/hooks/useTelegramMirror.js +0 -47
- package/dist/src/hooks/useTeleportResume.js +0 -81
- package/dist/src/hooks/useTerminalSize.js +0 -9
- package/dist/src/hooks/useTextInput.js +0 -397
- package/dist/src/hooks/useTimeout.js +0 -10
- package/dist/src/hooks/useTurnDiffs.js +0 -160
- package/dist/src/hooks/useTypeahead.js +0 -1392
- package/dist/src/hooks/useUpdateNotification.js +0 -22
- package/dist/src/hooks/useVimInput.js +0 -232
- package/dist/src/hooks/useVirtualScroll.js +0 -627
- package/dist/src/hooks/useVoice.js +0 -954
- package/dist/src/hooks/useVoiceEnabled.js +0 -21
- package/dist/src/hooks/useVoiceIntegration.js +0 -631
- package/dist/src/hooks/useWhatsAppMirror.js +0 -46
- package/dist/src/index.js +0 -18
- package/dist/src/ink/Ansi.js +0 -269
- package/dist/src/ink/bidi.js +0 -117
- package/dist/src/ink/clearTerminal.js +0 -58
- package/dist/src/ink/colorize.js +0 -198
- package/dist/src/ink/components/AlternateScreen.js +0 -74
- package/dist/src/ink/components/App.js +0 -558
- package/dist/src/ink/components/AppContext.js +0 -11
- package/dist/src/ink/components/Box.js +0 -153
- package/dist/src/ink/components/Button.js +0 -166
- package/dist/src/ink/components/ClockContext.js +0 -108
- package/dist/src/ink/components/CursorDeclarationContext.js +0 -3
- package/dist/src/ink/components/ErrorOverview.js +0 -49
- package/dist/src/ink/components/Link.js +0 -33
- package/dist/src/ink/components/Newline.js +0 -29
- package/dist/src/ink/components/NoSelect.js +0 -56
- package/dist/src/ink/components/RawAnsi.js +0 -45
- package/dist/src/ink/components/ScrollBox.js +0 -170
- package/dist/src/ink/components/Spacer.js +0 -19
- package/dist/src/ink/components/StdinContext.js +0 -16
- package/dist/src/ink/components/TerminalFocusContext.js +0 -45
- package/dist/src/ink/components/TerminalSizeContext.js +0 -3
- package/dist/src/ink/components/Text.js +0 -194
- package/dist/src/ink/constants.js +0 -2
- package/dist/src/ink/devtools.js +0 -16
- package/dist/src/ink/dom.js +0 -298
- package/dist/src/ink/events/click-event.js +0 -36
- package/dist/src/ink/events/dispatcher.js +0 -172
- package/dist/src/ink/events/emitter.js +0 -31
- package/dist/src/ink/events/event-handlers.js +0 -30
- package/dist/src/ink/events/event.js +0 -9
- package/dist/src/ink/events/focus-event.js +0 -16
- package/dist/src/ink/events/input-event.js +0 -161
- package/dist/src/ink/events/keyboard-event.js +0 -45
- package/dist/src/ink/events/terminal-event.js +0 -78
- package/dist/src/ink/events/terminal-focus-event.js +0 -15
- package/dist/src/ink/focus.js +0 -158
- package/dist/src/ink/frame.js +0 -30
- package/dist/src/ink/get-max-width.js +0 -23
- package/dist/src/ink/hit-test.js +0 -113
- package/dist/src/ink/hooks/use-animation-frame.js +0 -48
- package/dist/src/ink/hooks/use-app.js +0 -7
- package/dist/src/ink/hooks/use-declared-cursor.js +0 -60
- package/dist/src/ink/hooks/use-input.js +0 -70
- package/dist/src/ink/hooks/use-interval.js +0 -54
- package/dist/src/ink/hooks/use-search-highlight.js +0 -32
- package/dist/src/ink/hooks/use-selection.js +0 -60
- package/dist/src/ink/hooks/use-stdin.js +0 -7
- package/dist/src/ink/hooks/use-tab-status.js +0 -57
- package/dist/src/ink/hooks/use-terminal-focus.js +0 -15
- package/dist/src/ink/hooks/use-terminal-title.js +0 -29
- package/dist/src/ink/hooks/use-terminal-viewport.js +0 -77
- package/dist/src/ink/ink.js +0 -1644
- package/dist/src/ink/instances.js +0 -7
- package/dist/src/ink/layout/engine.js +0 -4
- package/dist/src/ink/layout/geometry.js +0 -61
- package/dist/src/ink/layout/node.js +0 -62
- package/dist/src/ink/layout/yoga.js +0 -237
- package/dist/src/ink/line-width-cache.js +0 -19
- package/dist/src/ink/log-update.js +0 -583
- package/dist/src/ink/measure-element.js +0 -8
- package/dist/src/ink/measure-text.js +0 -35
- package/dist/src/ink/node-cache.js +0 -30
- package/dist/src/ink/optimizer.js +0 -81
- package/dist/src/ink/output.js +0 -556
- package/dist/src/ink/parse-keypress.js +0 -695
- package/dist/src/ink/reconciler.js +0 -384
- package/dist/src/ink/render-border.js +0 -134
- package/dist/src/ink/render-node-to-output.js +0 -1216
- package/dist/src/ink/render-to-screen.js +0 -171
- package/dist/src/ink/renderer.js +0 -129
- package/dist/src/ink/root.js +0 -80
- package/dist/src/ink/screen.js +0 -1132
- package/dist/src/ink/searchHighlight.js +0 -78
- package/dist/src/ink/selection.js +0 -792
- package/dist/src/ink/squash-text-nodes.js +0 -56
- package/dist/src/ink/stringWidth.js +0 -200
- package/dist/src/ink/styles.js +0 -299
- package/dist/src/ink/supports-hyperlinks.js +0 -40
- package/dist/src/ink/tabstops.js +0 -39
- package/dist/src/ink/terminal-focus-state.js +0 -35
- package/dist/src/ink/terminal-querier.js +0 -173
- package/dist/src/ink/terminal.js +0 -208
- package/dist/src/ink/termio/ansi.js +0 -70
- package/dist/src/ink/termio/csi.js +0 -260
- package/dist/src/ink/termio/dec.js +0 -53
- package/dist/src/ink/termio/esc.js +0 -55
- package/dist/src/ink/termio/osc.js +0 -432
- package/dist/src/ink/termio/parser.js +0 -356
- package/dist/src/ink/termio/sgr.js +0 -292
- package/dist/src/ink/termio/tokenize.js +0 -264
- package/dist/src/ink/termio/types.js +0 -55
- package/dist/src/ink/termio.js +0 -24
- package/dist/src/ink/useTerminalNotification.js +0 -57
- package/dist/src/ink/warn.js +0 -10
- package/dist/src/ink/widest-line.js +0 -14
- package/dist/src/ink/wrap-text.js +0 -54
- package/dist/src/ink/wrapAnsi.js +0 -6
- package/dist/src/ink.js +0 -50
- package/dist/src/interactiveHelpers.js +0 -317
- package/dist/src/keybindings/KeybindingContext.js +0 -184
- package/dist/src/keybindings/KeybindingProviderSetup.js +0 -259
- package/dist/src/keybindings/defaultBindings.js +0 -333
- package/dist/src/keybindings/loadUserBindings.js +0 -393
- package/dist/src/keybindings/match.js +0 -111
- package/dist/src/keybindings/parser.js +0 -184
- package/dist/src/keybindings/reservedShortcuts.js +0 -109
- package/dist/src/keybindings/resolver.js +0 -182
- package/dist/src/keybindings/schema.js +0 -205
- package/dist/src/keybindings/shortcutFormat.js +0 -48
- package/dist/src/keybindings/template.js +0 -40
- package/dist/src/keybindings/useKeybinding.js +0 -161
- package/dist/src/keybindings/useShortcutDisplay.js +0 -43
- package/dist/src/keybindings/validate.js +0 -395
- package/dist/src/main.js +0 -4073
- package/dist/src/memdir/findRelevantMemories.js +0 -101
- package/dist/src/memdir/memdir.js +0 -408
- package/dist/src/memdir/memoryAge.js +0 -52
- package/dist/src/memdir/memoryScan.js +0 -65
- package/dist/src/memdir/memoryTypes.js +0 -260
- package/dist/src/memdir/paths.js +0 -236
- package/dist/src/memdir/teamMemPaths.js +0 -261
- package/dist/src/memdir/teamMemPrompts.js +0 -82
- package/dist/src/migrations/migrateAutoUpdatesToSettings.js +0 -47
- package/dist/src/migrations/migrateBypassPermissionsAcceptedToSettings.js +0 -32
- package/dist/src/migrations/migrateEnableAllProjectMcpServersToSettings.js +0 -83
- package/dist/src/migrations/migrateFennecToOpus.js +0 -39
- package/dist/src/migrations/migrateLegacyOpusToCurrent.js +0 -44
- package/dist/src/migrations/migrateOpusToOpus1m.js +0 -31
- package/dist/src/migrations/migrateReplBridgeEnabledToRemoteControlAtStartup.js +0 -23
- package/dist/src/migrations/migrateSonnet1mToSonnet45.js +0 -38
- package/dist/src/migrations/migrateSonnet45ToSonnet46.js +0 -48
- package/dist/src/migrations/resetAutoModeOptInForDefaultOffer.js +0 -47
- package/dist/src/migrations/resetProToOpusDefault.js +0 -46
- package/dist/src/mirrors/shared.js +0 -186
- package/dist/src/moreright/useMoreRight.js +0 -13
- package/dist/src/native-ts/color-diff/index.js +0 -821
- package/dist/src/native-ts/file-index/index.js +0 -328
- package/dist/src/native-ts/yoga-layout/enums.js +0 -101
- package/dist/src/native-ts/yoga-layout/index.js +0 -2113
- package/dist/src/outputStyles/loadOutputStylesDir.js +0 -71
- package/dist/src/plugins/builtinPlugins.js +0 -132
- package/dist/src/plugins/bundled/index.js +0 -22
- package/dist/src/projectOnboardingState.js +0 -61
- package/dist/src/query/config.js +0 -17
- package/dist/src/query/deps.js +0 -12
- package/dist/src/query/stopHooks.js +0 -334
- package/dist/src/query/tokenBudget.js +0 -49
- package/dist/src/query.js +0 -1330
- package/dist/src/recovery/bunBundleShim.js +0 -11
- package/dist/src/remote/RemoteSessionManager.js +0 -195
- package/dist/src/remote/SessionsWebSocket.js +0 -305
- package/dist/src/remote/remotePermissionBridge.js +0 -70
- package/dist/src/remote/sdkMessageAdapter.js +0 -227
- package/dist/src/replLauncher.js +0 -6
- package/dist/src/schemas/hooks.js +0 -174
- package/dist/src/screens/Doctor.js +0 -580
- package/dist/src/screens/REPL.js +0 -4434
- package/dist/src/screens/ResumeConversation.js +0 -341
- package/dist/src/self-hosted-runner/main.js +0 -16
- package/dist/src/server/backends/dangerousBackend.js +0 -16
- package/dist/src/server/connectHeadless.js +0 -16
- package/dist/src/server/createDirectConnectSession.js +0 -62
- package/dist/src/server/directConnectManager.js +0 -153
- package/dist/src/server/lockfile.js +0 -16
- package/dist/src/server/parseConnectUrl.js +0 -16
- package/dist/src/server/server.js +0 -16
- package/dist/src/server/serverBanner.js +0 -16
- package/dist/src/server/serverLog.js +0 -16
- package/dist/src/server/sessionManager.js +0 -16
- package/dist/src/server/types.js +0 -7
- package/dist/src/services/AgentSummary/agentSummary.js +0 -147
- package/dist/src/services/MagicDocs/magicDocs.js +0 -193
- package/dist/src/services/MagicDocs/prompts.js +0 -110
- package/dist/src/services/PromptSuggestion/promptSuggestion.js +0 -402
- package/dist/src/services/PromptSuggestion/speculation.js +0 -643
- package/dist/src/services/SessionMemory/prompts.js +0 -254
- package/dist/src/services/SessionMemory/sessionMemory.js +0 -358
- package/dist/src/services/SessionMemory/sessionMemoryUtils.js +0 -157
- package/dist/src/services/analytics/config.js +0 -33
- package/dist/src/services/analytics/datadog.js +0 -259
- package/dist/src/services/analytics/firstPartyEventLogger.js +0 -342
- package/dist/src/services/analytics/firstPartyEventLoggingExporter.js +0 -594
- package/dist/src/services/analytics/growthbook.js +0 -952
- package/dist/src/services/analytics/index.js +0 -114
- package/dist/src/services/analytics/metadata.js +0 -698
- package/dist/src/services/analytics/sink.js +0 -95
- package/dist/src/services/analytics/sinkKillswitch.js +0 -19
- package/dist/src/services/api/adminRequests.js +0 -57
- package/dist/src/services/api/bootstrap.js +0 -149
- package/dist/src/services/api/claude.js +0 -2461
- package/dist/src/services/api/client.js +0 -325
- package/dist/src/services/api/dumpPrompts.js +0 -174
- package/dist/src/services/api/emptyUsage.js +0 -20
- package/dist/src/services/api/errorUtils.js +0 -203
- package/dist/src/services/api/errors.js +0 -934
- package/dist/src/services/api/filesApi.js +0 -523
- package/dist/src/services/api/firstTokenDate.js +0 -49
- package/dist/src/services/api/grove.js +0 -272
- package/dist/src/services/api/index.js +0 -23
- package/dist/src/services/api/logging.js +0 -484
- package/dist/src/services/api/metricsOptOut.js +0 -127
- package/dist/src/services/api/openai.js +0 -1187
- package/dist/src/services/api/openrouter.js +0 -30
- package/dist/src/services/api/overageCreditGrant.js +0 -123
- package/dist/src/services/api/promptCacheBreakDetection.js +0 -510
- package/dist/src/services/api/referral.js +0 -219
- package/dist/src/services/api/sessionIngress.js +0 -358
- package/dist/src/services/api/ultrareviewQuota.js +0 -29
- package/dist/src/services/api/usage.js +0 -31
- package/dist/src/services/api/withRetry.js +0 -599
- package/dist/src/services/autoDream/autoDream.js +0 -244
- package/dist/src/services/autoDream/config.js +0 -17
- package/dist/src/services/autoDream/consolidationLock.js +0 -122
- package/dist/src/services/autoDream/consolidationPrompt.js +0 -56
- package/dist/src/services/awaySummary.js +0 -61
- package/dist/src/services/claudeAiLimits.js +0 -331
- package/dist/src/services/claudeAiLimitsHook.js +0 -15
- package/dist/src/services/compact/apiMicrocompact.js +0 -97
- package/dist/src/services/compact/autoCompact.js +0 -236
- package/dist/src/services/compact/cachedMicrocompact.js +0 -16
- package/dist/src/services/compact/compact.js +0 -1258
- package/dist/src/services/compact/compactWarningHook.js +0 -12
- package/dist/src/services/compact/compactWarningState.js +0 -15
- package/dist/src/services/compact/grouping.js +0 -58
- package/dist/src/services/compact/microCompact.js +0 -414
- package/dist/src/services/compact/postCompactCleanup.js +0 -72
- package/dist/src/services/compact/prompt.js +0 -327
- package/dist/src/services/compact/sessionMemoryCompact.js +0 -467
- package/dist/src/services/compact/timeBasedMCConfig.js +0 -11
- package/dist/src/services/diagnosticTracking.js +0 -282
- package/dist/src/services/extractMemories/extractMemories.js +0 -444
- package/dist/src/services/extractMemories/prompts.js +0 -129
- package/dist/src/services/internalLogging.js +0 -68
- package/dist/src/services/lsp/LSPClient.js +0 -306
- package/dist/src/services/lsp/LSPDiagnosticRegistry.js +0 -277
- package/dist/src/services/lsp/LSPServerInstance.js +0 -390
- package/dist/src/services/lsp/LSPServerManager.js +0 -305
- package/dist/src/services/lsp/config.js +0 -57
- package/dist/src/services/lsp/manager.js +0 -246
- package/dist/src/services/lsp/passiveFeedback.js +0 -226
- package/dist/src/services/mcp/InProcessTransport.js +0 -54
- package/dist/src/services/mcp/MCPConnectionManager.js +0 -50
- package/dist/src/services/mcp/SdkControlTransport.js +0 -115
- package/dist/src/services/mcp/auth.js +0 -1882
- package/dist/src/services/mcp/channelAllowlist.js +0 -57
- package/dist/src/services/mcp/channelNotification.js +0 -236
- package/dist/src/services/mcp/channelPermissions.js +0 -192
- package/dist/src/services/mcp/claudeai.js +0 -123
- package/dist/src/services/mcp/client.js +0 -2480
- package/dist/src/services/mcp/config.js +0 -1277
- package/dist/src/services/mcp/elicitationHandler.js +0 -192
- package/dist/src/services/mcp/envExpansion.js +0 -30
- package/dist/src/services/mcp/headersHelper.js +0 -94
- package/dist/src/services/mcp/mcpStringUtils.js +0 -85
- package/dist/src/services/mcp/normalization.js +0 -21
- package/dist/src/services/mcp/oauthPort.js +0 -69
- package/dist/src/services/mcp/officialRegistry.js +0 -54
- package/dist/src/services/mcp/types.js +0 -94
- package/dist/src/services/mcp/useManageMCPConnections.js +0 -820
- package/dist/src/services/mcp/utils.js +0 -433
- package/dist/src/services/mcp/vscodeSdkMcp.js +0 -69
- package/dist/src/services/mcp/xaa.js +0 -342
- package/dist/src/services/mcp/xaaIdpLogin.js +0 -377
- package/dist/src/services/mcpServerApproval.js +0 -29
- package/dist/src/services/mockRateLimits.js +0 -666
- package/dist/src/services/notifier.js +0 -114
- package/dist/src/services/oauth/auth-code-listener.js +0 -236
- package/dist/src/services/oauth/client.js +0 -545
- package/dist/src/services/oauth/crypto.js +0 -19
- package/dist/src/services/oauth/getOauthProfile.js +0 -48
- package/dist/src/services/oauth/index.js +0 -152
- package/dist/src/services/oauth/types.js +0 -1
- package/dist/src/services/plugins/PluginInstallationManager.js +0 -139
- package/dist/src/services/plugins/pluginCliCommands.js +0 -230
- package/dist/src/services/plugins/pluginOperations.js +0 -826
- package/dist/src/services/policyLimits/index.js +0 -547
- package/dist/src/services/policyLimits/types.js +0 -9
- package/dist/src/services/preventSleep.js +0 -143
- package/dist/src/services/rateLimitMessages.js +0 -271
- package/dist/src/services/rateLimitMocking.js +0 -91
- package/dist/src/services/remoteManagedSettings/index.js +0 -534
- package/dist/src/services/remoteManagedSettings/securityCheck.js +0 -59
- package/dist/src/services/remoteManagedSettings/syncCache.js +0 -90
- package/dist/src/services/remoteManagedSettings/syncCacheState.js +0 -89
- package/dist/src/services/remoteManagedSettings/types.js +0 -12
- package/dist/src/services/settingsSync/index.js +0 -478
- package/dist/src/services/settingsSync/types.js +0 -35
- package/dist/src/services/teamMemorySync/index.js +0 -976
- package/dist/src/services/teamMemorySync/secretScanner.js +0 -275
- package/dist/src/services/teamMemorySync/teamMemSecretGuard.js +0 -35
- package/dist/src/services/teamMemorySync/types.js +0 -47
- package/dist/src/services/teamMemorySync/watcher.js +0 -326
- package/dist/src/services/tips/tipHistory.js +0 -17
- package/dist/src/services/tips/tipRegistry.js +0 -589
- package/dist/src/services/tips/tipScheduler.js +0 -40
- package/dist/src/services/tokenEstimation.js +0 -365
- package/dist/src/services/toolUseSummary/toolUseSummaryGenerator.js +0 -87
- package/dist/src/services/tools/StreamingToolExecutor.js +0 -413
- package/dist/src/services/tools/toolExecution.js +0 -1218
- package/dist/src/services/tools/toolHooks.js +0 -454
- package/dist/src/services/tools/toolOrchestration.js +0 -110
- package/dist/src/services/vcr.js +0 -291
- package/dist/src/services/voice.js +0 -394
- package/dist/src/services/voiceKeyterms.js +0 -94
- package/dist/src/services/voiceStreamSTT.js +0 -406
- package/dist/src/setup.js +0 -349
- package/dist/src/skills/bundled/batch.js +0 -114
- package/dist/src/skills/bundled/claudeApi.js +0 -145
- package/dist/src/skills/bundled/claudeApiContent.js +0 -14
- package/dist/src/skills/bundled/claudeInChrome.js +0 -27
- package/dist/src/skills/bundled/debug.js +0 -99
- package/dist/src/skills/bundled/index.js +0 -5
- package/dist/src/skills/bundled/keybindings.js +0 -292
- package/dist/src/skills/bundled/loop.js +0 -81
- package/dist/src/skills/bundled/loremIpsum.js +0 -266
- package/dist/src/skills/bundled/remember.js +0 -75
- package/dist/src/skills/bundled/scheduleRemoteAgents.js +0 -373
- package/dist/src/skills/bundled/simplify.js +0 -66
- package/dist/src/skills/bundled/skillify.js +0 -184
- package/dist/src/skills/bundled/stuck.js +0 -75
- package/dist/src/skills/bundled/updateConfig.js +0 -463
- package/dist/src/skills/bundled/verify.js +0 -25
- package/dist/src/skills/bundled/verifyContent.js +0 -7
- package/dist/src/skills/bundledSkills.js +0 -159
- package/dist/src/skills/loadSkillsDir.js +0 -736
- package/dist/src/skills/mcpSkillBuilders.js +0 -10
- package/dist/src/ssh/createSSHSession.js +0 -16
- package/dist/src/state/AppState.js +0 -184
- package/dist/src/state/AppStateStore.js +0 -119
- package/dist/src/state/onChangeAppState.js +0 -132
- package/dist/src/state/selectors.js +0 -51
- package/dist/src/state/store.js +0 -21
- package/dist/src/state/teammateViewHelpers.js +0 -124
- package/dist/src/tasks/DreamTask/DreamTask.js +0 -99
- package/dist/src/tasks/InProcessTeammateTask/InProcessTeammateTask.js +0 -116
- package/dist/src/tasks/InProcessTeammateTask/types.js +0 -35
- package/dist/src/tasks/LocalAgentTask/LocalAgentTask.js +0 -507
- package/dist/src/tasks/LocalMainSessionTask.js +0 -338
- package/dist/src/tasks/LocalShellTask/LocalShellTask.js +0 -475
- package/dist/src/tasks/LocalShellTask/guards.js +0 -9
- package/dist/src/tasks/LocalShellTask/killShellTasks.js +0 -59
- package/dist/src/tasks/RemoteAgentTask/RemoteAgentTask.js +0 -742
- package/dist/src/tasks/pillLabel.js +0 -69
- package/dist/src/tasks/stopTask.js +0 -67
- package/dist/src/tasks/types.js +0 -18
- package/dist/src/tasks.js +0 -39
- package/dist/src/telegram/bridge.js +0 -334
- package/dist/src/telegram/config.js +0 -57
- package/dist/src/telegram/mirror.js +0 -91
- package/dist/src/tools/AgentTool/AgentTool.js +0 -1222
- package/dist/src/tools/AgentTool/UI.js +0 -592
- package/dist/src/tools/AgentTool/agentColorManager.js +0 -43
- package/dist/src/tools/AgentTool/agentDisplay.js +0 -72
- package/dist/src/tools/AgentTool/agentMemory.js +0 -125
- package/dist/src/tools/AgentTool/agentMemorySnapshot.js +0 -136
- package/dist/src/tools/AgentTool/agentToolUtils.js +0 -456
- package/dist/src/tools/AgentTool/built-in/claudeCodeGuideAgent.js +0 -175
- package/dist/src/tools/AgentTool/built-in/exploreAgent.js +0 -76
- package/dist/src/tools/AgentTool/built-in/generalPurposeAgent.js +0 -28
- package/dist/src/tools/AgentTool/built-in/planAgent.js +0 -87
- package/dist/src/tools/AgentTool/built-in/statuslineSetup.js +0 -140
- package/dist/src/tools/AgentTool/built-in/verificationAgent.js +0 -146
- package/dist/src/tools/AgentTool/builtInAgents.js +0 -58
- package/dist/src/tools/AgentTool/constants.js +0 -11
- package/dist/src/tools/AgentTool/forkSubagent.js +0 -177
- package/dist/src/tools/AgentTool/loadAgentsDir.js +0 -497
- package/dist/src/tools/AgentTool/prompt.js +0 -260
- package/dist/src/tools/AgentTool/resumeAgent.js +0 -182
- package/dist/src/tools/AgentTool/runAgent.js +0 -629
- package/dist/src/tools/AskUserQuestionTool/AskUserQuestionTool.js +0 -237
- package/dist/src/tools/AskUserQuestionTool/prompt.js +0 -38
- package/dist/src/tools/BashTool/BashTool.js +0 -1008
- package/dist/src/tools/BashTool/BashToolResultMessage.js +0 -168
- package/dist/src/tools/BashTool/UI.js +0 -133
- package/dist/src/tools/BashTool/bashCommandHelpers.js +0 -184
- package/dist/src/tools/BashTool/bashPermissions.js +0 -2023
- package/dist/src/tools/BashTool/bashSecurity.js +0 -2267
- package/dist/src/tools/BashTool/commandSemantics.js +0 -105
- package/dist/src/tools/BashTool/commentLabel.js +0 -14
- package/dist/src/tools/BashTool/destructiveCommandWarning.js +0 -88
- package/dist/src/tools/BashTool/modeValidation.js +0 -86
- package/dist/src/tools/BashTool/pathValidation.js +0 -1080
- package/dist/src/tools/BashTool/prompt.js +0 -333
- package/dist/src/tools/BashTool/readOnlyValidation.js +0 -1794
- package/dist/src/tools/BashTool/sedEditParser.js +0 -282
- package/dist/src/tools/BashTool/sedValidation.js +0 -580
- package/dist/src/tools/BashTool/shouldUseSandbox.js +0 -125
- package/dist/src/tools/BashTool/toolName.js +0 -2
- package/dist/src/tools/BashTool/utils.js +0 -180
- package/dist/src/tools/BriefTool/BriefTool.js +0 -172
- package/dist/src/tools/BriefTool/UI.js +0 -66
- package/dist/src/tools/BriefTool/attachments.js +0 -86
- package/dist/src/tools/BriefTool/prompt.js +0 -19
- package/dist/src/tools/BriefTool/upload.js +0 -136
- package/dist/src/tools/ConfigTool/ConfigTool.js +0 -398
- package/dist/src/tools/ConfigTool/UI.js +0 -24
- package/dist/src/tools/ConfigTool/constants.js +0 -1
- package/dist/src/tools/ConfigTool/prompt.js +0 -82
- package/dist/src/tools/ConfigTool/supportedSettings.js +0 -180
- package/dist/src/tools/EnterPlanModeTool/EnterPlanModeTool.js +0 -98
- package/dist/src/tools/EnterPlanModeTool/UI.js +0 -13
- package/dist/src/tools/EnterPlanModeTool/constants.js +0 -1
- package/dist/src/tools/EnterPlanModeTool/prompt.js +0 -164
- package/dist/src/tools/EnterWorktreeTool/EnterWorktreeTool.js +0 -104
- package/dist/src/tools/EnterWorktreeTool/UI.js +0 -8
- package/dist/src/tools/EnterWorktreeTool/constants.js +0 -1
- package/dist/src/tools/EnterWorktreeTool/prompt.js +0 -30
- package/dist/src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.js +0 -385
- package/dist/src/tools/ExitPlanModeTool/UI.js +0 -31
- package/dist/src/tools/ExitPlanModeTool/constants.js +0 -2
- package/dist/src/tools/ExitPlanModeTool/prompt.js +0 -27
- package/dist/src/tools/ExitWorktreeTool/ExitWorktreeTool.js +0 -257
- package/dist/src/tools/ExitWorktreeTool/UI.js +0 -9
- package/dist/src/tools/ExitWorktreeTool/constants.js +0 -1
- package/dist/src/tools/ExitWorktreeTool/prompt.js +0 -32
- package/dist/src/tools/FileEditTool/FileEditTool.js +0 -480
- package/dist/src/tools/FileEditTool/UI.js +0 -201
- package/dist/src/tools/FileEditTool/constants.js +0 -7
- package/dist/src/tools/FileEditTool/prompt.js +0 -24
- package/dist/src/tools/FileEditTool/types.js +0 -50
- package/dist/src/tools/FileEditTool/utils.js +0 -579
- package/dist/src/tools/FileReadTool/FileReadTool.js +0 -889
- package/dist/src/tools/FileReadTool/UI.js +0 -125
- package/dist/src/tools/FileReadTool/imageProcessor.js +0 -46
- package/dist/src/tools/FileReadTool/limits.js +0 -70
- package/dist/src/tools/FileReadTool/prompt.js +0 -31
- package/dist/src/tools/FileWriteTool/FileWriteTool.js +0 -341
- package/dist/src/tools/FileWriteTool/UI.js +0 -338
- package/dist/src/tools/FileWriteTool/prompt.js +0 -15
- package/dist/src/tools/GlobTool/GlobTool.js +0 -161
- package/dist/src/tools/GlobTool/UI.js +0 -39
- package/dist/src/tools/GlobTool/prompt.js +0 -6
- package/dist/src/tools/GrepTool/GrepTool.js +0 -439
- package/dist/src/tools/GrepTool/UI.js +0 -154
- package/dist/src/tools/GrepTool/prompt.js +0 -16
- package/dist/src/tools/LSPTool/LSPTool.js +0 -660
- package/dist/src/tools/LSPTool/UI.js +0 -204
- package/dist/src/tools/LSPTool/formatters.js +0 -445
- package/dist/src/tools/LSPTool/prompt.js +0 -20
- package/dist/src/tools/LSPTool/schemas.js +0 -197
- package/dist/src/tools/LSPTool/symbolContext.js +0 -75
- package/dist/src/tools/ListMcpResourcesTool/ListMcpResourcesTool.js +0 -100
- package/dist/src/tools/ListMcpResourcesTool/UI.js +0 -16
- package/dist/src/tools/ListMcpResourcesTool/prompt.js +0 -18
- package/dist/src/tools/MCPTool/MCPTool.js +0 -60
- package/dist/src/tools/MCPTool/UI.js +0 -342
- package/dist/src/tools/MCPTool/classifyForCollapse.js +0 -597
- package/dist/src/tools/MCPTool/prompt.js +0 -3
- package/dist/src/tools/McpAuthTool/McpAuthTool.js +0 -162
- package/dist/src/tools/NotebookEditTool/NotebookEditTool.js +0 -421
- package/dist/src/tools/NotebookEditTool/UI.js +0 -40
- package/dist/src/tools/NotebookEditTool/constants.js +0 -2
- package/dist/src/tools/NotebookEditTool/prompt.js +0 -2
- package/dist/src/tools/PowerShellTool/PowerShellTool.js +0 -899
- package/dist/src/tools/PowerShellTool/UI.js +0 -57
- package/dist/src/tools/PowerShellTool/clmTypes.js +0 -207
- package/dist/src/tools/PowerShellTool/commandSemantics.js +0 -115
- package/dist/src/tools/PowerShellTool/commonParameters.js +0 -27
- package/dist/src/tools/PowerShellTool/destructiveCommandWarning.js +0 -92
- package/dist/src/tools/PowerShellTool/gitSafety.js +0 -185
- package/dist/src/tools/PowerShellTool/modeValidation.js +0 -357
- package/dist/src/tools/PowerShellTool/pathValidation.js +0 -1712
- package/dist/src/tools/PowerShellTool/powershellPermissions.js +0 -1351
- package/dist/src/tools/PowerShellTool/powershellSecurity.js +0 -942
- package/dist/src/tools/PowerShellTool/prompt.js +0 -132
- package/dist/src/tools/PowerShellTool/readOnlyValidation.js +0 -1633
- package/dist/src/tools/PowerShellTool/toolName.js +0 -2
- package/dist/src/tools/REPLTool/constants.js +0 -43
- package/dist/src/tools/REPLTool/primitiveTools.js +0 -36
- package/dist/src/tools/ReadMcpResourceTool/ReadMcpResourceTool.js +0 -112
- package/dist/src/tools/ReadMcpResourceTool/UI.js +0 -23
- package/dist/src/tools/ReadMcpResourceTool/prompt.js +0 -15
- package/dist/src/tools/RemoteTriggerTool/RemoteTriggerTool.js +0 -142
- package/dist/src/tools/RemoteTriggerTool/UI.js +0 -11
- package/dist/src/tools/RemoteTriggerTool/prompt.js +0 -12
- package/dist/src/tools/ScheduleCronTool/CronCreateTool.js +0 -120
- package/dist/src/tools/ScheduleCronTool/CronDeleteTool.js +0 -74
- package/dist/src/tools/ScheduleCronTool/CronListTool.js +0 -77
- package/dist/src/tools/ScheduleCronTool/UI.js +0 -28
- package/dist/src/tools/ScheduleCronTool/prompt.js +0 -115
- package/dist/src/tools/SendMessageTool/SendMessageTool.js +0 -675
- package/dist/src/tools/SendMessageTool/UI.js +0 -23
- package/dist/src/tools/SendMessageTool/constants.js +0 -1
- package/dist/src/tools/SendMessageTool/prompt.js +0 -47
- package/dist/src/tools/SkillTool/SkillTool.js +0 -827
- package/dist/src/tools/SkillTool/UI.js +0 -60
- package/dist/src/tools/SkillTool/constants.js +0 -1
- package/dist/src/tools/SkillTool/prompt.js +0 -184
- package/dist/src/tools/SleepTool/prompt.js +0 -14
- package/dist/src/tools/SyntheticOutputTool/SyntheticOutputTool.js +0 -138
- package/dist/src/tools/TaskCreateTool/TaskCreateTool.js +0 -104
- package/dist/src/tools/TaskCreateTool/constants.js +0 -1
- package/dist/src/tools/TaskCreateTool/prompt.js +0 -52
- package/dist/src/tools/TaskGetTool/TaskGetTool.js +0 -106
- package/dist/src/tools/TaskGetTool/constants.js +0 -1
- package/dist/src/tools/TaskGetTool/prompt.js +0 -23
- package/dist/src/tools/TaskListTool/TaskListTool.js +0 -89
- package/dist/src/tools/TaskListTool/constants.js +0 -1
- package/dist/src/tools/TaskListTool/prompt.js +0 -44
- package/dist/src/tools/TaskOutputTool/TaskOutputTool.js +0 -535
- package/dist/src/tools/TaskOutputTool/constants.js +0 -1
- package/dist/src/tools/TaskStopTool/TaskStopTool.js +0 -110
- package/dist/src/tools/TaskStopTool/UI.js +0 -30
- package/dist/src/tools/TaskStopTool/prompt.js +0 -7
- package/dist/src/tools/TaskUpdateTool/TaskUpdateTool.js +0 -301
- package/dist/src/tools/TaskUpdateTool/constants.js +0 -1
- package/dist/src/tools/TaskUpdateTool/prompt.js +0 -76
- package/dist/src/tools/TeamCreateTool/TeamCreateTool.js +0 -177
- package/dist/src/tools/TeamCreateTool/UI.js +0 -4
- package/dist/src/tools/TeamCreateTool/constants.js +0 -1
- package/dist/src/tools/TeamCreateTool/prompt.js +0 -113
- package/dist/src/tools/TeamDeleteTool/TeamDeleteTool.js +0 -102
- package/dist/src/tools/TeamDeleteTool/UI.js +0 -13
- package/dist/src/tools/TeamDeleteTool/constants.js +0 -1
- package/dist/src/tools/TeamDeleteTool/prompt.js +0 -16
- package/dist/src/tools/TodoWriteTool/TodoWriteTool.js +0 -99
- package/dist/src/tools/TodoWriteTool/constants.js +0 -1
- package/dist/src/tools/TodoWriteTool/prompt.js +0 -181
- package/dist/src/tools/ToolSearchTool/ToolSearchTool.js +0 -357
- package/dist/src/tools/ToolSearchTool/constants.js +0 -1
- package/dist/src/tools/ToolSearchTool/prompt.js +0 -99
- package/dist/src/tools/TungstenTool/TungstenLiveMonitor.js +0 -7
- package/dist/src/tools/TungstenTool/TungstenTool.js +0 -3
- package/dist/src/tools/WebFetchTool/UI.js +0 -30
- package/dist/src/tools/WebFetchTool/WebFetchTool.js +0 -246
- package/dist/src/tools/WebFetchTool/preapproved.js +0 -155
- package/dist/src/tools/WebFetchTool/prompt.js +0 -39
- package/dist/src/tools/WebFetchTool/utils.js +0 -381
- package/dist/src/tools/WebSearchTool/UI.js +0 -66
- package/dist/src/tools/WebSearchTool/WebSearchTool.js +0 -352
- package/dist/src/tools/WebSearchTool/prompt.js +0 -32
- package/dist/src/tools/WorkflowTool/constants.js +0 -2
- package/dist/src/tools/shared/gitOperationTracking.js +0 -220
- package/dist/src/tools/shared/spawnMultiAgent.js +0 -805
- package/dist/src/tools/testing/TestingPermissionTool.js +0 -72
- package/dist/src/tools/utils.js +0 -24
- package/dist/src/tools.js +0 -332
- package/dist/src/types/command.js +0 -10
- package/dist/src/types/connectorText.js +0 -2
- package/dist/src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.js +0 -673
- package/dist/src/types/generated/events_mono/common/v1/auth.js +0 -49
- package/dist/src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.js +0 -147
- package/dist/src/types/generated/google/protobuf/timestamp.js +0 -38
- package/dist/src/types/hooks.js +0 -153
- package/dist/src/types/ids.js +0 -27
- package/dist/src/types/logs.js +0 -11
- package/dist/src/types/message.js +0 -1
- package/dist/src/types/permissions.js +0 -25
- package/dist/src/types/plugin.js +0 -72
- package/dist/src/types/textInputTypes.js +0 -20
- package/dist/src/types/utils.js +0 -5
- package/dist/src/upstreamproxy/relay.js +0 -346
- package/dist/src/upstreamproxy/upstreamproxy.js +0 -236
- package/dist/src/utils/CircularBuffer.js +0 -75
- package/dist/src/utils/Cursor.js +0 -1229
- package/dist/src/utils/QueryGuard.js +0 -115
- package/dist/src/utils/Shell.js +0 -374
- package/dist/src/utils/ShellCommand.js +0 -338
- package/dist/src/utils/abortController.js +0 -74
- package/dist/src/utils/activityManager.js +0 -127
- package/dist/src/utils/advisor.js +0 -77
- package/dist/src/utils/agentContext.js +0 -91
- package/dist/src/utils/agentId.js +0 -83
- package/dist/src/utils/agentSwarmsEnabled.js +0 -37
- package/dist/src/utils/agenticSessionSearch.js +0 -255
- package/dist/src/utils/analyzeContext.js +0 -848
- package/dist/src/utils/ansiToPng.js +0 -259
- package/dist/src/utils/ansiToSvg.js +0 -207
- package/dist/src/utils/api.js +0 -555
- package/dist/src/utils/apiPreconnect.js +0 -62
- package/dist/src/utils/appleTerminalBackup.js +0 -95
- package/dist/src/utils/argumentSubstitution.js +0 -114
- package/dist/src/utils/array.js +0 -12
- package/dist/src/utils/asciicast.js +0 -200
- package/dist/src/utils/attachments.js +0 -2514
- package/dist/src/utils/attribution.js +0 -308
- package/dist/src/utils/attributionHooks.js +0 -16
- package/dist/src/utils/attributionTrailer.js +0 -16
- package/dist/src/utils/auth.js +0 -2020
- package/dist/src/utils/authFileDescriptor.js +0 -152
- package/dist/src/utils/authPortable.js +0 -14
- package/dist/src/utils/autoModeDenials.js +0 -15
- package/dist/src/utils/autoRunIssue.js +0 -112
- package/dist/src/utils/autoUpdater.js +0 -461
- package/dist/src/utils/aws.js +0 -44
- package/dist/src/utils/awsAuthStatusManager.js +0 -66
- package/dist/src/utils/background/remote/preconditions.js +0 -175
- package/dist/src/utils/background/remote/remoteSession.js +0 -53
- package/dist/src/utils/backgroundHousekeeping.js +0 -66
- package/dist/src/utils/bash/ParsedCommand.js +0 -241
- package/dist/src/utils/bash/ShellSnapshot.js +0 -489
- package/dist/src/utils/bash/ast.js +0 -2590
- package/dist/src/utils/bash/bashParser.js +0 -4355
- package/dist/src/utils/bash/bashPipeCommand.js +0 -249
- package/dist/src/utils/bash/commands.js +0 -1131
- package/dist/src/utils/bash/heredoc.js +0 -647
- package/dist/src/utils/bash/parser.js +0 -195
- package/dist/src/utils/bash/prefix.js +0 -154
- package/dist/src/utils/bash/registry.js +0 -23
- package/dist/src/utils/bash/shellCompletion.js +0 -196
- package/dist/src/utils/bash/shellPrefix.js +0 -25
- package/dist/src/utils/bash/shellQuote.js +0 -253
- package/dist/src/utils/bash/shellQuoting.js +0 -106
- package/dist/src/utils/bash/specs/alias.js +0 -11
- package/dist/src/utils/bash/specs/index.js +0 -16
- package/dist/src/utils/bash/specs/nohup.js +0 -10
- package/dist/src/utils/bash/specs/pyright.js +0 -88
- package/dist/src/utils/bash/specs/sleep.js +0 -10
- package/dist/src/utils/bash/specs/srun.js +0 -28
- package/dist/src/utils/bash/specs/time.js +0 -10
- package/dist/src/utils/bash/specs/timeout.js +0 -17
- package/dist/src/utils/bash/treeSitterAnalysis.js +0 -407
- package/dist/src/utils/betas.js +0 -332
- package/dist/src/utils/billing.js +0 -54
- package/dist/src/utils/binaryCheck.js +0 -40
- package/dist/src/utils/browser.js +0 -58
- package/dist/src/utils/bufferedWriter.js +0 -77
- package/dist/src/utils/bundledMode.js +0 -19
- package/dist/src/utils/caCerts.js +0 -93
- package/dist/src/utils/caCertsConfig.js +0 -77
- package/dist/src/utils/cachePaths.js +0 -28
- package/dist/src/utils/ccshareResume.js +0 -16
- package/dist/src/utils/classifierApprovals.js +0 -66
- package/dist/src/utils/classifierApprovalsHook.js +0 -10
- package/dist/src/utils/claudeCodeHints.js +0 -142
- package/dist/src/utils/claudeDesktop.js +0 -108
- package/dist/src/utils/claudeInChrome/chromeNativeHost.js +0 -416
- package/dist/src/utils/claudeInChrome/common.js +0 -466
- package/dist/src/utils/claudeInChrome/mcpServer.js +0 -237
- package/dist/src/utils/claudeInChrome/prompt.js +0 -79
- package/dist/src/utils/claudeInChrome/setup.js +0 -320
- package/dist/src/utils/claudeInChrome/setupPortable.js +0 -172
- package/dist/src/utils/claudeInChrome/toolRendering.js +0 -234
- package/dist/src/utils/claudemd.js +0 -1054
- package/dist/src/utils/cleanup.js +0 -514
- package/dist/src/utils/cleanupRegistry.js +0 -22
- package/dist/src/utils/cliArgs.js +0 -53
- package/dist/src/utils/cliHighlight.js +0 -45
- package/dist/src/utils/codeIndexing.js +0 -149
- package/dist/src/utils/collapseBackgroundBashNotifications.js +0 -70
- package/dist/src/utils/collapseHookSummaries.js +0 -48
- package/dist/src/utils/collapseReadSearch.js +0 -871
- package/dist/src/utils/collapseTeammateShutdowns.js +0 -44
- package/dist/src/utils/combinedAbortSignal.js +0 -40
- package/dist/src/utils/commandLifecycle.js +0 -7
- package/dist/src/utils/commitAttribution.js +0 -720
- package/dist/src/utils/completionCache.js +0 -138
- package/dist/src/utils/computerUse/appNames.js +0 -170
- package/dist/src/utils/computerUse/cleanup.js +0 -66
- package/dist/src/utils/computerUse/common.js +0 -56
- package/dist/src/utils/computerUse/computerUseLock.js +0 -183
- package/dist/src/utils/computerUse/drainRunLoop.js +0 -71
- package/dist/src/utils/computerUse/escHotkey.js +0 -53
- package/dist/src/utils/computerUse/executor.js +0 -480
- package/dist/src/utils/computerUse/gates.js +0 -55
- package/dist/src/utils/computerUse/hostAdapter.js +0 -62
- package/dist/src/utils/computerUse/inputLoader.js +0 -27
- package/dist/src/utils/computerUse/mcpServer.js +0 -84
- package/dist/src/utils/computerUse/setup.js +0 -42
- package/dist/src/utils/computerUse/swiftLoader.js +0 -20
- package/dist/src/utils/computerUse/toolRendering.js +0 -100
- package/dist/src/utils/computerUse/wrapper.js +0 -318
- package/dist/src/utils/concurrentSessions.js +0 -179
- package/dist/src/utils/config.js +0 -1084
- package/dist/src/utils/configConstants.js +0 -18
- package/dist/src/utils/contentArray.js +0 -45
- package/dist/src/utils/context.js +0 -185
- package/dist/src/utils/contextAnalysis.js +0 -171
- package/dist/src/utils/contextSuggestions.js +0 -158
- package/dist/src/utils/controlMessageCompat.js +0 -31
- package/dist/src/utils/conversationRecovery.js +0 -436
- package/dist/src/utils/cron.js +0 -260
- package/dist/src/utils/cronJitterConfig.js +0 -62
- package/dist/src/utils/cronScheduler.js +0 -388
- package/dist/src/utils/cronTasks.js +0 -328
- package/dist/src/utils/cronTasksLock.js +0 -159
- package/dist/src/utils/crossProjectResume.js +0 -46
- package/dist/src/utils/crypto.js +0 -13
- package/dist/src/utils/cwd.js +0 -29
- package/dist/src/utils/databaseMcp/common.js +0 -48
- package/dist/src/utils/databaseMcp/mcpServer.js +0 -2
- package/dist/src/utils/databaseMcp/server/connection.js +0 -243
- package/dist/src/utils/databaseMcp/server/index.js +0 -1442
- package/dist/src/utils/databaseMcp/server/queries.js +0 -683
- package/dist/src/utils/databaseMcp/server/types.js +0 -7
- package/dist/src/utils/databaseMcp/setup.js +0 -28
- package/dist/src/utils/debug.js +0 -220
- package/dist/src/utils/debugFilter.js +0 -125
- package/dist/src/utils/deepLink/banner.js +0 -103
- package/dist/src/utils/deepLink/parseDeepLink.js +0 -138
- package/dist/src/utils/deepLink/protocolHandler.js +0 -119
- package/dist/src/utils/deepLink/registerProtocol.js +0 -291
- package/dist/src/utils/deepLink/terminalLauncher.js +0 -455
- package/dist/src/utils/deepLink/terminalPreference.js +0 -51
- package/dist/src/utils/desktopDeepLink.js +0 -208
- package/dist/src/utils/detectRepository.js +0 -157
- package/dist/src/utils/diagLogs.js +0 -74
- package/dist/src/utils/diff.js +0 -108
- package/dist/src/utils/directMemberMessage.js +0 -34
- package/dist/src/utils/displayTags.js +0 -46
- package/dist/src/utils/doctorContextWarnings.js +0 -179
- package/dist/src/utils/doctorDiagnostic.js +0 -495
- package/dist/src/utils/dxt/helpers.js +0 -64
- package/dist/src/utils/dxt/zip.js +0 -167
- package/dist/src/utils/earlyInput.js +0 -166
- package/dist/src/utils/editor.js +0 -163
- package/dist/src/utils/effort.js +0 -278
- package/dist/src/utils/embeddedTools.js +0 -26
- package/dist/src/utils/env.js +0 -358
- package/dist/src/utils/envDynamic.js +0 -130
- package/dist/src/utils/envUtils.js +0 -154
- package/dist/src/utils/envValidation.js +0 -26
- package/dist/src/utils/errorLogSink.js +0 -197
- package/dist/src/utils/errors.js +0 -207
- package/dist/src/utils/eventLoopStallDetector.js +0 -16
- package/dist/src/utils/exampleCommands.js +0 -165
- package/dist/src/utils/execFileNoThrow.js +0 -93
- package/dist/src/utils/execFileNoThrowPortable.js +0 -111
- package/dist/src/utils/execSyncWrapper.js +0 -68
- package/dist/src/utils/exportRenderer.js +0 -71
- package/dist/src/utils/extraUsage.js +0 -19
- package/dist/src/utils/fastMode.js +0 -393
- package/dist/src/utils/file.js +0 -467
- package/dist/src/utils/fileHistory.js +0 -851
- package/dist/src/utils/fileOperationAnalytics.js +0 -45
- package/dist/src/utils/filePersistence/filePersistence.js +0 -212
- package/dist/src/utils/filePersistence/outputsScanner.js +0 -104
- package/dist/src/utils/filePersistence/types.js +0 -5
- package/dist/src/utils/fileRead.js +0 -81
- package/dist/src/utils/fileReadCache.js +0 -78
- package/dist/src/utils/fileStateCache.js +0 -99
- package/dist/src/utils/findExecutable.js +0 -13
- package/dist/src/utils/fingerprint.js +0 -59
- package/dist/src/utils/forkedAgent.js +0 -410
- package/dist/src/utils/format.js +0 -238
- package/dist/src/utils/formatBriefTimestamp.js +0 -72
- package/dist/src/utils/fpsTracker.js +0 -34
- package/dist/src/utils/frontmatterParser.js +0 -260
- package/dist/src/utils/fsOperations.js +0 -834
- package/dist/src/utils/fullscreen.js +0 -194
- package/dist/src/utils/generatedFiles.js +0 -122
- package/dist/src/utils/generators.js +0 -67
- package/dist/src/utils/genericProcessUtils.js +0 -155
- package/dist/src/utils/getWorktreePaths.js +0 -56
- package/dist/src/utils/getWorktreePathsPortable.js +0 -23
- package/dist/src/utils/ghPrStatus.js +0 -71
- package/dist/src/utils/git/gitConfigParser.js +0 -226
- package/dist/src/utils/git/gitFilesystem.js +0 -606
- package/dist/src/utils/git/gitignore.js +0 -84
- package/dist/src/utils/git.js +0 -725
- package/dist/src/utils/gitDiff.js +0 -395
- package/dist/src/utils/gitSettings.js +0 -18
- package/dist/src/utils/github/ghAuthStatus.js +0 -23
- package/dist/src/utils/githubRepoPathMapping.js +0 -135
- package/dist/src/utils/glob.js +0 -90
- package/dist/src/utils/gracefulShutdown.js +0 -447
- package/dist/src/utils/groupToolUses.js +0 -126
- package/dist/src/utils/handlePromptSubmit.js +0 -398
- package/dist/src/utils/hash.js +0 -46
- package/dist/src/utils/headlessProfiler.js +0 -147
- package/dist/src/utils/heapDumpService.js +0 -202
- package/dist/src/utils/heatmap.js +0 -151
- package/dist/src/utils/highlightMatch.js +0 -28
- package/dist/src/utils/hooks/AsyncHookRegistry.js +0 -187
- package/dist/src/utils/hooks/apiQueryHookHelper.js +0 -77
- package/dist/src/utils/hooks/execAgentHook.js +0 -257
- package/dist/src/utils/hooks/execHttpHook.js +0 -184
- package/dist/src/utils/hooks/execPromptHook.js +0 -171
- package/dist/src/utils/hooks/fileChangedWatcher.js +0 -161
- package/dist/src/utils/hooks/hookEvents.js +0 -111
- package/dist/src/utils/hooks/hookHelpers.js +0 -60
- package/dist/src/utils/hooks/hooksConfigManager.js +0 -323
- package/dist/src/utils/hooks/hooksConfigSnapshot.js +0 -114
- package/dist/src/utils/hooks/hooksSettings.js +0 -204
- package/dist/src/utils/hooks/postSamplingHooks.js +0 -39
- package/dist/src/utils/hooks/registerFrontmatterHooks.js +0 -47
- package/dist/src/utils/hooks/registerSkillHooks.js +0 -40
- package/dist/src/utils/hooks/sessionHooks.js +0 -252
- package/dist/src/utils/hooks/skillImprovement.js +0 -211
- package/dist/src/utils/hooks/ssrfGuard.js +0 -258
- package/dist/src/utils/hooks.js +0 -3668
- package/dist/src/utils/horizontalScroll.js +0 -108
- package/dist/src/utils/http.js +0 -121
- package/dist/src/utils/hyperlink.js +0 -28
- package/dist/src/utils/iTermBackup.js +0 -48
- package/dist/src/utils/ide.js +0 -1198
- package/dist/src/utils/idePathConversion.js +0 -66
- package/dist/src/utils/idleTimeout.js +0 -44
- package/dist/src/utils/imagePaste.js +0 -329
- package/dist/src/utils/imageResizer.js +0 -664
- package/dist/src/utils/imageStore.js +0 -150
- package/dist/src/utils/imageValidation.js +0 -92
- package/dist/src/utils/immediateCommand.js +0 -12
- package/dist/src/utils/inProcessTeammateHelpers.js +0 -71
- package/dist/src/utils/ink.js +0 -20
- package/dist/src/utils/intl.js +0 -83
- package/dist/src/utils/jetbrains.js +0 -152
- package/dist/src/utils/json.js +0 -295
- package/dist/src/utils/jsonRead.js +0 -14
- package/dist/src/utils/keyboardShortcuts.js +0 -11
- package/dist/src/utils/lazySchema.js +0 -8
- package/dist/src/utils/listSessionsImpl.js +0 -332
- package/dist/src/utils/localInstaller.js +0 -131
- package/dist/src/utils/lockfile.js +0 -22
- package/dist/src/utils/log.js +0 -280
- package/dist/src/utils/logoV2Utils.js +0 -288
- package/dist/src/utils/mailbox.js +0 -50
- package/dist/src/utils/managedEnv.js +0 -160
- package/dist/src/utils/managedEnvConstants.js +0 -187
- package/dist/src/utils/markdown.js +0 -300
- package/dist/src/utils/markdownConfigLoader.js +0 -480
- package/dist/src/utils/mcp/dateTimeParser.js +0 -102
- package/dist/src/utils/mcp/elicitationValidation.js +0 -259
- package/dist/src/utils/mcpInstructionsDelta.js +0 -97
- package/dist/src/utils/mcpOutputStorage.js +0 -159
- package/dist/src/utils/mcpValidation.js +0 -165
- package/dist/src/utils/mcpWebSocketTransport.js +0 -180
- package/dist/src/utils/memoize.js +0 -205
- package/dist/src/utils/memory/types.js +0 -9
- package/dist/src/utils/memory/versions.js +0 -7
- package/dist/src/utils/memoryFileDetection.js +0 -247
- package/dist/src/utils/messagePredicates.js +0 -6
- package/dist/src/utils/messageQueueManager.js +0 -430
- package/dist/src/utils/messages/mappers.js +0 -240
- package/dist/src/utils/messages/systemInit.js +0 -74
- package/dist/src/utils/messages.js +0 -4273
- package/dist/src/utils/model/agent.js +0 -128
- package/dist/src/utils/model/aliases.js +0 -21
- package/dist/src/utils/model/antModels.js +0 -25
- package/dist/src/utils/model/bedrock.js +0 -220
- package/dist/src/utils/model/check1mAccess.js +0 -64
- package/dist/src/utils/model/configs.js +0 -93
- package/dist/src/utils/model/contextWindowUpgradeCheck.js +0 -41
- package/dist/src/utils/model/deprecation.js +0 -72
- package/dist/src/utils/model/model.js +0 -635
- package/dist/src/utils/model/modelAllowlist.js +0 -148
- package/dist/src/utils/model/modelCapabilities.js +0 -107
- package/dist/src/utils/model/modelOptions.js +0 -627
- package/dist/src/utils/model/modelStrings.js +0 -144
- package/dist/src/utils/model/modelSupportOverrides.js +0 -40
- package/dist/src/utils/model/openrouter.js +0 -51
- package/dist/src/utils/model/providerBaseUrls.js +0 -77
- package/dist/src/utils/model/providerCatalog.js +0 -81
- package/dist/src/utils/model/providerModels.js +0 -334
- package/dist/src/utils/model/providerProfiles.js +0 -392
- package/dist/src/utils/model/providerProfilesDb.js +0 -556
- package/dist/src/utils/model/providerSwitch.js +0 -68
- package/dist/src/utils/model/providers.js +0 -199
- package/dist/src/utils/model/validateModel.js +0 -257
- package/dist/src/utils/modelCost.js +0 -160
- package/dist/src/utils/modifiers.js +0 -35
- package/dist/src/utils/mtls.js +0 -134
- package/dist/src/utils/nativeInstaller/download.js +0 -370
- package/dist/src/utils/nativeInstaller/index.js +0 -8
- package/dist/src/utils/nativeInstaller/installer.js +0 -1396
- package/dist/src/utils/nativeInstaller/packageManagers.js +0 -258
- package/dist/src/utils/nativeInstaller/pidLock.js +0 -347
- package/dist/src/utils/notebook.js +0 -176
- package/dist/src/utils/objectGroupBy.js +0 -15
- package/dist/src/utils/pasteStore.js +0 -93
- package/dist/src/utils/path.js +0 -140
- package/dist/src/utils/pdf.js +0 -236
- package/dist/src/utils/pdfUtils.js +0 -61
- package/dist/src/utils/peerAddress.js +0 -20
- package/dist/src/utils/permissions/PermissionMode.js +0 -95
- package/dist/src/utils/permissions/PermissionPromptToolResultSchema.js +0 -85
- package/dist/src/utils/permissions/PermissionResult.js +0 -11
- package/dist/src/utils/permissions/PermissionRule.js +0 -19
- package/dist/src/utils/permissions/PermissionUpdate.js +0 -268
- package/dist/src/utils/permissions/PermissionUpdateSchema.js +0 -61
- package/dist/src/utils/permissions/autoModeState.js +0 -34
- package/dist/src/utils/permissions/bashClassifier.js +0 -30
- package/dist/src/utils/permissions/bypassPermissionsKillswitch.js +0 -115
- package/dist/src/utils/permissions/classifierDecision.js +0 -88
- package/dist/src/utils/permissions/classifierShared.js +0 -28
- package/dist/src/utils/permissions/dangerousPatterns.js +0 -78
- package/dist/src/utils/permissions/denialTracking.js +0 -34
- package/dist/src/utils/permissions/filesystem.js +0 -1411
- package/dist/src/utils/permissions/getNextPermissionMode.js +0 -74
- package/dist/src/utils/permissions/pathValidation.js +0 -351
- package/dist/src/utils/permissions/permissionExplainer.js +0 -188
- package/dist/src/utils/permissions/permissionRuleParser.js +0 -177
- package/dist/src/utils/permissions/permissionSetup.js +0 -1164
- package/dist/src/utils/permissions/permissions.js +0 -1065
- package/dist/src/utils/permissions/permissionsLoader.js +0 -217
- package/dist/src/utils/permissions/shadowedRuleDetection.js +0 -149
- package/dist/src/utils/permissions/shellRuleMatching.js +0 -174
- package/dist/src/utils/permissions/yoloClassifier.js +0 -1195
- package/dist/src/utils/planModeV2.js +0 -75
- package/dist/src/utils/plans.js +0 -334
- package/dist/src/utils/platform.js +0 -122
- package/dist/src/utils/plugins/addDirPluginSettings.js +0 -53
- package/dist/src/utils/plugins/cacheUtils.js +0 -174
- package/dist/src/utils/plugins/dependencyResolver.js +0 -244
- package/dist/src/utils/plugins/fetchTelemetry.js +0 -108
- package/dist/src/utils/plugins/gitAvailability.js +0 -65
- package/dist/src/utils/plugins/headlessPluginInstall.js +0 -136
- package/dist/src/utils/plugins/hintRecommendation.js +0 -136
- package/dist/src/utils/plugins/installCounts.js +0 -218
- package/dist/src/utils/plugins/installedPluginsManager.js +0 -1003
- package/dist/src/utils/plugins/loadPluginAgents.js +0 -219
- package/dist/src/utils/plugins/loadPluginCommands.js +0 -595
- package/dist/src/utils/plugins/loadPluginHooks.js +0 -239
- package/dist/src/utils/plugins/loadPluginOutputStyles.js +0 -112
- package/dist/src/utils/plugins/lspPluginIntegration.js +0 -293
- package/dist/src/utils/plugins/lspRecommendation.js +0 -278
- package/dist/src/utils/plugins/managedPlugins.js +0 -26
- package/dist/src/utils/plugins/marketplaceHelpers.js +0 -470
- package/dist/src/utils/plugins/marketplaceManager.js +0 -1939
- package/dist/src/utils/plugins/mcpPluginIntegration.js +0 -465
- package/dist/src/utils/plugins/mcpbHandler.js +0 -708
- package/dist/src/utils/plugins/officialMarketplace.js +0 -21
- package/dist/src/utils/plugins/officialMarketplaceGcs.js +0 -195
- package/dist/src/utils/plugins/officialMarketplaceStartupCheck.js +0 -338
- package/dist/src/utils/plugins/orphanedPluginFilter.js +0 -96
- package/dist/src/utils/plugins/parseMarketplaceInput.js +0 -143
- package/dist/src/utils/plugins/performStartupChecks.js +0 -66
- package/dist/src/utils/plugins/pluginAutoupdate.js +0 -210
- package/dist/src/utils/plugins/pluginBlocklist.js +0 -93
- package/dist/src/utils/plugins/pluginDirectories.js +0 -170
- package/dist/src/utils/plugins/pluginFlagging.js +0 -173
- package/dist/src/utils/plugins/pluginIdentifier.js +0 -78
- package/dist/src/utils/plugins/pluginInstallationHelpers.js +0 -400
- package/dist/src/utils/plugins/pluginLoader.js +0 -2426
- package/dist/src/utils/plugins/pluginOptionsStorage.js +0 -311
- package/dist/src/utils/plugins/pluginPolicy.js +0 -18
- package/dist/src/utils/plugins/pluginStartupCheck.js +0 -261
- package/dist/src/utils/plugins/pluginVersioning.js +0 -128
- package/dist/src/utils/plugins/reconciler.js +0 -181
- package/dist/src/utils/plugins/refresh.js +0 -162
- package/dist/src/utils/plugins/schemas.js +0 -1283
- package/dist/src/utils/plugins/validatePlugin.js +0 -765
- package/dist/src/utils/plugins/walkPluginMarkdown.js +0 -49
- package/dist/src/utils/plugins/zipCache.js +0 -346
- package/dist/src/utils/plugins/zipCacheAdapters.js +0 -133
- package/dist/src/utils/postCommitAttribution.js +0 -16
- package/dist/src/utils/powershell/dangerousCmdlets.js +0 -174
- package/dist/src/utils/powershell/parser.js +0 -1357
- package/dist/src/utils/powershell/staticPrefix.js +0 -277
- package/dist/src/utils/preflightChecks.js +0 -147
- package/dist/src/utils/privacyLevel.js +0 -49
- package/dist/src/utils/process.js +0 -56
- package/dist/src/utils/processUserInput/processBashCommand.js +0 -119
- package/dist/src/utils/processUserInput/processSlashCommand.js +0 -845
- package/dist/src/utils/processUserInput/processTextPrompt.js +0 -68
- package/dist/src/utils/processUserInput/processUserInput.js +0 -326
- package/dist/src/utils/profilerBase.js +0 -29
- package/dist/src/utils/promptCategory.js +0 -39
- package/dist/src/utils/promptEditor.js +0 -151
- package/dist/src/utils/promptShellExecution.js +0 -119
- package/dist/src/utils/proxy.js +0 -347
- package/dist/src/utils/queryContext.js +0 -110
- package/dist/src/utils/queryHelpers.js +0 -436
- package/dist/src/utils/queryProfiler.js +0 -242
- package/dist/src/utils/queueProcessor.js +0 -70
- package/dist/src/utils/readEditContext.js +0 -176
- package/dist/src/utils/readFileInRange.js +0 -278
- package/dist/src/utils/releaseNotes.js +0 -304
- package/dist/src/utils/renderOptions.js +0 -67
- package/dist/src/utils/ripgrep.js +0 -540
- package/dist/src/utils/sandbox/sandbox-adapter.js +0 -749
- package/dist/src/utils/sandbox/sandbox-ui-utils.js +0 -11
- package/dist/src/utils/sanitization.js +0 -72
- package/dist/src/utils/screenshotClipboard.js +0 -89
- package/dist/src/utils/sdkEventQueue.js +0 -49
- package/dist/src/utils/sdkHeapDumpMonitor.js +0 -16
- package/dist/src/utils/secureStorage/fallbackStorage.js +0 -59
- package/dist/src/utils/secureStorage/index.js +0 -14
- package/dist/src/utils/secureStorage/keychainPrefetch.js +0 -91
- package/dist/src/utils/secureStorage/macOsKeychainHelpers.js +0 -91
- package/dist/src/utils/secureStorage/macOsKeychainStorage.js +0 -192
- package/dist/src/utils/secureStorage/plainTextStorage.js +0 -81
- package/dist/src/utils/secureStorage/secureStoreDefs.js +0 -1
- package/dist/src/utils/secureStorage/sqliteStorage.js +0 -217
- package/dist/src/utils/secureStorage/types.js +0 -1
- package/dist/src/utils/semanticBoolean.js +0 -23
- package/dist/src/utils/semanticNumber.js +0 -34
- package/dist/src/utils/semver.js +0 -53
- package/dist/src/utils/sequential.js +0 -43
- package/dist/src/utils/sessionActivity.js +0 -120
- package/dist/src/utils/sessionDataUploader.js +0 -16
- package/dist/src/utils/sessionEnvVars.js +0 -18
- package/dist/src/utils/sessionEnvironment.js +0 -131
- package/dist/src/utils/sessionFileAccessHooks.js +0 -207
- package/dist/src/utils/sessionIngressAuth.js +0 -113
- package/dist/src/utils/sessionRestore.js +0 -359
- package/dist/src/utils/sessionStart.js +0 -165
- package/dist/src/utils/sessionState.js +0 -76
- package/dist/src/utils/sessionStorage.js +0 -4162
- package/dist/src/utils/sessionStoragePortable.js +0 -665
- package/dist/src/utils/sessionTitle.js +0 -120
- package/dist/src/utils/sessionUrl.js +0 -50
- package/dist/src/utils/set.js +0 -50
- package/dist/src/utils/settings/allErrors.js +0 -29
- package/dist/src/utils/settings/applySettingsChange.js +0 -65
- package/dist/src/utils/settings/changeDetector.js +0 -409
- package/dist/src/utils/settings/constants.js +0 -166
- package/dist/src/utils/settings/internalWrites.js +0 -33
- package/dist/src/utils/settings/managedPath.js +0 -29
- package/dist/src/utils/settings/mdm/constants.js +0 -62
- package/dist/src/utils/settings/mdm/rawRead.js +0 -97
- package/dist/src/utils/settings/mdm/settings.js +0 -254
- package/dist/src/utils/settings/permissionValidation.js +0 -224
- package/dist/src/utils/settings/pluginOnlyPolicy.js +0 -53
- package/dist/src/utils/settings/schemaOutput.js +0 -7
- package/dist/src/utils/settings/settings.js +0 -791
- package/dist/src/utils/settings/settingsCache.js +0 -47
- package/dist/src/utils/settings/toolValidationConfig.js +0 -76
- package/dist/src/utils/settings/types.js +0 -846
- package/dist/src/utils/settings/validateEditTool.js +0 -34
- package/dist/src/utils/settings/validation.js +0 -192
- package/dist/src/utils/settings/validationTips.js +0 -111
- package/dist/src/utils/shell/bashProvider.js +0 -202
- package/dist/src/utils/shell/outputLimits.js +0 -7
- package/dist/src/utils/shell/powershellDetection.js +0 -96
- package/dist/src/utils/shell/powershellProvider.js +0 -104
- package/dist/src/utils/shell/prefix.js +0 -246
- package/dist/src/utils/shell/readOnlyCommandValidation.js +0 -1776
- package/dist/src/utils/shell/resolveDefaultShell.js +0 -13
- package/dist/src/utils/shell/shellProvider.js +0 -2
- package/dist/src/utils/shell/shellToolUtils.js +0 -21
- package/dist/src/utils/shell/specPrefix.js +0 -198
- package/dist/src/utils/shellConfig.js +0 -136
- package/dist/src/utils/sideQuery.js +0 -195
- package/dist/src/utils/sideQuestion.js +0 -121
- package/dist/src/utils/signal.js +0 -34
- package/dist/src/utils/sinks.js +0 -15
- package/dist/src/utils/skills/skillChangeDetector.js +0 -264
- package/dist/src/utils/slashCommandParsing.js +0 -46
- package/dist/src/utils/sleep.js +0 -72
- package/dist/src/utils/sliceAnsi.js +0 -74
- package/dist/src/utils/slowOperations.js +0 -323
- package/dist/src/utils/standaloneAgent.js +0 -20
- package/dist/src/utils/startupProfiler.js +0 -158
- package/dist/src/utils/staticRender.js +0 -103
- package/dist/src/utils/stats.js +0 -802
- package/dist/src/utils/statsCache.js +0 -330
- package/dist/src/utils/status.js +0 -544
- package/dist/src/utils/statusNoticeDefinitions.js +0 -112
- package/dist/src/utils/statusNoticeHelpers.js +0 -15
- package/dist/src/utils/stream.js +0 -73
- package/dist/src/utils/streamJsonStdoutGuard.js +0 -107
- package/dist/src/utils/streamlinedTransform.js +0 -162
- package/dist/src/utils/stringUtils.js +0 -202
- package/dist/src/utils/subprocessEnv.js +0 -87
- package/dist/src/utils/suggestions/commandSuggestions.js +0 -458
- package/dist/src/utils/suggestions/directoryCompletion.js +0 -191
- package/dist/src/utils/suggestions/shellHistoryCompletion.js +0 -95
- package/dist/src/utils/suggestions/skillUsageTracking.js +0 -50
- package/dist/src/utils/suggestions/slackChannelSuggestions.js +0 -169
- package/dist/src/utils/swarm/It2SetupPrompt.js +0 -386
- package/dist/src/utils/swarm/backends/ITermBackend.js +0 -276
- package/dist/src/utils/swarm/backends/InProcessBackend.js +0 -237
- package/dist/src/utils/swarm/backends/PaneBackendExecutor.js +0 -250
- package/dist/src/utils/swarm/backends/TmuxBackend.js +0 -574
- package/dist/src/utils/swarm/backends/detection.js +0 -112
- package/dist/src/utils/swarm/backends/it2Setup.js +0 -185
- package/dist/src/utils/swarm/backends/registry.js +0 -369
- package/dist/src/utils/swarm/backends/teammateModeSnapshot.js +0 -68
- package/dist/src/utils/swarm/backends/types.js +0 -9
- package/dist/src/utils/swarm/constants.js +0 -29
- package/dist/src/utils/swarm/inProcessRunner.js +0 -1021
- package/dist/src/utils/swarm/leaderPermissionBridge.js +0 -31
- package/dist/src/utils/swarm/permissionSync.js +0 -667
- package/dist/src/utils/swarm/reconnection.js +0 -82
- package/dist/src/utils/swarm/spawnInProcess.js +0 -218
- package/dist/src/utils/swarm/spawnUtils.js +0 -123
- package/dist/src/utils/swarm/teamHelpers.js +0 -484
- package/dist/src/utils/swarm/teammateInit.js +0 -87
- package/dist/src/utils/swarm/teammateLayoutManager.js +0 -82
- package/dist/src/utils/swarm/teammateModel.js +0 -9
- package/dist/src/utils/swarm/teammatePromptAddendum.js +0 -17
- package/dist/src/utils/systemDirectories.js +0 -51
- package/dist/src/utils/systemPrompt.js +0 -90
- package/dist/src/utils/systemPromptType.js +0 -9
- package/dist/src/utils/systemTheme.js +0 -108
- package/dist/src/utils/systemThemeWatcher.js +0 -16
- package/dist/src/utils/taggedId.js +0 -49
- package/dist/src/utils/task/TaskOutput.js +0 -320
- package/dist/src/utils/task/diskOutput.js +0 -387
- package/dist/src/utils/task/framework.js +0 -236
- package/dist/src/utils/task/outputFormatting.js +0 -24
- package/dist/src/utils/task/sdkProgress.js +0 -24
- package/dist/src/utils/tasks.js +0 -672
- package/dist/src/utils/teamDiscovery.js +0 -48
- package/dist/src/utils/teamMemoryOps.js +0 -67
- package/dist/src/utils/teammate.js +0 -237
- package/dist/src/utils/teammateContext.js +0 -56
- package/dist/src/utils/teammateMailbox.js +0 -793
- package/dist/src/utils/telemetry/betaSessionTracing.js +0 -371
- package/dist/src/utils/telemetry/bigqueryExporter.js +0 -178
- package/dist/src/utils/telemetry/events.js +0 -57
- package/dist/src/utils/telemetry/instrumentation.js +0 -617
- package/dist/src/utils/telemetry/logger.js +0 -25
- package/dist/src/utils/telemetry/perfettoTracing.js +0 -882
- package/dist/src/utils/telemetry/pluginTelemetry.js +0 -157
- package/dist/src/utils/telemetry/sessionTracing.js +0 -693
- package/dist/src/utils/telemetry/skillLoadedEvent.js +0 -26
- package/dist/src/utils/telemetryAttributes.js +0 -57
- package/dist/src/utils/teleport/api.js +0 -299
- package/dist/src/utils/teleport/environmentSelection.js +0 -55
- package/dist/src/utils/teleport/environments.js +0 -84
- package/dist/src/utils/teleport/gitBundle.js +0 -192
- package/dist/src/utils/teleport.js +0 -1041
- package/dist/src/utils/tempfile.js +0 -26
- package/dist/src/utils/terminal.js +0 -105
- package/dist/src/utils/terminalPanel.js +0 -155
- package/dist/src/utils/textHighlighting.js +0 -113
- package/dist/src/utils/theme.js +0 -525
- package/dist/src/utils/thinking.js +0 -130
- package/dist/src/utils/timeouts.js +0 -35
- package/dist/src/utils/tmuxSocket.js +0 -373
- package/dist/src/utils/todo/types.js +0 -9
- package/dist/src/utils/tokenBudget.js +0 -62
- package/dist/src/utils/tokens.js +0 -223
- package/dist/src/utils/toolErrors.js +0 -101
- package/dist/src/utils/toolPool.js +0 -63
- package/dist/src/utils/toolResultStorage.js +0 -769
- package/dist/src/utils/toolSchemaCache.js +0 -7
- package/dist/src/utils/toolSearch.js +0 -551
- package/dist/src/utils/transcriptSearch.js +0 -200
- package/dist/src/utils/treeify.js +0 -111
- package/dist/src/utils/truncate.js +0 -164
- package/dist/src/utils/udsClient.js +0 -16
- package/dist/src/utils/udsMessaging.js +0 -16
- package/dist/src/utils/ultraplan/ccrSession.js +0 -264
- package/dist/src/utils/ultraplan/keyword.js +0 -122
- package/dist/src/utils/ultraplan/prompt.txt +0 -1
- package/dist/src/utils/unaryLogging.js +0 -16
- package/dist/src/utils/undercover.js +0 -89
- package/dist/src/utils/user.js +0 -138
- package/dist/src/utils/userAgent.js +0 -13
- package/dist/src/utils/userPromptKeywords.js +0 -21
- package/dist/src/utils/uuid.js +0 -22
- package/dist/src/utils/warningHandler.js +0 -97
- package/dist/src/utils/which.js +0 -75
- package/dist/src/utils/windowsPaths.js +0 -146
- package/dist/src/utils/withResolvers.js +0 -13
- package/dist/src/utils/words.js +0 -793
- package/dist/src/utils/workloadContext.js +0 -42
- package/dist/src/utils/worktree.js +0 -1142
- package/dist/src/utils/worktreeModeEnabled.js +0 -11
- package/dist/src/utils/xdg.js +0 -52
- package/dist/src/utils/xml.js +0 -15
- package/dist/src/utils/yaml.js +0 -16
- package/dist/src/utils/zodToJsonSchema.js +0 -19
- package/dist/src/vim/motions.js +0 -73
- package/dist/src/vim/operators.js +0 -401
- package/dist/src/vim/textObjects.js +0 -153
- package/dist/src/vim/transitions.js +0 -340
- package/dist/src/vim/types.js +0 -93
- package/dist/src/voice/voiceModeEnabled.js +0 -48
- package/dist/src/whatsapp/bridge.js +0 -267
- package/dist/src/whatsapp/config.js +0 -128
- package/dist/src/whatsapp/markdown.js +0 -37
- package/dist/src/whatsapp/mirror.js +0 -74
- package/dist/src/whatsapp/session.js +0 -142
|
@@ -1,475 +0,0 @@
|
|
|
1
|
-
import { feature } from '../../recovery/bunBundleShim.js';
|
|
2
|
-
import { stat } from 'fs/promises';
|
|
3
|
-
import { OUTPUT_FILE_TAG, STATUS_TAG, SUMMARY_TAG, TASK_ID_TAG, TASK_NOTIFICATION_TAG, TOOL_USE_ID_TAG } from '../../constants/xml.js';
|
|
4
|
-
import { abortSpeculation } from '../../services/PromptSuggestion/speculation.js';
|
|
5
|
-
import { createTaskStateBase } from '../../Task.js';
|
|
6
|
-
import { registerCleanup } from '../../utils/cleanupRegistry.js';
|
|
7
|
-
import { tailFile } from '../../utils/fsOperations.js';
|
|
8
|
-
import { logError } from '../../utils/log.js';
|
|
9
|
-
import { enqueuePendingNotification } from '../../utils/messageQueueManager.js';
|
|
10
|
-
import { evictTaskOutput, getTaskOutputPath } from '../../utils/task/diskOutput.js';
|
|
11
|
-
import { registerTask, updateTaskState } from '../../utils/task/framework.js';
|
|
12
|
-
import { escapeXml } from '../../utils/xml.js';
|
|
13
|
-
import { backgroundAgentTask, isLocalAgentTask } from '../LocalAgentTask/LocalAgentTask.js';
|
|
14
|
-
import { isMainSessionTask } from '../LocalMainSessionTask.js';
|
|
15
|
-
import { isLocalShellTask } from './guards.js';
|
|
16
|
-
import { killTask } from './killShellTasks.js';
|
|
17
|
-
/** Prefix that identifies a LocalShellTask summary to the UI collapse transform. */
|
|
18
|
-
export const BACKGROUND_BASH_SUMMARY_PREFIX = 'Background command ';
|
|
19
|
-
const STALL_CHECK_INTERVAL_MS = 5_000;
|
|
20
|
-
const STALL_THRESHOLD_MS = 45_000;
|
|
21
|
-
const STALL_TAIL_BYTES = 1024;
|
|
22
|
-
// Last-line patterns that suggest a command is blocked waiting for keyboard
|
|
23
|
-
// input. Used to gate the stall notification — we stay silent on commands that
|
|
24
|
-
// are merely slow (git log -S, long builds) and only notify when the tail
|
|
25
|
-
// looks like an interactive prompt the model can act on. See CC-1175.
|
|
26
|
-
const PROMPT_PATTERNS = [/\(y\/n\)/i,
|
|
27
|
-
// (Y/n), (y/N)
|
|
28
|
-
/\[y\/n\]/i,
|
|
29
|
-
// [Y/n], [y/N]
|
|
30
|
-
/\(yes\/no\)/i, /\b(?:Do you|Would you|Shall I|Are you sure|Ready to)\b.*\? *$/i,
|
|
31
|
-
// directed questions
|
|
32
|
-
/Press (any key|Enter)/i, /Continue\?/i, /Overwrite\?/i];
|
|
33
|
-
export function looksLikePrompt(tail) {
|
|
34
|
-
const lastLine = tail.trimEnd().split('\n').pop() ?? '';
|
|
35
|
-
return PROMPT_PATTERNS.some(p => p.test(lastLine));
|
|
36
|
-
}
|
|
37
|
-
// Output-side analog of peekForStdinData (utils/process.ts): fire a one-shot
|
|
38
|
-
// notification if output stops growing and the tail looks like a prompt.
|
|
39
|
-
function startStallWatchdog(taskId, description, kind, toolUseId, agentId) {
|
|
40
|
-
if (kind === 'monitor')
|
|
41
|
-
return () => { };
|
|
42
|
-
const outputPath = getTaskOutputPath(taskId);
|
|
43
|
-
let lastSize = 0;
|
|
44
|
-
let lastGrowth = Date.now();
|
|
45
|
-
let cancelled = false;
|
|
46
|
-
const timer = setInterval(() => {
|
|
47
|
-
void stat(outputPath).then(s => {
|
|
48
|
-
if (s.size > lastSize) {
|
|
49
|
-
lastSize = s.size;
|
|
50
|
-
lastGrowth = Date.now();
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
if (Date.now() - lastGrowth < STALL_THRESHOLD_MS)
|
|
54
|
-
return;
|
|
55
|
-
void tailFile(outputPath, STALL_TAIL_BYTES).then(({ content }) => {
|
|
56
|
-
if (cancelled)
|
|
57
|
-
return;
|
|
58
|
-
if (!looksLikePrompt(content)) {
|
|
59
|
-
// Not a prompt — keep watching. Reset so the next check is
|
|
60
|
-
// 45s out instead of re-reading the tail on every tick.
|
|
61
|
-
lastGrowth = Date.now();
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
// Latch before the async-boundary-visible side effects so an
|
|
65
|
-
// overlapping tick's callback sees cancelled=true and bails.
|
|
66
|
-
cancelled = true;
|
|
67
|
-
clearInterval(timer);
|
|
68
|
-
const toolUseIdLine = toolUseId ? `\n<${TOOL_USE_ID_TAG}>${toolUseId}</${TOOL_USE_ID_TAG}>` : '';
|
|
69
|
-
const summary = `${BACKGROUND_BASH_SUMMARY_PREFIX}"${description}" appears to be waiting for interactive input`;
|
|
70
|
-
// No <status> tag — print.ts treats <status> as a terminal
|
|
71
|
-
// signal and an unknown value falls through to 'completed',
|
|
72
|
-
// falsely closing the task for SDK consumers. Statusless
|
|
73
|
-
// notifications are skipped by the SDK emitter (progress ping).
|
|
74
|
-
const message = `<${TASK_NOTIFICATION_TAG}>
|
|
75
|
-
<${TASK_ID_TAG}>${taskId}</${TASK_ID_TAG}>${toolUseIdLine}
|
|
76
|
-
<${OUTPUT_FILE_TAG}>${outputPath}</${OUTPUT_FILE_TAG}>
|
|
77
|
-
<${SUMMARY_TAG}>${escapeXml(summary)}</${SUMMARY_TAG}>
|
|
78
|
-
</${TASK_NOTIFICATION_TAG}>
|
|
79
|
-
Last output:
|
|
80
|
-
${content.trimEnd()}
|
|
81
|
-
|
|
82
|
-
The command is likely blocked on an interactive prompt. Kill this task and re-run with piped input (e.g., \`echo y | command\`) or a non-interactive flag if one exists.`;
|
|
83
|
-
enqueuePendingNotification({
|
|
84
|
-
value: message,
|
|
85
|
-
mode: 'task-notification',
|
|
86
|
-
priority: 'next',
|
|
87
|
-
agentId
|
|
88
|
-
});
|
|
89
|
-
}, () => { });
|
|
90
|
-
}, () => { } // File may not exist yet
|
|
91
|
-
);
|
|
92
|
-
}, STALL_CHECK_INTERVAL_MS);
|
|
93
|
-
timer.unref();
|
|
94
|
-
return () => {
|
|
95
|
-
cancelled = true;
|
|
96
|
-
clearInterval(timer);
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
function enqueueShellNotification(taskId, description, status, exitCode, setAppState, toolUseId, kind = 'bash', agentId) {
|
|
100
|
-
// Atomically check and set notified flag to prevent duplicate notifications.
|
|
101
|
-
// If the task was already marked as notified (e.g., by TaskStopTool), skip
|
|
102
|
-
// enqueueing to avoid sending redundant messages to the model.
|
|
103
|
-
let shouldEnqueue = false;
|
|
104
|
-
updateTaskState(taskId, setAppState, task => {
|
|
105
|
-
if (task.notified) {
|
|
106
|
-
return task;
|
|
107
|
-
}
|
|
108
|
-
shouldEnqueue = true;
|
|
109
|
-
return {
|
|
110
|
-
...task,
|
|
111
|
-
notified: true
|
|
112
|
-
};
|
|
113
|
-
});
|
|
114
|
-
if (!shouldEnqueue) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
// Abort any active speculation — background task state changed, so speculated
|
|
118
|
-
// results may reference stale task output. The prompt suggestion text is
|
|
119
|
-
// preserved; only the pre-computed response is discarded.
|
|
120
|
-
abortSpeculation(setAppState);
|
|
121
|
-
let summary;
|
|
122
|
-
if (feature('MONITOR_TOOL') && kind === 'monitor') {
|
|
123
|
-
// Monitor is streaming-only (post-#22764) — the script exiting means
|
|
124
|
-
// the stream ended, not "condition met". Distinct from the bash prefix
|
|
125
|
-
// so Monitor completions don't fold into the "N background commands
|
|
126
|
-
// completed" collapse.
|
|
127
|
-
switch (status) {
|
|
128
|
-
case 'completed':
|
|
129
|
-
summary = `Monitor "${description}" stream ended`;
|
|
130
|
-
break;
|
|
131
|
-
case 'failed':
|
|
132
|
-
summary = `Monitor "${description}" script failed${exitCode !== undefined ? ` (exit ${exitCode})` : ''}`;
|
|
133
|
-
break;
|
|
134
|
-
case 'killed':
|
|
135
|
-
summary = `Monitor "${description}" stopped`;
|
|
136
|
-
break;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
switch (status) {
|
|
141
|
-
case 'completed':
|
|
142
|
-
summary = `${BACKGROUND_BASH_SUMMARY_PREFIX}"${description}" completed${exitCode !== undefined ? ` (exit code ${exitCode})` : ''}`;
|
|
143
|
-
break;
|
|
144
|
-
case 'failed':
|
|
145
|
-
summary = `${BACKGROUND_BASH_SUMMARY_PREFIX}"${description}" failed${exitCode !== undefined ? ` with exit code ${exitCode}` : ''}`;
|
|
146
|
-
break;
|
|
147
|
-
case 'killed':
|
|
148
|
-
summary = `${BACKGROUND_BASH_SUMMARY_PREFIX}"${description}" was stopped`;
|
|
149
|
-
break;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
const outputPath = getTaskOutputPath(taskId);
|
|
153
|
-
const toolUseIdLine = toolUseId ? `\n<${TOOL_USE_ID_TAG}>${toolUseId}</${TOOL_USE_ID_TAG}>` : '';
|
|
154
|
-
const message = `<${TASK_NOTIFICATION_TAG}>
|
|
155
|
-
<${TASK_ID_TAG}>${taskId}</${TASK_ID_TAG}>${toolUseIdLine}
|
|
156
|
-
<${OUTPUT_FILE_TAG}>${outputPath}</${OUTPUT_FILE_TAG}>
|
|
157
|
-
<${STATUS_TAG}>${status}</${STATUS_TAG}>
|
|
158
|
-
<${SUMMARY_TAG}>${escapeXml(summary)}</${SUMMARY_TAG}>
|
|
159
|
-
</${TASK_NOTIFICATION_TAG}>`;
|
|
160
|
-
enqueuePendingNotification({
|
|
161
|
-
value: message,
|
|
162
|
-
mode: 'task-notification',
|
|
163
|
-
priority: feature('MONITOR_TOOL') ? 'next' : 'later',
|
|
164
|
-
agentId
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
export const LocalShellTask = {
|
|
168
|
-
name: 'LocalShellTask',
|
|
169
|
-
type: 'local_bash',
|
|
170
|
-
async kill(taskId, setAppState) {
|
|
171
|
-
killTask(taskId, setAppState);
|
|
172
|
-
}
|
|
173
|
-
};
|
|
174
|
-
export async function spawnShellTask(input, context) {
|
|
175
|
-
const { command, description, shellCommand, toolUseId, agentId, kind } = input;
|
|
176
|
-
const { setAppState } = context;
|
|
177
|
-
// TaskOutput owns the data — use its taskId so disk writes are consistent
|
|
178
|
-
const { taskOutput } = shellCommand;
|
|
179
|
-
const taskId = taskOutput.taskId;
|
|
180
|
-
const unregisterCleanup = registerCleanup(async () => {
|
|
181
|
-
killTask(taskId, setAppState);
|
|
182
|
-
});
|
|
183
|
-
const taskState = {
|
|
184
|
-
...createTaskStateBase(taskId, 'local_bash', description, toolUseId),
|
|
185
|
-
type: 'local_bash',
|
|
186
|
-
status: 'running',
|
|
187
|
-
command,
|
|
188
|
-
completionStatusSentInAttachment: false,
|
|
189
|
-
shellCommand,
|
|
190
|
-
unregisterCleanup,
|
|
191
|
-
lastReportedTotalLines: 0,
|
|
192
|
-
isBackgrounded: true,
|
|
193
|
-
agentId,
|
|
194
|
-
kind
|
|
195
|
-
};
|
|
196
|
-
registerTask(taskState, setAppState);
|
|
197
|
-
// Data flows through TaskOutput automatically — no stream listeners needed.
|
|
198
|
-
// Just transition to backgrounded state so the process keeps running.
|
|
199
|
-
shellCommand.background(taskId);
|
|
200
|
-
const cancelStallWatchdog = startStallWatchdog(taskId, description, kind, toolUseId, agentId);
|
|
201
|
-
void shellCommand.result.then(async (result) => {
|
|
202
|
-
cancelStallWatchdog();
|
|
203
|
-
await flushAndCleanup(shellCommand);
|
|
204
|
-
let wasKilled = false;
|
|
205
|
-
updateTaskState(taskId, setAppState, task => {
|
|
206
|
-
if (task.status === 'killed') {
|
|
207
|
-
wasKilled = true;
|
|
208
|
-
return task;
|
|
209
|
-
}
|
|
210
|
-
return {
|
|
211
|
-
...task,
|
|
212
|
-
status: result.code === 0 ? 'completed' : 'failed',
|
|
213
|
-
result: {
|
|
214
|
-
code: result.code,
|
|
215
|
-
interrupted: result.interrupted
|
|
216
|
-
},
|
|
217
|
-
shellCommand: null,
|
|
218
|
-
unregisterCleanup: undefined,
|
|
219
|
-
endTime: Date.now()
|
|
220
|
-
};
|
|
221
|
-
});
|
|
222
|
-
enqueueShellNotification(taskId, description, wasKilled ? 'killed' : result.code === 0 ? 'completed' : 'failed', result.code, setAppState, toolUseId, kind, agentId);
|
|
223
|
-
void evictTaskOutput(taskId);
|
|
224
|
-
});
|
|
225
|
-
return {
|
|
226
|
-
taskId,
|
|
227
|
-
cleanup: () => {
|
|
228
|
-
unregisterCleanup();
|
|
229
|
-
}
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Register a foreground task that could be backgrounded later.
|
|
234
|
-
* Called when a bash command has been running long enough to show the BackgroundHint.
|
|
235
|
-
* @returns taskId for the registered task
|
|
236
|
-
*/
|
|
237
|
-
export function registerForeground(input, setAppState, toolUseId) {
|
|
238
|
-
const { command, description, shellCommand, agentId } = input;
|
|
239
|
-
const taskId = shellCommand.taskOutput.taskId;
|
|
240
|
-
const unregisterCleanup = registerCleanup(async () => {
|
|
241
|
-
killTask(taskId, setAppState);
|
|
242
|
-
});
|
|
243
|
-
const taskState = {
|
|
244
|
-
...createTaskStateBase(taskId, 'local_bash', description, toolUseId),
|
|
245
|
-
type: 'local_bash',
|
|
246
|
-
status: 'running',
|
|
247
|
-
command,
|
|
248
|
-
completionStatusSentInAttachment: false,
|
|
249
|
-
shellCommand,
|
|
250
|
-
unregisterCleanup,
|
|
251
|
-
lastReportedTotalLines: 0,
|
|
252
|
-
isBackgrounded: false,
|
|
253
|
-
// Not yet backgrounded - running in foreground
|
|
254
|
-
agentId
|
|
255
|
-
};
|
|
256
|
-
registerTask(taskState, setAppState);
|
|
257
|
-
return taskId;
|
|
258
|
-
}
|
|
259
|
-
/**
|
|
260
|
-
* Background a specific foreground task.
|
|
261
|
-
* @returns true if backgrounded successfully, false otherwise
|
|
262
|
-
*/
|
|
263
|
-
function backgroundTask(taskId, getAppState, setAppState) {
|
|
264
|
-
// Step 1: Get the task and shell command from current state
|
|
265
|
-
const state = getAppState();
|
|
266
|
-
const task = state.tasks[taskId];
|
|
267
|
-
if (!isLocalShellTask(task) || task.isBackgrounded || !task.shellCommand) {
|
|
268
|
-
return false;
|
|
269
|
-
}
|
|
270
|
-
const shellCommand = task.shellCommand;
|
|
271
|
-
const description = task.description;
|
|
272
|
-
const { toolUseId, kind, agentId } = task;
|
|
273
|
-
// Transition to backgrounded — TaskOutput continues receiving data automatically
|
|
274
|
-
if (!shellCommand.background(taskId)) {
|
|
275
|
-
return false;
|
|
276
|
-
}
|
|
277
|
-
setAppState(prev => {
|
|
278
|
-
const prevTask = prev.tasks[taskId];
|
|
279
|
-
if (!isLocalShellTask(prevTask) || prevTask.isBackgrounded) {
|
|
280
|
-
return prev;
|
|
281
|
-
}
|
|
282
|
-
return {
|
|
283
|
-
...prev,
|
|
284
|
-
tasks: {
|
|
285
|
-
...prev.tasks,
|
|
286
|
-
[taskId]: {
|
|
287
|
-
...prevTask,
|
|
288
|
-
isBackgrounded: true
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
};
|
|
292
|
-
});
|
|
293
|
-
const cancelStallWatchdog = startStallWatchdog(taskId, description, kind, toolUseId, agentId);
|
|
294
|
-
// Set up result handler
|
|
295
|
-
void shellCommand.result.then(async (result) => {
|
|
296
|
-
cancelStallWatchdog();
|
|
297
|
-
await flushAndCleanup(shellCommand);
|
|
298
|
-
let wasKilled = false;
|
|
299
|
-
let cleanupFn;
|
|
300
|
-
updateTaskState(taskId, setAppState, t => {
|
|
301
|
-
if (t.status === 'killed') {
|
|
302
|
-
wasKilled = true;
|
|
303
|
-
return t;
|
|
304
|
-
}
|
|
305
|
-
// Capture cleanup function to call outside of updater
|
|
306
|
-
cleanupFn = t.unregisterCleanup;
|
|
307
|
-
return {
|
|
308
|
-
...t,
|
|
309
|
-
status: result.code === 0 ? 'completed' : 'failed',
|
|
310
|
-
result: {
|
|
311
|
-
code: result.code,
|
|
312
|
-
interrupted: result.interrupted
|
|
313
|
-
},
|
|
314
|
-
shellCommand: null,
|
|
315
|
-
unregisterCleanup: undefined,
|
|
316
|
-
endTime: Date.now()
|
|
317
|
-
};
|
|
318
|
-
});
|
|
319
|
-
// Call cleanup outside of the state updater (avoid side effects in updater)
|
|
320
|
-
cleanupFn?.();
|
|
321
|
-
if (wasKilled) {
|
|
322
|
-
enqueueShellNotification(taskId, description, 'killed', result.code, setAppState, toolUseId, kind, agentId);
|
|
323
|
-
}
|
|
324
|
-
else {
|
|
325
|
-
const finalStatus = result.code === 0 ? 'completed' : 'failed';
|
|
326
|
-
enqueueShellNotification(taskId, description, finalStatus, result.code, setAppState, toolUseId, kind, agentId);
|
|
327
|
-
}
|
|
328
|
-
void evictTaskOutput(taskId);
|
|
329
|
-
});
|
|
330
|
-
return true;
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Background ALL foreground tasks (bash commands and agents).
|
|
334
|
-
* Called when user presses Ctrl+B to background all running tasks.
|
|
335
|
-
*/
|
|
336
|
-
/**
|
|
337
|
-
* Check if there are any foreground tasks (bash or agent) that can be backgrounded.
|
|
338
|
-
* Used to determine whether Ctrl+B should background existing tasks vs. background the session.
|
|
339
|
-
*/
|
|
340
|
-
export function hasForegroundTasks(state) {
|
|
341
|
-
return Object.values(state.tasks).some(task => {
|
|
342
|
-
if (isLocalShellTask(task) && !task.isBackgrounded && task.shellCommand) {
|
|
343
|
-
return true;
|
|
344
|
-
}
|
|
345
|
-
// Exclude main session tasks - they display in the main view, not as foreground tasks
|
|
346
|
-
if (isLocalAgentTask(task) && !task.isBackgrounded && !isMainSessionTask(task)) {
|
|
347
|
-
return true;
|
|
348
|
-
}
|
|
349
|
-
return false;
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
export function backgroundAll(getAppState, setAppState) {
|
|
353
|
-
const state = getAppState();
|
|
354
|
-
// Background all foreground bash tasks
|
|
355
|
-
const foregroundBashTaskIds = Object.keys(state.tasks).filter(id => {
|
|
356
|
-
const task = state.tasks[id];
|
|
357
|
-
return isLocalShellTask(task) && !task.isBackgrounded && task.shellCommand;
|
|
358
|
-
});
|
|
359
|
-
for (const taskId of foregroundBashTaskIds) {
|
|
360
|
-
backgroundTask(taskId, getAppState, setAppState);
|
|
361
|
-
}
|
|
362
|
-
// Background all foreground agent tasks
|
|
363
|
-
const foregroundAgentTaskIds = Object.keys(state.tasks).filter(id => {
|
|
364
|
-
const task = state.tasks[id];
|
|
365
|
-
return isLocalAgentTask(task) && !task.isBackgrounded;
|
|
366
|
-
});
|
|
367
|
-
for (const taskId of foregroundAgentTaskIds) {
|
|
368
|
-
backgroundAgentTask(taskId, getAppState, setAppState);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* Background an already-registered foreground task in-place.
|
|
373
|
-
* Unlike spawn(), this does NOT re-register the task — it flips isBackgrounded
|
|
374
|
-
* on the existing registration and sets up a completion handler.
|
|
375
|
-
* Used when the auto-background timer fires after registerForeground() has
|
|
376
|
-
* already registered the task (avoiding duplicate task_started SDK events
|
|
377
|
-
* and leaked cleanup callbacks).
|
|
378
|
-
*/
|
|
379
|
-
export function backgroundExistingForegroundTask(taskId, shellCommand, description, setAppState, toolUseId) {
|
|
380
|
-
if (!shellCommand.background(taskId)) {
|
|
381
|
-
return false;
|
|
382
|
-
}
|
|
383
|
-
let agentId;
|
|
384
|
-
setAppState(prev => {
|
|
385
|
-
const prevTask = prev.tasks[taskId];
|
|
386
|
-
if (!isLocalShellTask(prevTask) || prevTask.isBackgrounded) {
|
|
387
|
-
return prev;
|
|
388
|
-
}
|
|
389
|
-
agentId = prevTask.agentId;
|
|
390
|
-
return {
|
|
391
|
-
...prev,
|
|
392
|
-
tasks: {
|
|
393
|
-
...prev.tasks,
|
|
394
|
-
[taskId]: {
|
|
395
|
-
...prevTask,
|
|
396
|
-
isBackgrounded: true
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
};
|
|
400
|
-
});
|
|
401
|
-
const cancelStallWatchdog = startStallWatchdog(taskId, description, undefined, toolUseId, agentId);
|
|
402
|
-
// Set up result handler (mirrors backgroundTask's handler)
|
|
403
|
-
void shellCommand.result.then(async (result) => {
|
|
404
|
-
cancelStallWatchdog();
|
|
405
|
-
await flushAndCleanup(shellCommand);
|
|
406
|
-
let wasKilled = false;
|
|
407
|
-
let cleanupFn;
|
|
408
|
-
updateTaskState(taskId, setAppState, t => {
|
|
409
|
-
if (t.status === 'killed') {
|
|
410
|
-
wasKilled = true;
|
|
411
|
-
return t;
|
|
412
|
-
}
|
|
413
|
-
cleanupFn = t.unregisterCleanup;
|
|
414
|
-
return {
|
|
415
|
-
...t,
|
|
416
|
-
status: result.code === 0 ? 'completed' : 'failed',
|
|
417
|
-
result: {
|
|
418
|
-
code: result.code,
|
|
419
|
-
interrupted: result.interrupted
|
|
420
|
-
},
|
|
421
|
-
shellCommand: null,
|
|
422
|
-
unregisterCleanup: undefined,
|
|
423
|
-
endTime: Date.now()
|
|
424
|
-
};
|
|
425
|
-
});
|
|
426
|
-
cleanupFn?.();
|
|
427
|
-
const finalStatus = wasKilled ? 'killed' : result.code === 0 ? 'completed' : 'failed';
|
|
428
|
-
enqueueShellNotification(taskId, description, finalStatus, result.code, setAppState, toolUseId, undefined, agentId);
|
|
429
|
-
void evictTaskOutput(taskId);
|
|
430
|
-
});
|
|
431
|
-
return true;
|
|
432
|
-
}
|
|
433
|
-
/**
|
|
434
|
-
* Mark a task as notified to suppress a pending enqueueShellNotification.
|
|
435
|
-
* Used when backgrounding raced with completion — the tool result already
|
|
436
|
-
* carries the full output, so the <task_notification> would be redundant.
|
|
437
|
-
*/
|
|
438
|
-
export function markTaskNotified(taskId, setAppState) {
|
|
439
|
-
updateTaskState(taskId, setAppState, t => t.notified ? t : {
|
|
440
|
-
...t,
|
|
441
|
-
notified: true
|
|
442
|
-
});
|
|
443
|
-
}
|
|
444
|
-
/**
|
|
445
|
-
* Unregister a foreground task when the command completes without being backgrounded.
|
|
446
|
-
*/
|
|
447
|
-
export function unregisterForeground(taskId, setAppState) {
|
|
448
|
-
let cleanupFn;
|
|
449
|
-
setAppState(prev => {
|
|
450
|
-
const task = prev.tasks[taskId];
|
|
451
|
-
// Only remove if it's a foreground task (not backgrounded)
|
|
452
|
-
if (!isLocalShellTask(task) || task.isBackgrounded) {
|
|
453
|
-
return prev;
|
|
454
|
-
}
|
|
455
|
-
// Capture cleanup function to call outside of updater
|
|
456
|
-
cleanupFn = task.unregisterCleanup;
|
|
457
|
-
const { [taskId]: removed, ...rest } = prev.tasks;
|
|
458
|
-
return {
|
|
459
|
-
...prev,
|
|
460
|
-
tasks: rest
|
|
461
|
-
};
|
|
462
|
-
});
|
|
463
|
-
// Call cleanup outside of the state updater (avoid side effects in updater)
|
|
464
|
-
cleanupFn?.();
|
|
465
|
-
}
|
|
466
|
-
async function flushAndCleanup(shellCommand) {
|
|
467
|
-
try {
|
|
468
|
-
await shellCommand.taskOutput.flush();
|
|
469
|
-
shellCommand.cleanup();
|
|
470
|
-
}
|
|
471
|
-
catch (error) {
|
|
472
|
-
logError(error);
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZWF0dXJlIiwic3RhdCIsIk9VVFBVVF9GSUxFX1RBRyIsIlNUQVRVU19UQUciLCJTVU1NQVJZX1RBRyIsIlRBU0tfSURfVEFHIiwiVEFTS19OT1RJRklDQVRJT05fVEFHIiwiVE9PTF9VU0VfSURfVEFHIiwiYWJvcnRTcGVjdWxhdGlvbiIsIkFwcFN0YXRlIiwiTG9jYWxTaGVsbFNwYXduSW5wdXQiLCJTZXRBcHBTdGF0ZSIsIlRhc2siLCJUYXNrQ29udGV4dCIsIlRhc2tIYW5kbGUiLCJjcmVhdGVUYXNrU3RhdGVCYXNlIiwiQWdlbnRJZCIsInJlZ2lzdGVyQ2xlYW51cCIsInRhaWxGaWxlIiwibG9nRXJyb3IiLCJlbnF1ZXVlUGVuZGluZ05vdGlmaWNhdGlvbiIsIlNoZWxsQ29tbWFuZCIsImV2aWN0VGFza091dHB1dCIsImdldFRhc2tPdXRwdXRQYXRoIiwicmVnaXN0ZXJUYXNrIiwidXBkYXRlVGFza1N0YXRlIiwiZXNjYXBlWG1sIiwiYmFja2dyb3VuZEFnZW50VGFzayIsImlzTG9jYWxBZ2VudFRhc2siLCJpc01haW5TZXNzaW9uVGFzayIsIkJhc2hUYXNrS2luZCIsImlzTG9jYWxTaGVsbFRhc2siLCJMb2NhbFNoZWxsVGFza1N0YXRlIiwia2lsbFRhc2siLCJCQUNLR1JPVU5EX0JBU0hfU1VNTUFSWV9QUkVGSVgiLCJTVEFMTF9DSEVDS19JTlRFUlZBTF9NUyIsIlNUQUxMX1RIUkVTSE9MRF9NUyIsIlNUQUxMX1RBSUxfQllURVMiLCJQUk9NUFRfUEFUVEVSTlMiLCJsb29rc0xpa2VQcm9tcHQiLCJ0YWlsIiwibGFzdExpbmUiLCJ0cmltRW5kIiwic3BsaXQiLCJwb3AiLCJzb21lIiwicCIsInRlc3QiLCJzdGFydFN0YWxsV2F0Y2hkb2ciLCJ0YXNrSWQiLCJkZXNjcmlwdGlvbiIsImtpbmQiLCJ0b29sVXNlSWQiLCJhZ2VudElkIiwib3V0cHV0UGF0aCIsImxhc3RTaXplIiwibGFzdEdyb3d0aCIsIkRhdGUiLCJub3ciLCJjYW5jZWxsZWQiLCJ0aW1lciIsInNldEludGVydmFsIiwidGhlbiIsInMiLCJzaXplIiwiY29udGVudCIsImNsZWFySW50ZXJ2YWwiLCJ0b29sVXNlSWRMaW5lIiwic3VtbWFyeSIsIm1lc3NhZ2UiLCJ2YWx1ZSIsIm1vZGUiLCJwcmlvcml0eSIsInVucmVmIiwiZW5xdWV1ZVNoZWxsTm90aWZpY2F0aW9uIiwic3RhdHVzIiwiZXhpdENvZGUiLCJzZXRBcHBTdGF0ZSIsInNob3VsZEVucXVldWUiLCJ0YXNrIiwibm90aWZpZWQiLCJ1bmRlZmluZWQiLCJMb2NhbFNoZWxsVGFzayIsIm5hbWUiLCJ0eXBlIiwia2lsbCIsInNwYXduU2hlbGxUYXNrIiwiaW5wdXQiLCJzaGVsbENvbW1hbmQiLCJjb250ZXh0IiwiUHJvbWlzZSIsImNvbW1hbmQiLCJ0YXNrT3V0cHV0IiwidW5yZWdpc3RlckNsZWFudXAiLCJ0YXNrU3RhdGUiLCJjb21wbGV0aW9uU3RhdHVzU2VudEluQXR0YWNobWVudCIsImxhc3RSZXBvcnRlZFRvdGFsTGluZXMiLCJpc0JhY2tncm91bmRlZCIsImJhY2tncm91bmQiLCJjYW5jZWxTdGFsbFdhdGNoZG9nIiwicmVzdWx0IiwiZmx1c2hBbmRDbGVhbnVwIiwid2FzS2lsbGVkIiwiY29kZSIsImludGVycnVwdGVkIiwiZW5kVGltZSIsImNsZWFudXAiLCJyZWdpc3RlckZvcmVncm91bmQiLCJiYWNrZ3JvdW5kVGFzayIsImdldEFwcFN0YXRlIiwic3RhdGUiLCJ0YXNrcyIsInByZXYiLCJwcmV2VGFzayIsImNsZWFudXBGbiIsInQiLCJmaW5hbFN0YXR1cyIsImhhc0ZvcmVncm91bmRUYXNrcyIsIk9iamVjdCIsInZhbHVlcyIsImJhY2tncm91bmRBbGwiLCJmb3JlZ3JvdW5kQmFzaFRhc2tJZHMiLCJrZXlzIiwiZmlsdGVyIiwiaWQiLCJmb3JlZ3JvdW5kQWdlbnRUYXNrSWRzIiwiYmFja2dyb3VuZEV4aXN0aW5nRm9yZWdyb3VuZFRhc2siLCJtYXJrVGFza05vdGlmaWVkIiwidW5yZWdpc3RlckZvcmVncm91bmQiLCJyZW1vdmVkIiwicmVzdCIsImZsdXNoIiwiZXJyb3IiXSwic291cmNlcyI6WyJMb2NhbFNoZWxsVGFzay50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmVhdHVyZSB9IGZyb20gJ2J1bjpidW5kbGUnXG5pbXBvcnQgeyBzdGF0IH0gZnJvbSAnZnMvcHJvbWlzZXMnXG5pbXBvcnQge1xuICBPVVRQVVRfRklMRV9UQUcsXG4gIFNUQVRVU19UQUcsXG4gIFNVTU1BUllfVEFHLFxuICBUQVNLX0lEX1RBRyxcbiAgVEFTS19OT1RJRklDQVRJT05fVEFHLFxuICBUT09MX1VTRV9JRF9UQUcsXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cy94bWwuanMnXG5pbXBvcnQgeyBhYm9ydFNwZWN1bGF0aW9uIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvUHJvbXB0U3VnZ2VzdGlvbi9zcGVjdWxhdGlvbi5qcydcbmltcG9ydCB0eXBlIHsgQXBwU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZS9BcHBTdGF0ZS5qcydcbmltcG9ydCB0eXBlIHtcbiAgTG9jYWxTaGVsbFNwYXduSW5wdXQsXG4gIFNldEFwcFN0YXRlLFxuICBUYXNrLFxuICBUYXNrQ29udGV4dCxcbiAgVGFza0hhbmRsZSxcbn0gZnJvbSAnLi4vLi4vVGFzay5qcydcbmltcG9ydCB7IGNyZWF0ZVRhc2tTdGF0ZUJhc2UgfSBmcm9tICcuLi8uLi9UYXNrLmpzJ1xuaW1wb3J0IHR5cGUgeyBBZ2VudElkIH0gZnJvbSAnLi4vLi4vdHlwZXMvaWRzLmpzJ1xuaW1wb3J0IHsgcmVnaXN0ZXJDbGVhbnVwIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xlYW51cFJlZ2lzdHJ5LmpzJ1xuaW1wb3J0IHsgdGFpbEZpbGUgfSBmcm9tICcuLi8uLi91dGlscy9mc09wZXJhdGlvbnMuanMnXG5pbXBvcnQgeyBsb2dFcnJvciB9IGZyb20gJy4uLy4uL3V0aWxzL2xvZy5qcydcbmltcG9ydCB7IGVucXVldWVQZW5kaW5nTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbWVzc2FnZVF1ZXVlTWFuYWdlci5qcydcbmltcG9ydCB0eXBlIHsgU2hlbGxDb21tYW5kIH0gZnJvbSAnLi4vLi4vdXRpbHMvU2hlbGxDb21tYW5kLmpzJ1xuaW1wb3J0IHtcbiAgZXZpY3RUYXNrT3V0cHV0LFxuICBnZXRUYXNrT3V0cHV0UGF0aCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvdGFzay9kaXNrT3V0cHV0LmpzJ1xuaW1wb3J0IHsgcmVnaXN0ZXJUYXNrLCB1cGRhdGVUYXNrU3RhdGUgfSBmcm9tICcuLi8uLi91dGlscy90YXNrL2ZyYW1ld29yay5qcydcbmltcG9ydCB7IGVzY2FwZVhtbCB9IGZyb20gJy4uLy4uL3V0aWxzL3htbC5qcydcbmltcG9ydCB7XG4gIGJhY2tncm91bmRBZ2VudFRhc2ssXG4gIGlzTG9jYWxBZ2VudFRhc2ssXG59IGZyb20gJy4uL0xvY2FsQWdlbnRUYXNrL0xvY2FsQWdlbnRUYXNrLmpzJ1xuaW1wb3J0IHsgaXNNYWluU2Vzc2lvblRhc2sgfSBmcm9tICcuLi9Mb2NhbE1haW5TZXNzaW9uVGFzay5qcydcbmltcG9ydCB7XG4gIHR5cGUgQmFzaFRhc2tLaW5kLFxuICBpc0xvY2FsU2hlbGxUYXNrLFxuICB0eXBlIExvY2FsU2hlbGxUYXNrU3RhdGUsXG59IGZyb20gJy4vZ3VhcmRzLmpzJ1xuaW1wb3J0IHsga2lsbFRhc2sgfSBmcm9tICcuL2tpbGxTaGVsbFRhc2tzLmpzJ1xuXG4vKiogUHJlZml4IHRoYXQgaWRlbnRpZmllcyBhIExvY2FsU2hlbGxUYXNrIHN1bW1hcnkgdG8gdGhlIFVJIGNvbGxhcHNlIHRyYW5zZm9ybS4gKi9cbmV4cG9ydCBjb25zdCBCQUNLR1JPVU5EX0JBU0hfU1VNTUFSWV9QUkVGSVggPSAnQmFja2dyb3VuZCBjb21tYW5kICdcblxuY29uc3QgU1RBTExfQ0hFQ0tfSU5URVJWQUxfTVMgPSA1XzAwMFxuY29uc3QgU1RBTExfVEhSRVNIT0xEX01TID0gNDVfMDAwXG5jb25zdCBTVEFMTF9UQUlMX0JZVEVTID0gMTAyNFxuXG4vLyBMYXN0LWxpbmUgcGF0dGVybnMgdGhhdCBzdWdnZXN0IGEgY29tbWFuZCBpcyBibG9ja2VkIHdhaXRpbmcgZm9yIGtleWJvYXJkXG4vLyBpbnB1dC4gVXNlZCB0byBnYXRlIHRoZSBzdGFsbCBub3RpZmljYXRpb24g4oCUIHdlIHN0YXkgc2lsZW50IG9uIGNvbW1hbmRzIHRoYXRcbi8vIGFyZSBtZXJlbHkgc2xvdyAoZ2l0IGxvZyAtUywgbG9uZyBidWlsZHMpIGFuZCBvbmx5IG5vdGlmeSB3aGVuIHRoZSB0YWlsXG4vLyBsb29rcyBsaWtlIGFuIGludGVyYWN0aXZlIHByb21wdCB0aGUgbW9kZWwgY2FuIGFjdCBvbi4gU2VlIENDLTExNzUuXG5jb25zdCBQUk9NUFRfUEFUVEVSTlMgPSBbXG4gIC9cXCh5XFwvblxcKS9pLCAvLyAoWS9uKSwgKHkvTilcbiAgL1xcW3lcXC9uXFxdL2ksIC8vIFtZL25dLCBbeS9OXVxuICAvXFwoeWVzXFwvbm9cXCkvaSxcbiAgL1xcYig/OkRvIHlvdXxXb3VsZCB5b3V8U2hhbGwgSXxBcmUgeW91IHN1cmV8UmVhZHkgdG8pXFxiLipcXD8gKiQvaSwgLy8gZGlyZWN0ZWQgcXVlc3Rpb25zXG4gIC9QcmVzcyAoYW55IGtleXxFbnRlcikvaSxcbiAgL0NvbnRpbnVlXFw/L2ksXG4gIC9PdmVyd3JpdGVcXD8vaSxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvb2tzTGlrZVByb21wdCh0YWlsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgbGFzdExpbmUgPSB0YWlsLnRyaW1FbmQoKS5zcGxpdCgnXFxuJykucG9wKCkgPz8gJydcbiAgcmV0dXJuIFBST01QVF9QQVRURVJOUy5zb21lKHAgPT4gcC50ZXN0KGxhc3RMaW5lKSlcbn1cblxuLy8gT3V0cHV0LXNpZGUgYW5hbG9nIG9mIHBlZWtGb3JTdGRpbkRhdGEgKHV0aWxzL3Byb2Nlc3MudHMpOiBmaXJlIGEgb25lLXNob3Rcbi8vIG5vdGlmaWNhdGlvbiBpZiBvdXRwdXQgc3RvcHMgZ3Jvd2luZyBhbmQgdGhlIHRhaWwgbG9va3MgbGlrZSBhIHByb21wdC5cbmZ1bmN0aW9uIHN0YXJ0U3RhbGxXYXRjaGRvZyhcbiAgdGFza0lkOiBzdHJpbmcsXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gIGtpbmQ6IEJhc2hUYXNrS2luZCB8IHVuZGVmaW5lZCxcbiAgdG9vbFVzZUlkPzogc3RyaW5nLFxuICBhZ2VudElkPzogQWdlbnRJZCxcbik6ICgpID0+IHZvaWQge1xuICBpZiAoa2luZCA9PT0gJ21vbml0b3InKSByZXR1cm4gKCkgPT4ge31cbiAgY29uc3Qgb3V0cHV0UGF0aCA9IGdldFRhc2tPdXRwdXRQYXRoKHRhc2tJZClcbiAgbGV0IGxhc3RTaXplID0gMFxuICBsZXQgbGFzdEdyb3d0aCA9IERhdGUubm93KClcbiAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlXG5cbiAgY29uc3QgdGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgdm9pZCBzdGF0KG91dHB1dFBhdGgpLnRoZW4oXG4gICAgICBzID0+IHtcbiAgICAgICAgaWYgKHMuc2l6ZSA+IGxhc3RTaXplKSB7XG4gICAgICAgICAgbGFzdFNpemUgPSBzLnNpemVcbiAgICAgICAgICBsYXN0R3Jvd3RoID0gRGF0ZS5ub3coKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmIChEYXRlLm5vdygpIC0gbGFzdEdyb3d0aCA8IFNUQUxMX1RIUkVTSE9MRF9NUykgcmV0dXJuXG4gICAgICAgIHZvaWQgdGFpbEZpbGUob3V0cHV0UGF0aCwgU1RBTExfVEFJTF9CWVRFUykudGhlbihcbiAgICAgICAgICAoeyBjb250ZW50IH0pID0+IHtcbiAgICAgICAgICAgIGlmIChjYW5jZWxsZWQpIHJldHVyblxuICAgICAgICAgICAgaWYgKCFsb29rc0xpa2VQcm9tcHQoY29udGVudCkpIHtcbiAgICAgICAgICAgICAgLy8gTm90IGEgcHJvbXB0IOKAlCBrZWVwIHdhdGNoaW5nLiBSZXNldCBzbyB0aGUgbmV4dCBjaGVjayBpc1xuICAgICAgICAgICAgICAvLyA0NXMgb3V0IGluc3RlYWQgb2YgcmUtcmVhZGluZyB0aGUgdGFpbCBvbiBldmVyeSB0aWNrLlxuICAgICAgICAgICAgICBsYXN0R3Jvd3RoID0gRGF0ZS5ub3coKVxuICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIExhdGNoIGJlZm9yZSB0aGUgYXN5bmMtYm91bmRhcnktdmlzaWJsZSBzaWRlIGVmZmVjdHMgc28gYW5cbiAgICAgICAgICAgIC8vIG92ZXJsYXBwaW5nIHRpY2sncyBjYWxsYmFjayBzZWVzIGNhbmNlbGxlZD10cnVlIGFuZCBiYWlscy5cbiAgICAgICAgICAgIGNhbmNlbGxlZCA9IHRydWVcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpXG4gICAgICAgICAgICBjb25zdCB0b29sVXNlSWRMaW5lID0gdG9vbFVzZUlkXG4gICAgICAgICAgICAgID8gYFxcbjwke1RPT0xfVVNFX0lEX1RBR30+JHt0b29sVXNlSWR9PC8ke1RPT0xfVVNFX0lEX1RBR30+YFxuICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICBjb25zdCBzdW1tYXJ5ID0gYCR7QkFDS0dST1VORF9CQVNIX1NVTU1BUllfUFJFRklYfVwiJHtkZXNjcmlwdGlvbn1cIiBhcHBlYXJzIHRvIGJlIHdhaXRpbmcgZm9yIGludGVyYWN0aXZlIGlucHV0YFxuICAgICAgICAgICAgLy8gTm8gPHN0YXR1cz4gdGFnIOKAlCBwcmludC50cyB0cmVhdHMgPHN0YXR1cz4gYXMgYSB0ZXJtaW5hbFxuICAgICAgICAgICAgLy8gc2lnbmFsIGFuZCBhbiB1bmtub3duIHZhbHVlIGZhbGxzIHRocm91Z2ggdG8gJ2NvbXBsZXRlZCcsXG4gICAgICAgICAgICAvLyBmYWxzZWx5IGNsb3NpbmcgdGhlIHRhc2sgZm9yIFNESyBjb25zdW1lcnMuIFN0YXR1c2xlc3NcbiAgICAgICAgICAgIC8vIG5vdGlmaWNhdGlvbnMgYXJlIHNraXBwZWQgYnkgdGhlIFNESyBlbWl0dGVyIChwcm9ncmVzcyBwaW5nKS5cbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgPCR7VEFTS19OT1RJRklDQVRJT05fVEFHfT5cbjwke1RBU0tfSURfVEFHfT4ke3Rhc2tJZH08LyR7VEFTS19JRF9UQUd9PiR7dG9vbFVzZUlkTGluZX1cbjwke09VVFBVVF9GSUxFX1RBR30+JHtvdXRwdXRQYXRofTwvJHtPVVRQVVRfRklMRV9UQUd9PlxuPCR7U1VNTUFSWV9UQUd9PiR7ZXNjYXBlWG1sKHN1bW1hcnkpfTwvJHtTVU1NQVJZX1RBR30+XG48LyR7VEFTS19OT1RJRklDQVRJT05fVEFHfT5cbkxhc3Qgb3V0cHV0OlxuJHtjb250ZW50LnRyaW1FbmQoKX1cblxuVGhlIGNvbW1hbmQgaXMgbGlrZWx5IGJsb2NrZWQgb24gYW4gaW50ZXJhY3RpdmUgcHJvbXB0LiBLaWxsIHRoaXMgdGFzayBhbmQgcmUtcnVuIHdpdGggcGlwZWQgaW5wdXQgKGUuZy4sIFxcYGVjaG8geSB8IGNvbW1hbmRcXGApIG9yIGEgbm9uLWludGVyYWN0aXZlIGZsYWcgaWYgb25lIGV4aXN0cy5gXG4gICAgICAgICAgICBlbnF1ZXVlUGVuZGluZ05vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICAgIHZhbHVlOiBtZXNzYWdlLFxuICAgICAgICAgICAgICBtb2RlOiAndGFzay1ub3RpZmljYXRpb24nLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ25leHQnLFxuICAgICAgICAgICAgICBhZ2VudElkLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9LFxuICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAgKCkgPT4ge30sIC8vIEZpbGUgbWF5IG5vdCBleGlzdCB5ZXRcbiAgICApXG4gIH0sIFNUQUxMX0NIRUNLX0lOVEVSVkFMX01TKVxuICB0aW1lci51bnJlZigpXG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBjYW5jZWxsZWQgPSB0cnVlXG4gICAgY2xlYXJJbnRlcnZhbCh0aW1lcilcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnF1ZXVlU2hlbGxOb3RpZmljYXRpb24oXG4gIHRhc2tJZDogc3RyaW5nLFxuICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICBzdGF0dXM6ICdjb21wbGV0ZWQnIHwgJ2ZhaWxlZCcgfCAna2lsbGVkJyxcbiAgZXhpdENvZGU6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgc2V0QXBwU3RhdGU6IFNldEFwcFN0YXRlLFxuICB0b29sVXNlSWQ/OiBzdHJpbmcsXG4gIGtpbmQ6IEJhc2hUYXNrS2luZCA9ICdiYXNoJyxcbiAgYWdlbnRJZD86IEFnZW50SWQsXG4pOiB2b2lkIHtcbiAgLy8gQXRvbWljYWxseSBjaGVjayBhbmQgc2V0IG5vdGlmaWVkIGZsYWcgdG8gcHJldmVudCBkdXBsaWNhdGUgbm90aWZpY2F0aW9ucy5cbiAgLy8gSWYgdGhlIHRhc2sgd2FzIGFscmVhZHkgbWFya2VkIGFzIG5vdGlmaWVkIChlLmcuLCBieSBUYXNrU3RvcFRvb2wpLCBza2lwXG4gIC8vIGVucXVldWVpbmcgdG8gYXZvaWQgc2VuZGluZyByZWR1bmRhbnQgbWVzc2FnZXMgdG8gdGhlIG1vZGVsLlxuICBsZXQgc2hvdWxkRW5xdWV1ZSA9IGZhbHNlXG4gIHVwZGF0ZVRhc2tTdGF0ZSh0YXNrSWQsIHNldEFwcFN0YXRlLCB0YXNrID0+IHtcbiAgICBpZiAodGFzay5ub3RpZmllZCkge1xuICAgICAgcmV0dXJuIHRhc2tcbiAgICB9XG4gICAgc2hvdWxkRW5xdWV1ZSA9IHRydWVcbiAgICByZXR1cm4geyAuLi50YXNrLCBub3RpZmllZDogdHJ1ZSB9XG4gIH0pXG5cbiAgaWYgKCFzaG91bGRFbnF1ZXVlKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBBYm9ydCBhbnkgYWN0aXZlIHNwZWN1bGF0aW9uIOKAlCBiYWNrZ3JvdW5kIHRhc2sgc3RhdGUgY2hhbmdlZCwgc28gc3BlY3VsYXRlZFxuICAvLyByZXN1bHRzIG1heSByZWZlcmVuY2Ugc3RhbGUgdGFzayBvdXRwdXQuIFRoZSBwcm9tcHQgc3VnZ2VzdGlvbiB0ZXh0IGlzXG4gIC8vIHByZXNlcnZlZDsgb25seSB0aGUgcHJlLWNvbXB1dGVkIHJlc3BvbnNlIGlzIGRpc2NhcmRlZC5cbiAgYWJvcnRTcGVjdWxhdGlvbihzZXRBcHBTdGF0ZSlcblxuICBsZXQgc3VtbWFyeTogc3RyaW5nXG4gIGlmIChmZWF0dXJlKCdNT05JVE9SX1RPT0wnKSAmJiBraW5kID09PSAnbW9uaXRvcicpIHtcbiAgICAvLyBNb25pdG9yIGlzIHN0cmVhbWluZy1vbmx5IChwb3N0LSMyMjc2NCkg4oCUIHRoZSBzY3JpcHQgZXhpdGluZyBtZWFuc1xuICAgIC8vIHRoZSBzdHJlYW0gZW5kZWQsIG5vdCBcImNvbmRpdGlvbiBtZXRcIi4gRGlzdGluY3QgZnJvbSB0aGUgYmFzaCBwcmVmaXhcbiAgICAvLyBzbyBNb25pdG9yIGNvbXBsZXRpb25zIGRvbid0IGZvbGQgaW50byB0aGUgXCJOIGJhY2tncm91bmQgY29tbWFuZHNcbiAgICAvLyBjb21wbGV0ZWRcIiBjb2xsYXBzZS5cbiAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgY2FzZSAnY29tcGxldGVkJzpcbiAgICAgICAgc3VtbWFyeSA9IGBNb25pdG9yIFwiJHtkZXNjcmlwdGlvbn1cIiBzdHJlYW0gZW5kZWRgXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICBzdW1tYXJ5ID0gYE1vbml0b3IgXCIke2Rlc2NyaXB0aW9ufVwiIHNjcmlwdCBmYWlsZWQke2V4aXRDb2RlICE9PSB1bmRlZmluZWQgPyBgIChleGl0ICR7ZXhpdENvZGV9KWAgOiAnJ31gXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdraWxsZWQnOlxuICAgICAgICBzdW1tYXJ5ID0gYE1vbml0b3IgXCIke2Rlc2NyaXB0aW9ufVwiIHN0b3BwZWRgXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICBjYXNlICdjb21wbGV0ZWQnOlxuICAgICAgICBzdW1tYXJ5ID0gYCR7QkFDS0dST1VORF9CQVNIX1NVTU1BUllfUFJFRklYfVwiJHtkZXNjcmlwdGlvbn1cIiBjb21wbGV0ZWQke2V4aXRDb2RlICE9PSB1bmRlZmluZWQgPyBgIChleGl0IGNvZGUgJHtleGl0Q29kZX0pYCA6ICcnfWBcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2ZhaWxlZCc6XG4gICAgICAgIHN1bW1hcnkgPSBgJHtCQUNLR1JPVU5EX0JBU0hfU1VNTUFSWV9QUkVGSVh9XCIke2Rlc2NyaXB0aW9ufVwiIGZhaWxlZCR7ZXhpdENvZGUgIT09IHVuZGVmaW5lZCA/IGAgd2l0aCBleGl0IGNvZGUgJHtleGl0Q29kZX1gIDogJyd9YFxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAna2lsbGVkJzpcbiAgICAgICAgc3VtbWFyeSA9IGAke0JBQ0tHUk9VTkRfQkFTSF9TVU1NQVJZX1BSRUZJWH1cIiR7ZGVzY3JpcHRpb259XCIgd2FzIHN0b3BwZWRgXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgb3V0cHV0UGF0aCA9IGdldFRhc2tPdXRwdXRQYXRoKHRhc2tJZClcbiAgY29uc3QgdG9vbFVzZUlkTGluZSA9IHRvb2xVc2VJZFxuICAgID8gYFxcbjwke1RPT0xfVVNFX0lEX1RBR30+JHt0b29sVXNlSWR9PC8ke1RPT0xfVVNFX0lEX1RBR30+YFxuICAgIDogJydcbiAgY29uc3QgbWVzc2FnZSA9IGA8JHtUQVNLX05PVElGSUNBVElPTl9UQUd9PlxuPCR7VEFTS19JRF9UQUd9PiR7dGFza0lkfTwvJHtUQVNLX0lEX1RBR30+JHt0b29sVXNlSWRMaW5lfVxuPCR7T1VUUFVUX0ZJTEVfVEFHfT4ke291dHB1dFBhdGh9PC8ke09VVFBVVF9GSUxFX1RBR30+XG48JHtTVEFUVVNfVEFHfT4ke3N0YXR1c308LyR7U1RBVFVTX1RBR30+XG48JHtTVU1NQVJZX1RBR30+JHtlc2NhcGVYbWwoc3VtbWFyeSl9PC8ke1NVTU1BUllfVEFHfT5cbjwvJHtUQVNLX05PVElGSUNBVElPTl9UQUd9PmBcblxuICBlbnF1ZXVlUGVuZGluZ05vdGlmaWNhdGlvbih7XG4gICAgdmFsdWU6IG1lc3NhZ2UsXG4gICAgbW9kZTogJ3Rhc2stbm90aWZpY2F0aW9uJyxcbiAgICBwcmlvcml0eTogZmVhdHVyZSgnTU9OSVRPUl9UT09MJykgPyAnbmV4dCcgOiAnbGF0ZXInLFxuICAgIGFnZW50SWQsXG4gIH0pXG59XG5cbmV4cG9ydCBjb25zdCBMb2NhbFNoZWxsVGFzazogVGFzayA9IHtcbiAgbmFtZTogJ0xvY2FsU2hlbGxUYXNrJyxcbiAgdHlwZTogJ2xvY2FsX2Jhc2gnLFxuICBhc3luYyBraWxsKHRhc2tJZCwgc2V0QXBwU3RhdGUpIHtcbiAgICBraWxsVGFzayh0YXNrSWQsIHNldEFwcFN0YXRlKVxuICB9LFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3Bhd25TaGVsbFRhc2soXG4gIGlucHV0OiBMb2NhbFNoZWxsU3Bhd25JbnB1dCAmIHsgc2hlbGxDb21tYW5kOiBTaGVsbENvbW1hbmQgfSxcbiAgY29udGV4dDogVGFza0NvbnRleHQsXG4pOiBQcm9taXNlPFRhc2tIYW5kbGU+IHtcbiAgY29uc3QgeyBjb21tYW5kLCBkZXNjcmlwdGlvbiwgc2hlbGxDb21tYW5kLCB0b29sVXNlSWQsIGFnZW50SWQsIGtpbmQgfSA9IGlucHV0XG4gIGNvbnN0IHsgc2V0QXBwU3RhdGUgfSA9IGNvbnRleHRcblxuICAvLyBUYXNrT3V0cHV0IG93bnMgdGhlIGRhdGEg4oCUIHVzZSBpdHMgdGFza0lkIHNvIGRpc2sgd3JpdGVzIGFyZSBjb25zaXN0ZW50XG4gIGNvbnN0IHsgdGFza091dHB1dCB9ID0gc2hlbGxDb21tYW5kXG4gIGNvbnN0IHRhc2tJZCA9IHRhc2tPdXRwdXQudGFza0lkXG5cbiAgY29uc3QgdW5yZWdpc3RlckNsZWFudXAgPSByZWdpc3RlckNsZWFudXAoYXN5bmMgKCkgPT4ge1xuICAgIGtpbGxUYXNrKHRhc2tJZCwgc2V0QXBwU3RhdGUpXG4gIH0pXG5cbiAgY29uc3QgdGFza1N0YXRlOiBMb2NhbFNoZWxsVGFza1N0YXRlID0ge1xuICAgIC4uLmNyZWF0ZVRhc2tTdGF0ZUJhc2UodGFza0lkLCAnbG9jYWxfYmFzaCcsIGRlc2NyaXB0aW9uLCB0b29sVXNlSWQpLFxuICAgIHR5cGU6ICdsb2NhbF9iYXNoJyxcbiAgICBzdGF0dXM6ICdydW5uaW5nJyxcbiAgICBjb21tYW5kLFxuICAgIGNvbXBsZXRpb25TdGF0dXNTZW50SW5BdHRhY2htZW50OiBmYWxzZSxcbiAgICBzaGVsbENvbW1hbmQsXG4gICAgdW5yZWdpc3RlckNsZWFudXAsXG4gICAgbGFzdFJlcG9ydGVkVG90YWxMaW5lczogMCxcbiAgICBpc0JhY2tncm91bmRlZDogdHJ1ZSxcbiAgICBhZ2VudElkLFxuICAgIGtpbmQsXG4gIH1cblxuICByZWdpc3RlclRhc2sodGFza1N0YXRlLCBzZXRBcHBTdGF0ZSlcblxuICAvLyBEYXRhIGZsb3dzIHRocm91Z2ggVGFza091dHB1dCBhdXRvbWF0aWNhbGx5IOKAlCBubyBzdHJlYW0gbGlzdGVuZXJzIG5lZWRlZC5cbiAgLy8gSnVzdCB0cmFuc2l0aW9uIHRvIGJhY2tncm91bmRlZCBzdGF0ZSBzbyB0aGUgcHJvY2VzcyBrZWVwcyBydW5uaW5nLlxuICBzaGVsbENvbW1hbmQuYmFja2dyb3VuZCh0YXNrSWQpXG5cbiAgY29uc3QgY2FuY2VsU3RhbGxXYXRjaGRvZyA9IHN0YXJ0U3RhbGxXYXRjaGRvZyhcbiAgICB0YXNrSWQsXG4gICAgZGVzY3JpcHRpb24sXG4gICAga2luZCxcbiAgICB0b29sVXNlSWQsXG4gICAgYWdlbnRJZCxcbiAgKVxuXG4gIHZvaWQgc2hlbGxDb21tYW5kLnJlc3VsdC50aGVuKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgY2FuY2VsU3RhbGxXYXRjaGRvZygpXG4gICAgYXdhaXQgZmx1c2hBbmRDbGVhbnVwKHNoZWxsQ29tbWFuZClcbiAgICBsZXQgd2FzS2lsbGVkID0gZmFsc2VcblxuICAgIHVwZGF0ZVRhc2tTdGF0ZTxMb2NhbFNoZWxsVGFza1N0YXRlPih0YXNrSWQsIHNldEFwcFN0YXRlLCB0YXNrID0+IHtcbiAgICAgIGlmICh0YXNrLnN0YXR1cyA9PT0gJ2tpbGxlZCcpIHtcbiAgICAgICAgd2FzS2lsbGVkID0gdHJ1ZVxuICAgICAgICByZXR1cm4gdGFza1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi50YXNrLFxuICAgICAgICBzdGF0dXM6IHJlc3VsdC5jb2RlID09PSAwID8gJ2NvbXBsZXRlZCcgOiAnZmFpbGVkJyxcbiAgICAgICAgcmVzdWx0OiB7IGNvZGU6IHJlc3VsdC5jb2RlLCBpbnRlcnJ1cHRlZDogcmVzdWx0LmludGVycnVwdGVkIH0sXG4gICAgICAgIHNoZWxsQ29tbWFuZDogbnVsbCxcbiAgICAgICAgdW5yZWdpc3RlckNsZWFudXA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW5kVGltZTogRGF0ZS5ub3coKSxcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgZW5xdWV1ZVNoZWxsTm90aWZpY2F0aW9uKFxuICAgICAgdGFza0lkLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICB3YXNLaWxsZWQgPyAna2lsbGVkJyA6IHJlc3VsdC5jb2RlID09PSAwID8gJ2NvbXBsZXRlZCcgOiAnZmFpbGVkJyxcbiAgICAgIHJlc3VsdC5jb2RlLFxuICAgICAgc2V0QXBwU3RhdGUsXG4gICAgICB0b29sVXNlSWQsXG4gICAgICBraW5kLFxuICAgICAgYWdlbnRJZCxcbiAgICApXG5cbiAgICB2b2lkIGV2aWN0VGFza091dHB1dCh0YXNrSWQpXG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICB0YXNrSWQsXG4gICAgY2xlYW51cDogKCkgPT4ge1xuICAgICAgdW5yZWdpc3RlckNsZWFudXAoKVxuICAgIH0sXG4gIH1cbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIGZvcmVncm91bmQgdGFzayB0aGF0IGNvdWxkIGJlIGJhY2tncm91bmRlZCBsYXRlci5cbiAqIENhbGxlZCB3aGVuIGEgYmFzaCBjb21tYW5kIGhhcyBiZWVuIHJ1bm5pbmcgbG9uZyBlbm91Z2ggdG8gc2hvdyB0aGUgQmFja2dyb3VuZEhpbnQuXG4gKiBAcmV0dXJucyB0YXNrSWQgZm9yIHRoZSByZWdpc3RlcmVkIHRhc2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRm9yZWdyb3VuZChcbiAgaW5wdXQ6IExvY2FsU2hlbGxTcGF3bklucHV0ICYgeyBzaGVsbENvbW1hbmQ6IFNoZWxsQ29tbWFuZCB9LFxuICBzZXRBcHBTdGF0ZTogU2V0QXBwU3RhdGUsXG4gIHRvb2xVc2VJZD86IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IHsgY29tbWFuZCwgZGVzY3JpcHRpb24sIHNoZWxsQ29tbWFuZCwgYWdlbnRJZCB9ID0gaW5wdXRcblxuICBjb25zdCB0YXNrSWQgPSBzaGVsbENvbW1hbmQudGFza091dHB1dC50YXNrSWRcblxuICBjb25zdCB1bnJlZ2lzdGVyQ2xlYW51cCA9IHJlZ2lzdGVyQ2xlYW51cChhc3luYyAoKSA9PiB7XG4gICAga2lsbFRhc2sodGFza0lkLCBzZXRBcHBTdGF0ZSlcbiAgfSlcblxuICBjb25zdCB0YXNrU3RhdGU6IExvY2FsU2hlbGxUYXNrU3RhdGUgPSB7XG4gICAgLi4uY3JlYXRlVGFza1N0YXRlQmFzZSh0YXNrSWQsICdsb2NhbF9iYXNoJywgZGVzY3JpcHRpb24sIHRvb2xVc2VJZCksXG4gICAgdHlwZTogJ2xvY2FsX2Jhc2gnLFxuICAgIHN0YXR1czogJ3J1bm5pbmcnLFxuICAgIGNvbW1hbmQsXG4gICAgY29tcGxldGlvblN0YXR1c1NlbnRJbkF0dGFjaG1lbnQ6IGZhbHNlLFxuICAgIHNoZWxsQ29tbWFuZCxcbiAgICB1bnJlZ2lzdGVyQ2xlYW51cCxcbiAgICBsYXN0UmVwb3J0ZWRUb3RhbExpbmVzOiAwLFxuICAgIGlzQmFja2dyb3VuZGVkOiBmYWxzZSwgLy8gTm90IHlldCBiYWNrZ3JvdW5kZWQgLSBydW5uaW5nIGluIGZvcmVncm91bmRcbiAgICBhZ2VudElkLFxuICB9XG5cbiAgcmVnaXN0ZXJUYXNrKHRhc2tTdGF0ZSwgc2V0QXBwU3RhdGUpXG4gIHJldHVybiB0YXNrSWRcbn1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGEgc3BlY2lmaWMgZm9yZWdyb3VuZCB0YXNrLlxuICogQHJldHVybnMgdHJ1ZSBpZiBiYWNrZ3JvdW5kZWQgc3VjY2Vzc2Z1bGx5LCBmYWxzZSBvdGhlcndpc2VcbiAqL1xuZnVuY3Rpb24gYmFja2dyb3VuZFRhc2soXG4gIHRhc2tJZDogc3RyaW5nLFxuICBnZXRBcHBTdGF0ZTogKCkgPT4gQXBwU3RhdGUsXG4gIHNldEFwcFN0YXRlOiBTZXRBcHBTdGF0ZSxcbik6IGJvb2xlYW4ge1xuICAvLyBTdGVwIDE6IEdldCB0aGUgdGFzayBhbmQgc2hlbGwgY29tbWFuZCBmcm9tIGN1cnJlbnQgc3RhdGVcbiAgY29uc3Qgc3RhdGUgPSBnZXRBcHBTdGF0ZSgpXG4gIGNvbnN0IHRhc2sgPSBzdGF0ZS50YXNrc1t0YXNrSWRdXG4gIGlmICghaXNMb2NhbFNoZWxsVGFzayh0YXNrKSB8fCB0YXNrLmlzQmFja2dyb3VuZGVkIHx8ICF0YXNrLnNoZWxsQ29tbWFuZCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY29uc3Qgc2hlbGxDb21tYW5kID0gdGFzay5zaGVsbENvbW1hbmRcbiAgY29uc3QgZGVzY3JpcHRpb24gPSB0YXNrLmRlc2NyaXB0aW9uXG4gIGNvbnN0IHsgdG9vbFVzZUlkLCBraW5kLCBhZ2VudElkIH0gPSB0YXNrXG5cbiAgLy8gVHJhbnNpdGlvbiB0byBiYWNrZ3JvdW5kZWQg4oCUIFRhc2tPdXRwdXQgY29udGludWVzIHJlY2VpdmluZyBkYXRhIGF1dG9tYXRpY2FsbHlcbiAgaWYgKCFzaGVsbENvbW1hbmQuYmFja2dyb3VuZCh0YXNrSWQpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBzZXRBcHBTdGF0ZShwcmV2ID0+IHtcbiAgICBjb25zdCBwcmV2VGFzayA9IHByZXYudGFza3NbdGFza0lkXVxuICAgIGlmICghaXNMb2NhbFNoZWxsVGFzayhwcmV2VGFzaykgfHwgcHJldlRhc2suaXNCYWNrZ3JvdW5kZWQpIHtcbiAgICAgIHJldHVybiBwcmV2XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5wcmV2LFxuICAgICAgdGFza3M6IHtcbiAgICAgICAgLi4ucHJldi50YXNrcyxcbiAgICAgICAgW3Rhc2tJZF06IHsgLi4ucHJldlRhc2ssIGlzQmFja2dyb3VuZGVkOiB0cnVlIH0sXG4gICAgICB9LFxuICAgIH1cbiAgfSlcblxuICBjb25zdCBjYW5jZWxTdGFsbFdhdGNoZG9nID0gc3RhcnRTdGFsbFdhdGNoZG9nKFxuICAgIHRhc2tJZCxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBraW5kLFxuICAgIHRvb2xVc2VJZCxcbiAgICBhZ2VudElkLFxuICApXG5cbiAgLy8gU2V0IHVwIHJlc3VsdCBoYW5kbGVyXG4gIHZvaWQgc2hlbGxDb21tYW5kLnJlc3VsdC50aGVuKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgY2FuY2VsU3RhbGxXYXRjaGRvZygpXG4gICAgYXdhaXQgZmx1c2hBbmRDbGVhbnVwKHNoZWxsQ29tbWFuZClcbiAgICBsZXQgd2FzS2lsbGVkID0gZmFsc2VcbiAgICBsZXQgY2xlYW51cEZuOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWRcblxuICAgIHVwZGF0ZVRhc2tTdGF0ZTxMb2NhbFNoZWxsVGFza1N0YXRlPih0YXNrSWQsIHNldEFwcFN0YXRlLCB0ID0+IHtcbiAgICAgIGlmICh0LnN0YXR1cyA9PT0gJ2tpbGxlZCcpIHtcbiAgICAgICAgd2FzS2lsbGVkID0gdHJ1ZVxuICAgICAgICByZXR1cm4gdFxuICAgICAgfVxuXG4gICAgICAvLyBDYXB0dXJlIGNsZWFudXAgZnVuY3Rpb24gdG8gY2FsbCBvdXRzaWRlIG9mIHVwZGF0ZXJcbiAgICAgIGNsZWFudXBGbiA9IHQudW5yZWdpc3RlckNsZWFudXBcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4udCxcbiAgICAgICAgc3RhdHVzOiByZXN1bHQuY29kZSA9PT0gMCA/ICdjb21wbGV0ZWQnIDogJ2ZhaWxlZCcsXG4gICAgICAgIHJlc3VsdDogeyBjb2RlOiByZXN1bHQuY29kZSwgaW50ZXJydXB0ZWQ6IHJlc3VsdC5pbnRlcnJ1cHRlZCB9LFxuICAgICAgICBzaGVsbENvbW1hbmQ6IG51bGwsXG4gICAgICAgIHVucmVnaXN0ZXJDbGVhbnVwOiB1bmRlZmluZWQsXG4gICAgICAgIGVuZFRpbWU6IERhdGUubm93KCksXG4gICAgICB9XG4gICAgfSlcblxuICAgIC8vIENhbGwgY2xlYW51cCBvdXRzaWRlIG9mIHRoZSBzdGF0ZSB1cGRhdGVyIChhdm9pZCBzaWRlIGVmZmVjdHMgaW4gdXBkYXRlcilcbiAgICBjbGVhbnVwRm4/LigpXG5cbiAgICBpZiAod2FzS2lsbGVkKSB7XG4gICAgICBlbnF1ZXVlU2hlbGxOb3RpZmljYXRpb24oXG4gICAgICAgIHRhc2tJZCxcbiAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICdraWxsZWQnLFxuICAgICAgICByZXN1bHQuY29kZSxcbiAgICAgICAgc2V0QXBwU3RhdGUsXG4gICAgICAgIHRvb2xVc2VJZCxcbiAgICAgICAga2luZCxcbiAgICAgICAgYWdlbnRJZCxcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmluYWxTdGF0dXMgPSByZXN1bHQuY29kZSA9PT0gMCA/ICdjb21wbGV0ZWQnIDogJ2ZhaWxlZCdcbiAgICAgIGVucXVldWVTaGVsbE5vdGlmaWNhdGlvbihcbiAgICAgICAgdGFza0lkLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgZmluYWxTdGF0dXMsXG4gICAgICAgIHJlc3VsdC5jb2RlLFxuICAgICAgICBzZXRBcHBTdGF0ZSxcbiAgICAgICAgdG9vbFVzZUlkLFxuICAgICAgICBraW5kLFxuICAgICAgICBhZ2VudElkLFxuICAgICAgKVxuICAgIH1cblxuICAgIHZvaWQgZXZpY3RUYXNrT3V0cHV0KHRhc2tJZClcbiAgfSlcblxuICByZXR1cm4gdHJ1ZVxufVxuXG4vKipcbiAqIEJhY2tncm91bmQgQUxMIGZvcmVncm91bmQgdGFza3MgKGJhc2ggY29tbWFuZHMgYW5kIGFnZW50cykuXG4gKiBDYWxsZWQgd2hlbiB1c2VyIHByZXNzZXMgQ3RybCtCIHRvIGJhY2tncm91bmQgYWxsIHJ1bm5pbmcgdGFza3MuXG4gKi9cbi8qKlxuICogQ2hlY2sgaWYgdGhlcmUgYXJlIGFueSBmb3JlZ3JvdW5kIHRhc2tzIChiYXNoIG9yIGFnZW50KSB0aGF0IGNhbiBiZSBiYWNrZ3JvdW5kZWQuXG4gKiBVc2VkIHRvIGRldGVybWluZSB3aGV0aGVyIEN0cmwrQiBzaG91bGQgYmFja2dyb3VuZCBleGlzdGluZyB0YXNrcyB2cy4gYmFja2dyb3VuZCB0aGUgc2Vzc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0ZvcmVncm91bmRUYXNrcyhzdGF0ZTogQXBwU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoc3RhdGUudGFza3MpLnNvbWUodGFzayA9PiB7XG4gICAgaWYgKGlzTG9jYWxTaGVsbFRhc2sodGFzaykgJiYgIXRhc2suaXNCYWNrZ3JvdW5kZWQgJiYgdGFzay5zaGVsbENvbW1hbmQpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIC8vIEV4Y2x1ZGUgbWFpbiBzZXNzaW9uIHRhc2tzIC0gdGhleSBkaXNwbGF5IGluIHRoZSBtYWluIHZpZXcsIG5vdCBhcyBmb3JlZ3JvdW5kIHRhc2tzXG4gICAgaWYgKFxuICAgICAgaXNMb2NhbEFnZW50VGFzayh0YXNrKSAmJlxuICAgICAgIXRhc2suaXNCYWNrZ3JvdW5kZWQgJiZcbiAgICAgICFpc01haW5TZXNzaW9uVGFzayh0YXNrKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrZ3JvdW5kQWxsKFxuICBnZXRBcHBTdGF0ZTogKCkgPT4gQXBwU3RhdGUsXG4gIHNldEFwcFN0YXRlOiBTZXRBcHBTdGF0ZSxcbik6IHZvaWQge1xuICBjb25zdCBzdGF0ZSA9IGdldEFwcFN0YXRlKClcblxuICAvLyBCYWNrZ3JvdW5kIGFsbCBmb3JlZ3JvdW5kIGJhc2ggdGFza3NcbiAgY29uc3QgZm9yZWdyb3VuZEJhc2hUYXNrSWRzID0gT2JqZWN0LmtleXMoc3RhdGUudGFza3MpLmZpbHRlcihpZCA9PiB7XG4gICAgY29uc3QgdGFzayA9IHN0YXRlLnRhc2tzW2lkXVxuICAgIHJldHVybiBpc0xvY2FsU2hlbGxUYXNrKHRhc2spICYmICF0YXNrLmlzQmFja2dyb3VuZGVkICYmIHRhc2suc2hlbGxDb21tYW5kXG4gIH0pXG4gIGZvciAoY29uc3QgdGFza0lkIG9mIGZvcmVncm91bmRCYXNoVGFza0lkcykge1xuICAgIGJhY2tncm91bmRUYXNrKHRhc2tJZCwgZ2V0QXBwU3RhdGUsIHNldEFwcFN0YXRlKVxuICB9XG5cbiAgLy8gQmFja2dyb3VuZCBhbGwgZm9yZWdyb3VuZCBhZ2VudCB0YXNrc1xuICBjb25zdCBmb3JlZ3JvdW5kQWdlbnRUYXNrSWRzID0gT2JqZWN0LmtleXMoc3RhdGUudGFza3MpLmZpbHRlcihpZCA9PiB7XG4gICAgY29uc3QgdGFzayA9IHN0YXRlLnRhc2tzW2lkXVxuICAgIHJldHVybiBpc0xvY2FsQWdlbnRUYXNrKHRhc2spICYmICF0YXNrLmlzQmFja2dyb3VuZGVkXG4gIH0pXG4gIGZvciAoY29uc3QgdGFza0lkIG9mIGZvcmVncm91bmRBZ2VudFRhc2tJZHMpIHtcbiAgICBiYWNrZ3JvdW5kQWdlbnRUYXNrKHRhc2tJZCwgZ2V0QXBwU3RhdGUsIHNldEFwcFN0YXRlKVxuICB9XG59XG5cbi8qKlxuICogQmFja2dyb3VuZCBhbiBhbHJlYWR5LXJlZ2lzdGVyZWQgZm9yZWdyb3VuZCB0YXNrIGluLXBsYWNlLlxuICogVW5saWtlIHNwYXduKCksIHRoaXMgZG9lcyBOT1QgcmUtcmVnaXN0ZXIgdGhlIHRhc2sg4oCUIGl0IGZsaXBzIGlzQmFja2dyb3VuZGVkXG4gKiBvbiB0aGUgZXhpc3RpbmcgcmVnaXN0cmF0aW9uIGFuZCBzZXRzIHVwIGEgY29tcGxldGlvbiBoYW5kbGVyLlxuICogVXNlZCB3aGVuIHRoZSBhdXRvLWJhY2tncm91bmQgdGltZXIgZmlyZXMgYWZ0ZXIgcmVnaXN0ZXJGb3JlZ3JvdW5kKCkgaGFzXG4gKiBhbHJlYWR5IHJlZ2lzdGVyZWQgdGhlIHRhc2sgKGF2b2lkaW5nIGR1cGxpY2F0ZSB0YXNrX3N0YXJ0ZWQgU0RLIGV2ZW50c1xuICogYW5kIGxlYWtlZCBjbGVhbnVwIGNhbGxiYWNrcykuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiYWNrZ3JvdW5kRXhpc3RpbmdGb3JlZ3JvdW5kVGFzayhcbiAgdGFza0lkOiBzdHJpbmcsXG4gIHNoZWxsQ29tbWFuZDogU2hlbGxDb21tYW5kLFxuICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICBzZXRBcHBTdGF0ZTogU2V0QXBwU3RhdGUsXG4gIHRvb2xVc2VJZD86IHN0cmluZyxcbik6IGJvb2xlYW4ge1xuICBpZiAoIXNoZWxsQ29tbWFuZC5iYWNrZ3JvdW5kKHRhc2tJZCkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGxldCBhZ2VudElkOiBBZ2VudElkIHwgdW5kZWZpbmVkXG4gIHNldEFwcFN0YXRlKHByZXYgPT4ge1xuICAgIGNvbnN0IHByZXZUYXNrID0gcHJldi50YXNrc1t0YXNrSWRdXG4gICAgaWYgKCFpc0xvY2FsU2hlbGxUYXNrKHByZXZUYXNrKSB8fCBwcmV2VGFzay5pc0JhY2tncm91bmRlZCkge1xuICAgICAgcmV0dXJuIHByZXZcbiAgICB9XG4gICAgYWdlbnRJZCA9IHByZXZUYXNrLmFnZW50SWRcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucHJldixcbiAgICAgIHRhc2tzOiB7XG4gICAgICAgIC4uLnByZXYudGFza3MsXG4gICAgICAgIFt0YXNrSWRdOiB7IC4uLnByZXZUYXNrLCBpc0JhY2tncm91bmRlZDogdHJ1ZSB9LFxuICAgICAgfSxcbiAgICB9XG4gIH0pXG5cbiAgY29uc3QgY2FuY2VsU3RhbGxXYXRjaGRvZyA9IHN0YXJ0U3RhbGxXYXRjaGRvZyhcbiAgICB0YXNrSWQsXG4gICAgZGVzY3JpcHRpb24sXG4gICAgdW5kZWZpbmVkLFxuICAgIHRvb2xVc2VJZCxcbiAgICBhZ2VudElkLFxuICApXG5cbiAgLy8gU2V0IHVwIHJlc3VsdCBoYW5kbGVyIChtaXJyb3JzIGJhY2tncm91bmRUYXNrJ3MgaGFuZGxlcilcbiAgdm9pZCBzaGVsbENvbW1hbmQucmVzdWx0LnRoZW4oYXN5bmMgcmVzdWx0ID0+IHtcbiAgICBjYW5jZWxTdGFsbFdhdGNoZG9nKClcbiAgICBhd2FpdCBmbHVzaEFuZENsZWFudXAoc2hlbGxDb21tYW5kKVxuICAgIGxldCB3YXNLaWxsZWQgPSBmYWxzZVxuICAgIGxldCBjbGVhbnVwRm46ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZFxuXG4gICAgdXBkYXRlVGFza1N0YXRlPExvY2FsU2hlbGxUYXNrU3RhdGU+KHRhc2tJZCwgc2V0QXBwU3RhdGUsIHQgPT4ge1xuICAgICAgaWYgKHQuc3RhdHVzID09PSAna2lsbGVkJykge1xuICAgICAgICB3YXNLaWxsZWQgPSB0cnVlXG4gICAgICAgIHJldHVybiB0XG4gICAgICB9XG4gICAgICBjbGVhbnVwRm4gPSB0LnVucmVnaXN0ZXJDbGVhbnVwXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi50LFxuICAgICAgICBzdGF0dXM6IHJlc3VsdC5jb2RlID09PSAwID8gJ2NvbXBsZXRlZCcgOiAnZmFpbGVkJyxcbiAgICAgICAgcmVzdWx0OiB7IGNvZGU6IHJlc3VsdC5jb2RlLCBpbnRlcnJ1cHRlZDogcmVzdWx0LmludGVycnVwdGVkIH0sXG4gICAgICAgIHNoZWxsQ29tbWFuZDogbnVsbCxcbiAgICAgICAgdW5yZWdpc3RlckNsZWFudXA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW5kVGltZTogRGF0ZS5ub3coKSxcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY2xlYW51cEZuPy4oKVxuXG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB3YXNLaWxsZWRcbiAgICAgID8gJ2tpbGxlZCdcbiAgICAgIDogcmVzdWx0LmNvZGUgPT09IDBcbiAgICAgICAgPyAnY29tcGxldGVkJ1xuICAgICAgICA6ICdmYWlsZWQnXG4gICAgZW5xdWV1ZVNoZWxsTm90aWZpY2F0aW9uKFxuICAgICAgdGFza0lkLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBmaW5hbFN0YXR1cyxcbiAgICAgIHJlc3VsdC5jb2RlLFxuICAgICAgc2V0QXBwU3RhdGUsXG4gICAgICB0b29sVXNlSWQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBhZ2VudElkLFxuICAgIClcblxuICAgIHZvaWQgZXZpY3RUYXNrT3V0cHV0KHRhc2tJZClcbiAgfSlcblxuICByZXR1cm4gdHJ1ZVxufVxuXG4vKipcbiAqIE1hcmsgYSB0YXNrIGFzIG5vdGlmaWVkIHRvIHN1cHByZXNzIGEgcGVuZGluZyBlbnF1ZXVlU2hlbGxOb3RpZmljYXRpb24uXG4gKiBVc2VkIHdoZW4gYmFja2dyb3VuZGluZyByYWNlZCB3aXRoIGNvbXBsZXRpb24g4oCUIHRoZSB0b29sIHJlc3VsdCBhbHJlYWR5XG4gKiBjYXJyaWVzIHRoZSBmdWxsIG91dHB1dCwgc28gdGhlIDx0YXNrX25vdGlmaWNhdGlvbj4gd291bGQgYmUgcmVkdW5kYW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFya1Rhc2tOb3RpZmllZChcbiAgdGFza0lkOiBzdHJpbmcsXG4gIHNldEFwcFN0YXRlOiBTZXRBcHBTdGF0ZSxcbik6IHZvaWQge1xuICB1cGRhdGVUYXNrU3RhdGUodGFza0lkLCBzZXRBcHBTdGF0ZSwgdCA9PlxuICAgIHQubm90aWZpZWQgPyB0IDogeyAuLi50LCBub3RpZmllZDogdHJ1ZSB9LFxuICApXG59XG5cbi8qKlxuICogVW5yZWdpc3RlciBhIGZvcmVncm91bmQgdGFzayB3aGVuIHRoZSBjb21tYW5kIGNvbXBsZXRlcyB3aXRob3V0IGJlaW5nIGJhY2tncm91bmRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVucmVnaXN0ZXJGb3JlZ3JvdW5kKFxuICB0YXNrSWQ6IHN0cmluZyxcbiAgc2V0QXBwU3RhdGU6IFNldEFwcFN0YXRlLFxuKTogdm9pZCB7XG4gIGxldCBjbGVhbnVwRm46ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZFxuXG4gIHNldEFwcFN0YXRlKHByZXYgPT4ge1xuICAgIGNvbnN0IHRhc2sgPSBwcmV2LnRhc2tzW3Rhc2tJZF1cbiAgICAvLyBPbmx5IHJlbW92ZSBpZiBpdCdzIGEgZm9yZWdyb3VuZCB0YXNrIChub3QgYmFja2dyb3VuZGVkKVxuICAgIGlmICghaXNMb2NhbFNoZWxsVGFzayh0YXNrKSB8fCB0YXNrLmlzQmFja2dyb3VuZGVkKSB7XG4gICAgICByZXR1cm4gcHJldlxuICAgIH1cblxuICAgIC8vIENhcHR1cmUgY2xlYW51cCBmdW5jdGlvbiB0byBjYWxsIG91dHNpZGUgb2YgdXBkYXRlclxuICAgIGNsZWFudXBGbiA9IHRhc2sudW5yZWdpc3RlckNsZWFudXBcblxuICAgIGNvbnN0IHsgW3Rhc2tJZF06IHJlbW92ZWQsIC4uLnJlc3QgfSA9IHByZXYudGFza3NcbiAgICByZXR1cm4geyAuLi5wcmV2LCB0YXNrczogcmVzdCB9XG4gIH0pXG5cbiAgLy8gQ2FsbCBjbGVhbnVwIG91dHNpZGUgb2YgdGhlIHN0YXRlIHVwZGF0ZXIgKGF2b2lkIHNpZGUgZWZmZWN0cyBpbiB1cGRhdGVyKVxuICBjbGVhbnVwRm4/LigpXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZsdXNoQW5kQ2xlYW51cChzaGVsbENvbW1hbmQ6IFNoZWxsQ29tbWFuZCk6IFByb21pc2U8dm9pZD4ge1xuICB0cnkge1xuICAgIGF3YWl0IHNoZWxsQ29tbWFuZC50YXNrT3V0cHV0LmZsdXNoKClcbiAgICBzaGVsbENvbW1hbmQuY2xlYW51cCgpXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nRXJyb3IoZXJyb3IpXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxRQUFRLFlBQVk7QUFDcEMsU0FBU0Ms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
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// Pure type + type guard for LocalShellTask state.
|
|
2
|
-
// Extracted from LocalShellTask.tsx so non-React consumers (stopTask.ts via
|
|
3
|
-
// print.ts) don't pull React/ink into the module graph.
|
|
4
|
-
export function isLocalShellTask(task) {
|
|
5
|
-
return (typeof task === 'object' &&
|
|
6
|
-
task !== null &&
|
|
7
|
-
'type' in task &&
|
|
8
|
-
task.type === 'local_bash');
|
|
9
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
// Pure (non-React) kill helpers for LocalShellTask.
|
|
2
|
-
// Extracted so runAgent.ts can kill agent-scoped bash tasks without pulling
|
|
3
|
-
// React/Ink into its module graph (same rationale as guards.ts).
|
|
4
|
-
import { logForDebugging } from '../../utils/debug.js';
|
|
5
|
-
import { logError } from '../../utils/log.js';
|
|
6
|
-
import { dequeueAllMatching } from '../../utils/messageQueueManager.js';
|
|
7
|
-
import { evictTaskOutput } from '../../utils/task/diskOutput.js';
|
|
8
|
-
import { updateTaskState } from '../../utils/task/framework.js';
|
|
9
|
-
import { isLocalShellTask } from './guards.js';
|
|
10
|
-
export function killTask(taskId, setAppState) {
|
|
11
|
-
updateTaskState(taskId, setAppState, task => {
|
|
12
|
-
if (task.status !== 'running' || !isLocalShellTask(task)) {
|
|
13
|
-
return task;
|
|
14
|
-
}
|
|
15
|
-
try {
|
|
16
|
-
logForDebugging(`LocalShellTask ${taskId} kill requested`);
|
|
17
|
-
task.shellCommand?.kill();
|
|
18
|
-
task.shellCommand?.cleanup();
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
logError(error);
|
|
22
|
-
}
|
|
23
|
-
task.unregisterCleanup?.();
|
|
24
|
-
if (task.cleanupTimeoutId) {
|
|
25
|
-
clearTimeout(task.cleanupTimeoutId);
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
...task,
|
|
29
|
-
status: 'killed',
|
|
30
|
-
notified: true,
|
|
31
|
-
shellCommand: null,
|
|
32
|
-
unregisterCleanup: undefined,
|
|
33
|
-
cleanupTimeoutId: undefined,
|
|
34
|
-
endTime: Date.now(),
|
|
35
|
-
};
|
|
36
|
-
});
|
|
37
|
-
void evictTaskOutput(taskId);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Kill all running bash tasks spawned by a given agent.
|
|
41
|
-
* Called from runAgent.ts finally block so background processes don't outlive
|
|
42
|
-
* the agent that started them (prevents 10-day fake-logs.sh zombies).
|
|
43
|
-
*/
|
|
44
|
-
export function killShellTasksForAgent(agentId, getAppState, setAppState) {
|
|
45
|
-
const tasks = getAppState().tasks ?? {};
|
|
46
|
-
for (const [taskId, task] of Object.entries(tasks)) {
|
|
47
|
-
if (isLocalShellTask(task) &&
|
|
48
|
-
task.agentId === agentId &&
|
|
49
|
-
task.status === 'running') {
|
|
50
|
-
logForDebugging(`killShellTasksForAgent: killing orphaned shell task ${taskId} (agent ${agentId} exiting)`);
|
|
51
|
-
killTask(taskId, setAppState);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// Purge any queued notifications addressed to this agent — its query loop
|
|
55
|
-
// has exited and won't drain them. killTask fires 'killed' notifications
|
|
56
|
-
// asynchronously; drop the ones already queued and any that land later sit
|
|
57
|
-
// harmlessly (no consumer matches a dead agentId).
|
|
58
|
-
dequeueAllMatching(cmd => cmd.agentId === agentId);
|
|
59
|
-
}
|