jumbo-cli 3.5.0 → 3.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/agent-files/json/claude-settings.fragment.json +41 -0
- package/assets/agent-files/json/codex-hooks.fragment.json +36 -0
- package/assets/agent-files/json/copilot-hooks.fragment.json +14 -0
- package/assets/agent-files/json/cursor-hooks.fragment.json +11 -0
- package/assets/agent-files/json/gemini-settings.fragment.json +41 -0
- package/assets/agent-files/markdown/AGENTS.md +6 -0
- package/assets/agent-files/markdown/CLAUDE.md +6 -0
- package/assets/agent-files/markdown/GEMINI.md +6 -0
- package/assets/agent-files/markdown/JUMBO.md +7 -0
- package/assets/agent-files/markdown/copilot-instructions.md +6 -0
- package/assets/agent-files/markdown/cursor-rules.mdc +10 -0
- package/assets/skills/jumbo-bootstrap-session/SKILL.md +11 -0
- package/assets/skills/jumbo-command-discovery/SKILL.md +11 -0
- package/assets/skills/jumbo-context-maintenance/SKILL.md +11 -0
- package/assets/skills/jumbo-correction-capture/SKILL.md +11 -0
- package/dist/application/context/architecture/get/GetArchitectureRequest.d.ts +1 -2
- package/dist/application/context/architecture/get/GetArchitectureRequest.d.ts.map +1 -1
- package/dist/application/context/audience-pains/list/GetAudiencePainsRequest.d.ts +1 -2
- package/dist/application/context/audience-pains/list/GetAudiencePainsRequest.d.ts.map +1 -1
- package/dist/application/context/audiences/list/ListAudiencesRequest.d.ts +1 -2
- package/dist/application/context/audiences/list/ListAudiencesRequest.d.ts.map +1 -1
- package/dist/application/context/host/workers/view/ViewWorkerRequest.d.ts +1 -2
- package/dist/application/context/host/workers/view/ViewWorkerRequest.d.ts.map +1 -1
- package/dist/application/context/invariants/get/GetAllInvariantsRequest.d.ts +1 -2
- package/dist/application/context/invariants/get/GetAllInvariantsRequest.d.ts.map +1 -1
- package/dist/application/context/search/SearchIndexRebuildRequest.d.ts +1 -2
- package/dist/application/context/search/SearchIndexRebuildRequest.d.ts.map +1 -1
- package/dist/application/context/sessions/start/SessionStartRequest.d.ts +1 -2
- package/dist/application/context/sessions/start/SessionStartRequest.d.ts.map +1 -1
- package/dist/application/context/sessions/start/StartSessionCommand.d.ts +1 -2
- package/dist/application/context/sessions/start/StartSessionCommand.d.ts.map +1 -1
- package/dist/application/context/telemetry/get/GetTelemetryStatusRequest.d.ts +1 -2
- package/dist/application/context/telemetry/get/GetTelemetryStatusRequest.d.ts.map +1 -1
- package/dist/application/context/value-propositions/get/GetValuePropositionsRequest.d.ts +1 -2
- package/dist/application/context/value-propositions/get/GetValuePropositionsRequest.d.ts.map +1 -1
- package/dist/application/context/work/pause/PauseWorkCommand.d.ts +1 -2
- package/dist/application/context/work/pause/PauseWorkCommand.d.ts.map +1 -1
- package/dist/application/context/work/pause/PauseWorkRequest.d.ts +1 -2
- package/dist/application/context/work/pause/PauseWorkRequest.d.ts.map +1 -1
- package/dist/application/context/work/resume/ResumeWorkRequest.d.ts +1 -2
- package/dist/application/context/work/resume/ResumeWorkRequest.d.ts.map +1 -1
- package/dist/domain/project/AgentFileAssetContent.d.ts +7 -0
- package/dist/domain/project/AgentFileAssetContent.d.ts.map +1 -0
- package/dist/domain/project/AgentFileAssetContent.js +25 -0
- package/dist/domain/project/AgentFileAssetContent.js.map +1 -0
- package/dist/domain/project/AgentFileReferenceContent.d.ts +1 -6
- package/dist/domain/project/AgentFileReferenceContent.d.ts.map +1 -1
- package/dist/domain/project/AgentFileReferenceContent.js +3 -12
- package/dist/domain/project/AgentFileReferenceContent.js.map +1 -1
- package/dist/domain/project/AgentsMdContent.d.ts +1 -7
- package/dist/domain/project/AgentsMdContent.d.ts.map +1 -1
- package/dist/domain/project/AgentsMdContent.js +4 -14
- package/dist/domain/project/AgentsMdContent.js.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.d.ts +5 -6
- package/dist/domain/project/CopilotInstructionsContent.d.ts.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.js +10 -17
- package/dist/domain/project/CopilotInstructionsContent.js.map +1 -1
- package/dist/domain/project/CursorRulesContent.d.ts +1 -7
- package/dist/domain/project/CursorRulesContent.d.ts.map +1 -1
- package/dist/domain/project/CursorRulesContent.js +4 -23
- package/dist/domain/project/CursorRulesContent.js.map +1 -1
- package/dist/domain/project/JumboMdContent.d.ts +1 -10
- package/dist/domain/project/JumboMdContent.d.ts.map +1 -1
- package/dist/domain/project/JumboMdContent.js +4 -117
- package/dist/domain/project/JumboMdContent.js.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js +2 -40
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CodexConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CodexConfigurer.js +2 -35
- package/dist/infrastructure/context/project/init/CodexConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js +4 -26
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CursorConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CursorConfigurer.js +2 -10
- package/dist/infrastructure/context/project/init/CursorConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js +2 -40
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js.map +1 -1
- package/dist/infrastructure/messaging/ProjectionBusFactory.d.ts +0 -4
- package/dist/infrastructure/messaging/ProjectionBusFactory.d.ts.map +1 -1
- package/dist/infrastructure/messaging/ProjectionBusFactory.js +89 -68
- package/dist/infrastructure/messaging/ProjectionBusFactory.js.map +1 -1
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.d.ts +1 -2
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.d.ts.map +1 -1
- package/dist/presentation/cli/rendering/StyleConfig.d.ts.map +1 -1
- package/dist/presentation/cli/rendering/StyleConfig.js +1 -0
- package/dist/presentation/cli/rendering/StyleConfig.js.map +1 -1
- package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts +0 -1
- package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/AnimatedBanner.js +24 -121
- package/dist/presentation/tui/cockpit/AnimatedBanner.js.map +1 -1
- package/dist/presentation/tui/cockpit/AnimatedBannerColorGradient.d.ts +2 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerColorGradient.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerColorGradient.js +31 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerColorGradient.js.map +1 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerLineColorSegments.d.ts +7 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerLineColorSegments.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerLineColorSegments.js +69 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerLineColorSegments.js.map +1 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerTiming.d.ts +9 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerTiming.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerTiming.js +11 -0
- package/dist/presentation/tui/cockpit/AnimatedBannerTiming.js.map +1 -0
- package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts +1 -2
- package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.js +9 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonConfigsUpdater.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonConfigsUpdater.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonConfigsUpdater.js +7 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonConfigsUpdater.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonEventSnapshot.d.ts +5 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonEventSnapshot.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonEventSnapshot.js +2 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonEventSnapshot.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts +6 -13
- package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js +9 -153
- package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitDaemonFocusOrder.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonFocusOrder.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonFocusOrder.js +8 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonFocusOrder.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts +30 -36
- package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js +37 -174
- package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts +0 -3
- package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js +3 -42
- package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitDaemonPollConfigCycler.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonPollConfigCycler.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonPollConfigCycler.js +9 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonPollConfigCycler.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonRetryConfigCycler.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonRetryConfigCycler.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonRetryConfigCycler.js +9 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonRetryConfigCycler.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonSnapshot.d.ts +1 -4
- package/dist/presentation/tui/cockpit/CockpitDaemonSnapshot.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitLaunchAnimationSize.d.ts +6 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchAnimationSize.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchAnimationSize.js +7 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchAnimationSize.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonDefinitions.d.ts +45 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonDefinitions.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonDefinitions.js +25 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonDefinitions.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.d.ts +17 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.js +17 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadEventLog.d.ts +8 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadEventLog.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadEventLog.js +11 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadEventLog.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts +3 -3
- package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js +30 -144
- package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitScreen.d.ts +1 -2
- package/dist/presentation/tui/cockpit/CockpitScreen.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitScreen.js +8 -38
- package/dist/presentation/tui/cockpit/CockpitScreen.js.map +1 -1
- package/dist/presentation/tui/cockpit/CockpitScreenBanner.d.ts +12 -0
- package/dist/presentation/tui/cockpit/CockpitScreenBanner.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitScreenBanner.js +14 -0
- package/dist/presentation/tui/cockpit/CockpitScreenBanner.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitScreenContent.d.ts +17 -0
- package/dist/presentation/tui/cockpit/CockpitScreenContent.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitScreenContent.js +18 -0
- package/dist/presentation/tui/cockpit/CockpitScreenContent.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitScreenInfoBoxLines.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitScreenInfoBoxLines.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitScreenInfoBoxLines.js +31 -0
- package/dist/presentation/tui/cockpit/CockpitScreenInfoBoxLines.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitState.d.ts +4 -0
- package/dist/presentation/tui/cockpit/CockpitState.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitState.js +3 -0
- package/dist/presentation/tui/cockpit/CockpitState.js.map +1 -0
- package/dist/presentation/tui/cockpit/CodifierFrameFactory.d.ts +9 -0
- package/dist/presentation/tui/cockpit/CodifierFrameFactory.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CodifierFrameFactory.js +45 -0
- package/dist/presentation/tui/cockpit/CodifierFrameFactory.js.map +1 -0
- package/dist/presentation/tui/cockpit/CodifierGlyphDaemonFrame.d.ts +11 -0
- package/dist/presentation/tui/cockpit/CodifierGlyphDaemonFrame.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CodifierGlyphDaemonFrame.js +11 -0
- package/dist/presentation/tui/cockpit/CodifierGlyphDaemonFrame.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonActionLine.d.ts +8 -0
- package/dist/presentation/tui/cockpit/DaemonActionLine.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonActionLine.js +21 -0
- package/dist/presentation/tui/cockpit/DaemonActionLine.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonConfigWizard.d.ts +8 -0
- package/dist/presentation/tui/cockpit/DaemonConfigWizard.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonConfigWizard.js +24 -0
- package/dist/presentation/tui/cockpit/DaemonConfigWizard.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRow.d.ts +9 -0
- package/dist/presentation/tui/cockpit/DaemonEventRow.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRow.js +2 -0
- package/dist/presentation/tui/cockpit/DaemonEventRow.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowFormatter.d.ts +7 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowFormatter.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowFormatter.js +17 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowFormatter.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.d.ts +7 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.js +35 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.d.ts +8 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.js +95 -0
- package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRows.d.ts +10 -0
- package/dist/presentation/tui/cockpit/DaemonEventRows.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonEventRows.js +22 -0
- package/dist/presentation/tui/cockpit/DaemonEventRows.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonFrameDimensions.d.ts +13 -0
- package/dist/presentation/tui/cockpit/DaemonFrameDimensions.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonFrameDimensions.js +13 -0
- package/dist/presentation/tui/cockpit/DaemonFrameDimensions.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonFrameGlyphTypes.d.ts +11 -0
- package/dist/presentation/tui/cockpit/DaemonFrameGlyphTypes.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonFrameGlyphTypes.js +2 -0
- package/dist/presentation/tui/cockpit/DaemonFrameGlyphTypes.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonFrameStatusColor.d.ts +2 -0
- package/dist/presentation/tui/cockpit/DaemonFrameStatusColor.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonFrameStatusColor.js +3 -0
- package/dist/presentation/tui/cockpit/DaemonFrameStatusColor.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonFrameStatusOverlay.d.ts +15 -0
- package/dist/presentation/tui/cockpit/DaemonFrameStatusOverlay.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonFrameStatusOverlay.js +42 -0
- package/dist/presentation/tui/cockpit/DaemonFrameStatusOverlay.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonInfoOverlay.d.ts +6 -0
- package/dist/presentation/tui/cockpit/DaemonInfoOverlay.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonInfoOverlay.js +12 -0
- package/dist/presentation/tui/cockpit/DaemonInfoOverlay.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonShortcutBadgeColor.d.ts +2 -0
- package/dist/presentation/tui/cockpit/DaemonShortcutBadgeColor.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonShortcutBadgeColor.js +5 -0
- package/dist/presentation/tui/cockpit/DaemonShortcutBadgeColor.js.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonStatusFinder.d.ts +7 -0
- package/dist/presentation/tui/cockpit/DaemonStatusFinder.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/DaemonStatusFinder.js +16 -0
- package/dist/presentation/tui/cockpit/DaemonStatusFinder.js.map +1 -0
- package/dist/presentation/tui/cockpit/GlyphCellDaemonFrame.d.ts +10 -0
- package/dist/presentation/tui/cockpit/GlyphCellDaemonFrame.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/GlyphCellDaemonFrame.js +11 -0
- package/dist/presentation/tui/cockpit/GlyphCellDaemonFrame.js.map +1 -0
- package/dist/presentation/tui/cockpit/GlyphCellSegments.d.ts +7 -0
- package/dist/presentation/tui/cockpit/GlyphCellSegments.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/GlyphCellSegments.js +21 -0
- package/dist/presentation/tui/cockpit/GlyphCellSegments.js.map +1 -0
- package/dist/presentation/tui/cockpit/RandomGlyphFrameFactory.d.ts +11 -0
- package/dist/presentation/tui/cockpit/RandomGlyphFrameFactory.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/RandomGlyphFrameFactory.js +67 -0
- package/dist/presentation/tui/cockpit/RandomGlyphFrameFactory.js.map +1 -0
- package/dist/presentation/tui/cockpit/RenderedDaemonFrame.d.ts +9 -0
- package/dist/presentation/tui/cockpit/RenderedDaemonFrame.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/RenderedDaemonFrame.js +13 -0
- package/dist/presentation/tui/cockpit/RenderedDaemonFrame.js.map +1 -0
- package/dist/presentation/tui/cockpit/StyledGlyphSegments.d.ts +6 -0
- package/dist/presentation/tui/cockpit/StyledGlyphSegments.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/StyledGlyphSegments.js +41 -0
- package/dist/presentation/tui/cockpit/StyledGlyphSegments.js.map +1 -0
- package/dist/presentation/tui/cockpit/daemons/CodifierDaemonFrame.js +2 -2
- package/dist/presentation/tui/cockpit/daemons/CodifierDaemonFrame.js.map +1 -1
- package/dist/presentation/tui/cockpit/daemons/IDaemonFrame.d.ts +4 -4
- package/dist/presentation/tui/cockpit/daemons/IDaemonFrame.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/daemons/RefinerDaemonFrame.js +1 -1
- package/dist/presentation/tui/cockpit/daemons/RefinerDaemonFrame.js.map +1 -1
- package/dist/presentation/tui/cockpit/daemons/ReviewerDaemonFrame.js +1 -1
- package/dist/presentation/tui/cockpit/daemons/ReviewerDaemonFrame.js.map +1 -1
- package/dist/presentation/tui/cockpit/toggleCockpitDaemon.d.ts +4 -0
- package/dist/presentation/tui/cockpit/toggleCockpitDaemon.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/toggleCockpitDaemon.js +15 -0
- package/dist/presentation/tui/cockpit/toggleCockpitDaemon.js.map +1 -0
- package/dist/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.d.ts +6 -0
- package/dist/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.js +50 -0
- package/dist/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.js.map +1 -0
- package/dist/presentation/tui/cockpit/useDaemonAnimationFrames.d.ts +14 -0
- package/dist/presentation/tui/cockpit/useDaemonAnimationFrames.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/useDaemonAnimationFrames.js +29 -0
- package/dist/presentation/tui/cockpit/useDaemonAnimationFrames.js.map +1 -0
- package/dist/presentation/tui/cockpit/useDaemonStatusPolling.d.ts +10 -0
- package/dist/presentation/tui/cockpit/useDaemonStatusPolling.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/useDaemonStatusPolling.js +21 -0
- package/dist/presentation/tui/cockpit/useDaemonStatusPolling.js.map +1 -0
- package/package.json +1 -1
- package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts +0 -7
- package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts.map +0 -1
- package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js +0 -32
- package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js.map +0 -1
- package/dist/presentation/tui/cockpit/DaemonFrameViews.d.ts +0 -17
- package/dist/presentation/tui/cockpit/DaemonFrameViews.d.ts.map +0 -1
- package/dist/presentation/tui/cockpit/DaemonFrameViews.js +0 -20
- package/dist/presentation/tui/cockpit/DaemonFrameViews.js.map +0 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CockpitDaemonSnapshot } from "./CockpitDaemonSnapshot.js";
|
|
2
|
+
export declare const RenderedDaemonFrame: {
|
|
3
|
+
readonly getFrame: typeof getFrame;
|
|
4
|
+
readonly getIndex: typeof getIndex;
|
|
5
|
+
};
|
|
6
|
+
declare function getFrame<T>(frame: readonly T[]): readonly T[];
|
|
7
|
+
declare function getIndex(snapshot: CockpitDaemonSnapshot, animatedFrameIndex: number): number;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=RenderedDaemonFrame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderedDaemonFrame.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/RenderedDaemonFrame.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAEX,iBAAS,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAEtD;AAED,iBAAS,QAAQ,CACf,QAAQ,EAAE,qBAAqB,EAC/B,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAER"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TuiSubprocessStatus } from "../daemon-subprocesses/TuiSubprocessStatus.js";
|
|
2
|
+
import { DaemonFrameDimensions } from "./DaemonFrameDimensions.js";
|
|
3
|
+
export const RenderedDaemonFrame = {
|
|
4
|
+
getFrame,
|
|
5
|
+
getIndex,
|
|
6
|
+
};
|
|
7
|
+
function getFrame(frame) {
|
|
8
|
+
return frame.slice(0, DaemonFrameDimensions.renderedFrameHeight);
|
|
9
|
+
}
|
|
10
|
+
function getIndex(snapshot, animatedFrameIndex) {
|
|
11
|
+
return snapshot.status === TuiSubprocessStatus.RUNNING ? animatedFrameIndex : 0;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=RenderedDaemonFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderedDaemonFrame.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/RenderedDaemonFrame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ;IACR,QAAQ;CACA,CAAC;AAEX,SAAS,QAAQ,CAAI,KAAmB;IACtC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,QAAQ,CACf,QAA+B,EAC/B,kBAA0B;IAE1B,OAAO,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CockpitDaemonSnapshot } from "./CockpitDaemonSnapshot.js";
|
|
2
|
+
import type { DaemonFrameGlyphColorMap, DaemonFrameGlyphStyle } from "./DaemonFrameGlyphTypes.js";
|
|
3
|
+
export declare function getStyledGlyphSegments(line: string, glyphColors: DaemonFrameGlyphColorMap, snapshot: CockpitDaemonSnapshot): Array<DaemonFrameGlyphStyle & {
|
|
4
|
+
text: string;
|
|
5
|
+
}>;
|
|
6
|
+
//# sourceMappingURL=StyledGlyphSegments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StyledGlyphSegments.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/StyledGlyphSegments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAOpC,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,wBAAwB,EACrC,QAAQ,EAAE,qBAAqB,GAC9B,KAAK,CAAC,qBAAqB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBjD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { BaseColors } from "../../shared/DesignTokens.js";
|
|
2
|
+
import { TuiSubprocessStatus } from "../daemon-subprocesses/TuiSubprocessStatus.js";
|
|
3
|
+
const DEFAULT_STYLED_GLYPH_SEGMENT_STYLE = {
|
|
4
|
+
color: BaseColors.shade3,
|
|
5
|
+
dimColor: false,
|
|
6
|
+
};
|
|
7
|
+
export function getStyledGlyphSegments(line, glyphColors, snapshot) {
|
|
8
|
+
const segments = [];
|
|
9
|
+
for (const character of line) {
|
|
10
|
+
const glyphStyle = getGlyphStyle(character, glyphColors, snapshot);
|
|
11
|
+
const previousSegment = segments[segments.length - 1];
|
|
12
|
+
if (previousSegment !== undefined
|
|
13
|
+
&& previousSegment.color === glyphStyle.color
|
|
14
|
+
&& previousSegment.dimColor === glyphStyle.dimColor) {
|
|
15
|
+
previousSegment.text += character;
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
segments.push({
|
|
19
|
+
text: character,
|
|
20
|
+
color: glyphStyle.color,
|
|
21
|
+
dimColor: glyphStyle.dimColor,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return segments;
|
|
25
|
+
}
|
|
26
|
+
function getGlyphStyle(character, glyphColors, snapshot) {
|
|
27
|
+
const color = glyphColors[character];
|
|
28
|
+
if (color === undefined) {
|
|
29
|
+
return {
|
|
30
|
+
...DEFAULT_STYLED_GLYPH_SEGMENT_STYLE,
|
|
31
|
+
color: getDaemonGlyphColor(snapshot, DEFAULT_STYLED_GLYPH_SEGMENT_STYLE.color),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return { color: getDaemonGlyphColor(snapshot, color) };
|
|
35
|
+
}
|
|
36
|
+
function getDaemonGlyphColor(snapshot, animatedColor) {
|
|
37
|
+
return snapshot.status === TuiSubprocessStatus.RUNNING
|
|
38
|
+
? animatedColor
|
|
39
|
+
: BaseColors.shade6;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=StyledGlyphSegments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StyledGlyphSegments.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/StyledGlyphSegments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAOpF,MAAM,kCAAkC,GAA0B;IAChE,KAAK,EAAE,UAAU,CAAC,MAAM;IACxB,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,WAAqC,EACrC,QAA+B;IAE/B,MAAM,QAAQ,GAAoD,EAAE,CAAC;IAErE,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEtD,IACE,eAAe,KAAK,SAAS;eAC1B,eAAe,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK;eAC1C,eAAe,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,EACnD,CAAC;YACD,eAAe,CAAC,IAAI,IAAI,SAAS,CAAC;YAClC,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CACpB,SAAiB,EACjB,WAAqC,EACrC,QAA+B;IAE/B,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,kCAAkC;YACrC,KAAK,EAAE,mBAAmB,CACxB,QAAQ,EACR,kCAAkC,CAAC,KAAK,CACzC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAA+B,EAC/B,aAAqB;IAErB,OAAO,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,OAAO;QACpD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;AACxB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { CodifierDaemonFrame as CodifierDaemonFrameView } from "../DaemonFrameViews.js";
|
|
3
2
|
import { getCodifierFrame } from "../CockpitDaemonFrames.js";
|
|
3
|
+
import { CodifierGlyphDaemonFrame } from "../CodifierGlyphDaemonFrame.js";
|
|
4
4
|
export function CodifierDaemonFrame({ frameIndex, snapshot, statusLabel, codifierGlyphColors, }) {
|
|
5
|
-
return (React.createElement(
|
|
5
|
+
return (React.createElement(CodifierGlyphDaemonFrame, { frame: getCodifierFrame(frameIndex), frameIndex: frameIndex, glyphColors: codifierGlyphColors, snapshot: snapshot, statusLabel: statusLabel }));
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=CodifierDaemonFrame.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodifierDaemonFrame.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/cockpit/daemons/CodifierDaemonFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CodifierDaemonFrame.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/cockpit/daemons/CodifierDaemonFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAG1E,MAAM,UAAU,mBAAmB,CAAC,EAClC,UAAU,EACV,QAAQ,EACR,WAAW,EACX,mBAAmB,GACN;IACb,OAAO,CACL,oBAAC,wBAAwB,IACvB,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACnC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { CockpitDaemonSnapshot } from "../CockpitDaemonSnapshot.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { DaemonFrameGlyphColorMap, DaemonFrameGlyphPalette } from "../DaemonFrameGlyphTypes.js";
|
|
3
3
|
export interface IDaemonFrame {
|
|
4
4
|
readonly frameIndex: number;
|
|
5
5
|
readonly snapshot: CockpitDaemonSnapshot;
|
|
6
6
|
readonly statusLabel: string;
|
|
7
|
-
readonly refinerGlyphPalette:
|
|
8
|
-
readonly reviewerGlyphPalette:
|
|
9
|
-
readonly codifierGlyphColors:
|
|
7
|
+
readonly refinerGlyphPalette: DaemonFrameGlyphPalette;
|
|
8
|
+
readonly reviewerGlyphPalette: DaemonFrameGlyphPalette;
|
|
9
|
+
readonly codifierGlyphColors: DaemonFrameGlyphColorMap;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=IDaemonFrame.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDaemonFrame.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/cockpit/daemons/IDaemonFrame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"IDaemonFrame.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/cockpit/daemons/IDaemonFrame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IACtD,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;CACxD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { GlyphCellDaemonFrame } from "../DaemonFrameViews.js";
|
|
3
2
|
import { getRefinerFrame } from "../CockpitDaemonFrames.js";
|
|
3
|
+
import { GlyphCellDaemonFrame } from "../GlyphCellDaemonFrame.js";
|
|
4
4
|
export function RefinerDaemonFrame({ frameIndex, snapshot, statusLabel, refinerGlyphPalette, }) {
|
|
5
5
|
return (React.createElement(GlyphCellDaemonFrame, { frame: getRefinerFrame(frameIndex, refinerGlyphPalette), frameIndex: frameIndex, snapshot: snapshot, statusLabel: statusLabel }));
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefinerDaemonFrame.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/cockpit/daemons/RefinerDaemonFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RefinerDaemonFrame.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/cockpit/daemons/RefinerDaemonFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,MAAM,UAAU,kBAAkB,CAAC,EACjC,UAAU,EACV,QAAQ,EACR,WAAW,EACX,mBAAmB,GACN;IACb,OAAO,CACL,oBAAC,oBAAoB,IACnB,KAAK,EAAE,eAAe,CAAC,UAAU,EAAE,mBAAmB,CAAC,EACvD,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { GlyphCellDaemonFrame } from "../DaemonFrameViews.js";
|
|
3
2
|
import { getReviewerFrame } from "../CockpitDaemonFrames.js";
|
|
3
|
+
import { GlyphCellDaemonFrame } from "../GlyphCellDaemonFrame.js";
|
|
4
4
|
export function ReviewerDaemonFrame({ frameIndex, snapshot, statusLabel, reviewerGlyphPalette, }) {
|
|
5
5
|
return (React.createElement(GlyphCellDaemonFrame, { frame: getReviewerFrame(frameIndex, reviewerGlyphPalette), frameIndex: frameIndex, snapshot: snapshot, statusLabel: statusLabel }));
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewerDaemonFrame.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/cockpit/daemons/ReviewerDaemonFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ReviewerDaemonFrame.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/cockpit/daemons/ReviewerDaemonFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,MAAM,UAAU,mBAAmB,CAAC,EAClC,UAAU,EACV,QAAQ,EACR,WAAW,EACX,oBAAoB,GACP;IACb,OAAO,CACL,oBAAC,oBAAoB,IACnB,KAAK,EAAE,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,CAAC,EACzD,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DaemonEventRow } from "./DaemonEventRow.js";
|
|
2
|
+
import type { ISubprocessManager, TuiDaemonConfig, TuiDaemonName, TuiSubprocessSnapshot } from "../daemon-subprocesses/ISubprocessManager.js";
|
|
3
|
+
export declare function toggleCockpitDaemon(name: TuiDaemonName, manager: ISubprocessManager, config: TuiDaemonConfig, setDaemonStatuses: (statuses: readonly TuiSubprocessSnapshot[]) => void, setDaemonEventRows: (update: (currentRows: readonly DaemonEventRow[]) => readonly DaemonEventRow[]) => void): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=toggleCockpitDaemon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggleCockpitDaemon.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/toggleCockpitDaemon.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,qBAAqB,EACtB,MAAM,8CAA8C,CAAC;AAGtD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,eAAe,EACvB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,KAAK,IAAI,EACvE,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,KAAK,SAAS,cAAc,EAAE,KAAK,IAAI,GAC1G,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CockpitDaemonEvents } from "./CockpitDaemonEvents.js";
|
|
2
|
+
import { TuiSubprocessStatus } from "../daemon-subprocesses/TuiSubprocessStatus.js";
|
|
3
|
+
export async function toggleCockpitDaemon(name, manager, config, setDaemonStatuses, setDaemonEventRows) {
|
|
4
|
+
const snapshot = manager.getStatus(name);
|
|
5
|
+
if (snapshot.status === TuiSubprocessStatus.RUNNING) {
|
|
6
|
+
await manager.terminate(name);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
await manager.spawn(name, config);
|
|
10
|
+
}
|
|
11
|
+
const snapshots = manager.getAllStatuses();
|
|
12
|
+
setDaemonStatuses(snapshots);
|
|
13
|
+
setDaemonEventRows((currentRows) => CockpitDaemonEvents.appendRows(currentRows, CockpitDaemonEvents.getRows(snapshots, Date.now())));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=toggleCockpitDaemon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggleCockpitDaemon.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/toggleCockpitDaemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAQ/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAmB,EACnB,OAA2B,EAC3B,MAAuB,EACvB,iBAAuE,EACvE,kBAA2G;IAE3G,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC3C,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7B,kBAAkB,CAAC,CAAC,WAAW,EAAE,EAAE,CACjC,mBAAmB,CAAC,UAAU,CAC5B,WAAW,EACX,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CACnD,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ISettingsReader } from "../../../application/settings/ISettingsReader.js";
|
|
2
|
+
export declare function useCockpitLaunchpadWelcomeVisibility(settingsReader: Pick<ISettingsReader, "read" | "write"> | undefined): {
|
|
3
|
+
readonly welcomeVisible: boolean | undefined;
|
|
4
|
+
readonly hideWelcome: () => Promise<void>;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=useCockpitLaunchpadWelcomeVisibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCockpitLaunchpadWelcomeVisibility.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAExF,wBAAgB,oCAAoC,CAClD,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,GAClE;IACD,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C,CAwDA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from "react";
|
|
2
|
+
export function useCockpitLaunchpadWelcomeVisibility(settingsReader) {
|
|
3
|
+
const [welcomeVisible, setWelcomeVisible] = useState(settingsReader === undefined ? true : undefined);
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
let mounted = true;
|
|
6
|
+
if (settingsReader === undefined) {
|
|
7
|
+
setWelcomeVisible(true);
|
|
8
|
+
return () => {
|
|
9
|
+
mounted = false;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
setWelcomeVisible(undefined);
|
|
13
|
+
void settingsReader
|
|
14
|
+
.read()
|
|
15
|
+
.then((settings) => {
|
|
16
|
+
if (mounted) {
|
|
17
|
+
setWelcomeVisible(settings.tui?.showLaunchpadWelcome ?? true);
|
|
18
|
+
}
|
|
19
|
+
})
|
|
20
|
+
.catch(() => {
|
|
21
|
+
if (mounted) {
|
|
22
|
+
setWelcomeVisible(true);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
mounted = false;
|
|
27
|
+
};
|
|
28
|
+
}, [settingsReader]);
|
|
29
|
+
const hideWelcome = useCallback(async () => {
|
|
30
|
+
setWelcomeVisible(false);
|
|
31
|
+
if (settingsReader === undefined) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const settings = await settingsReader.read();
|
|
36
|
+
await settingsReader.write({
|
|
37
|
+
...settings,
|
|
38
|
+
tui: {
|
|
39
|
+
...settings.tui,
|
|
40
|
+
showLaunchpadWelcome: false,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Keep the in-memory dismissal even if persistence is unavailable.
|
|
46
|
+
}
|
|
47
|
+
}, [settingsReader]);
|
|
48
|
+
return { welcomeVisible, hideWelcome };
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=useCockpitLaunchpadWelcomeVisibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCockpitLaunchpadWelcomeVisibility.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGzD,MAAM,UAAU,oCAAoC,CAClD,cAAmE;IAKnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,GAAG,EAAE;gBACV,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC,CAAC;QACJ,CAAC;QAED,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,KAAK,cAAc;aAChB,IAAI,EAAE;aACN,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,OAAO,EAAE,CAAC;gBACZ,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,oBAAoB,IAAI,IAAI,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,OAAO,EAAE,CAAC;gBACZ,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,cAAc,CAAC,KAAK,CAAC;gBACzB,GAAG,QAAQ;gBACX,GAAG,EAAE;oBACH,GAAG,QAAQ,CAAC,GAAG;oBACf,oBAAoB,EAAE,KAAK;iBAC5B;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
interface DaemonAnimationFrameSetters {
|
|
3
|
+
readonly setReviewerFrameIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
4
|
+
readonly setRefinerFrameIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
5
|
+
readonly setCodifierFrameIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
6
|
+
}
|
|
7
|
+
interface DaemonAnimationFrameDurations {
|
|
8
|
+
readonly reviewerFrameDurationMs: number;
|
|
9
|
+
readonly refinerFrameDurationMs: number;
|
|
10
|
+
readonly codifierFrameDurationMs: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function useDaemonAnimationFrames({ reviewerFrameDurationMs, refinerFrameDurationMs, codifierFrameDurationMs, setReviewerFrameIndex, setRefinerFrameIndex, setCodifierFrameIndex, }: DaemonAnimationFrameDurations & DaemonAnimationFrameSetters): void;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=useDaemonAnimationFrames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDaemonAnimationFrames.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/useDaemonAnimationFrames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,UAAU,2BAA2B;IACnC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CAC9E;AAED,UAAU,6BAA6B;IACrC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CAC1C;AAED,wBAAgB,wBAAwB,CAAC,EACvC,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,EAAE,6BAA6B,GAAG,2BAA2B,GAAG,IAAI,CAoCpE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { CODIFIER_FRAME_COUNT, REFINER_FRAME_COUNT, REVIEWER_FRAME_COUNT, } from "./CockpitDaemonFrames.js";
|
|
3
|
+
export function useDaemonAnimationFrames({ reviewerFrameDurationMs, refinerFrameDurationMs, codifierFrameDurationMs, setReviewerFrameIndex, setRefinerFrameIndex, setCodifierFrameIndex, }) {
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
if (reviewerFrameDurationMs <= 0)
|
|
6
|
+
return;
|
|
7
|
+
const timer = setInterval(() => {
|
|
8
|
+
setReviewerFrameIndex((previousFrameIndex) => (previousFrameIndex + 1) % REVIEWER_FRAME_COUNT);
|
|
9
|
+
}, reviewerFrameDurationMs);
|
|
10
|
+
return () => clearInterval(timer);
|
|
11
|
+
}, [reviewerFrameDurationMs, setReviewerFrameIndex]);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (REFINER_FRAME_COUNT <= 1 || refinerFrameDurationMs <= 0)
|
|
14
|
+
return;
|
|
15
|
+
const timer = setInterval(() => {
|
|
16
|
+
setRefinerFrameIndex((previousFrameIndex) => (previousFrameIndex + 1) % REFINER_FRAME_COUNT);
|
|
17
|
+
}, refinerFrameDurationMs);
|
|
18
|
+
return () => clearInterval(timer);
|
|
19
|
+
}, [refinerFrameDurationMs, setRefinerFrameIndex]);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (codifierFrameDurationMs <= 0)
|
|
22
|
+
return;
|
|
23
|
+
const timer = setInterval(() => {
|
|
24
|
+
setCodifierFrameIndex((previousFrameIndex) => (previousFrameIndex + 1) % CODIFIER_FRAME_COUNT);
|
|
25
|
+
}, codifierFrameDurationMs);
|
|
26
|
+
return () => clearInterval(timer);
|
|
27
|
+
}, [codifierFrameDurationMs, setCodifierFrameIndex]);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=useDaemonAnimationFrames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDaemonAnimationFrames.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/useDaemonAnimationFrames.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAclC,MAAM,UAAU,wBAAwB,CAAC,EACvC,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACuC;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,uBAAuB,IAAI,CAAC;YAAE,OAAO;QAEzC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,qBAAqB,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAC3C,CAAC,kBAAkB,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAChD,CAAC;QACJ,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAE5B,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,mBAAmB,IAAI,CAAC,IAAI,sBAAsB,IAAI,CAAC;YAAE,OAAO;QAEpE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,oBAAoB,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAC1C,CAAC,kBAAkB,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAC/C,CAAC;QACJ,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE3B,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,uBAAuB,IAAI,CAAC;YAAE,OAAO;QAEzC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,qBAAqB,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAC3C,CAAC,kBAAkB,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAChD,CAAC;QACJ,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAE5B,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { DaemonEventRow } from "./DaemonEventRow.js";
|
|
3
|
+
import type { ISubprocessManager, TuiSubprocessSnapshot } from "../daemon-subprocesses/ISubprocessManager.js";
|
|
4
|
+
export declare function useDaemonStatusPolling(subprocessManager: ISubprocessManager): {
|
|
5
|
+
readonly daemonStatuses: readonly TuiSubprocessSnapshot[];
|
|
6
|
+
readonly daemonEventRows: readonly DaemonEventRow[];
|
|
7
|
+
readonly setDaemonStatuses: React.Dispatch<React.SetStateAction<readonly TuiSubprocessSnapshot[]>>;
|
|
8
|
+
readonly setDaemonEventRows: React.Dispatch<React.SetStateAction<readonly DaemonEventRow[]>>;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useDaemonStatusPolling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDaemonStatusPolling.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/useDaemonStatusPolling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,8CAA8C,CAAC;AAEtD,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,kBAAkB,GACpC;IACD,QAAQ,CAAC,cAAc,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1D,QAAQ,CAAC,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACnG,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC,CAAC;CAC9F,CA6BA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { CockpitDaemonEvents } from "./CockpitDaemonEvents.js";
|
|
3
|
+
export function useDaemonStatusPolling(subprocessManager) {
|
|
4
|
+
const [daemonStatuses, setDaemonStatuses] = useState(subprocessManager.getAllStatuses());
|
|
5
|
+
const [daemonEventRows, setDaemonEventRows] = useState(() => CockpitDaemonEvents.getRows(subprocessManager.getAllStatuses(), Date.now()));
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
const timer = setInterval(() => {
|
|
8
|
+
const snapshots = subprocessManager.getAllStatuses();
|
|
9
|
+
setDaemonStatuses(snapshots);
|
|
10
|
+
setDaemonEventRows((currentRows) => CockpitDaemonEvents.appendRows(currentRows, CockpitDaemonEvents.getRows(snapshots, Date.now())));
|
|
11
|
+
}, 500);
|
|
12
|
+
return () => clearInterval(timer);
|
|
13
|
+
}, [subprocessManager]);
|
|
14
|
+
return {
|
|
15
|
+
daemonStatuses,
|
|
16
|
+
daemonEventRows,
|
|
17
|
+
setDaemonStatuses,
|
|
18
|
+
setDaemonEventRows,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=useDaemonStatusPolling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDaemonStatusPolling.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/useDaemonStatusPolling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAO/D,MAAM,UAAU,sBAAsB,CACpC,iBAAqC;IAOrC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,iBAAiB,CAAC,cAAc,EAAE,CACnC,CAAC;IACF,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAA4B,GAAG,EAAE,CACrF,mBAAmB,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAC5E,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,MAAM,SAAS,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACrD,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7B,kBAAkB,CAAC,CAAC,WAAW,EAAE,EAAE,CACjC,mBAAmB,CAAC,UAAU,CAC5B,WAAW,EACX,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CACnD,CACF,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,OAAO;QACL,cAAc;QACd,eAAe;QACf,iBAAiB;QACjB,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { TuiDaemonConfig, TuiDaemonConfigs, TuiDaemonName } from "../daemon-subprocesses/ISubprocessManager.js";
|
|
2
|
-
export declare function getNextFocusedDaemon(currentDaemon: TuiDaemonName, focusOrder: readonly TuiDaemonName[]): TuiDaemonName;
|
|
3
|
-
export declare function nextAgentConfig(config: TuiDaemonConfig): TuiDaemonConfig;
|
|
4
|
-
export declare function nextPollConfig(config: TuiDaemonConfig): TuiDaemonConfig;
|
|
5
|
-
export declare function nextRetryConfig(config: TuiDaemonConfig): TuiDaemonConfig;
|
|
6
|
-
export declare function nextDaemonConfigs(configs: TuiDaemonConfigs, selectedDaemon: TuiDaemonName, nextConfig: (config: TuiDaemonConfig) => TuiDaemonConfig): TuiDaemonConfigs;
|
|
7
|
-
//# sourceMappingURL=CockpitDaemonConfiguration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CockpitDaemonConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitDaemonConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAMrH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,SAAS,aAAa,EAAE,GACnC,aAAa,CAOf;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAIxE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAIvE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAIxE;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,aAAa,EAC7B,UAAU,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,eAAe,GACvD,gBAAgB,CAKlB"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
const AGENT_OPTIONS = ["codex", "claude", "gemini", "copilot", "cursor", "vibe"];
|
|
2
|
-
const POLL_INTERVAL_OPTIONS_MS = [10000, 30000, 60000, 120000];
|
|
3
|
-
const RETRY_OPTIONS = [1, 2, 3, 5];
|
|
4
|
-
export function getNextFocusedDaemon(currentDaemon, focusOrder) {
|
|
5
|
-
const currentIndex = focusOrder.indexOf(currentDaemon);
|
|
6
|
-
const nextIndex = currentIndex === -1
|
|
7
|
-
? 0
|
|
8
|
-
: (currentIndex + 1) % focusOrder.length;
|
|
9
|
-
return focusOrder[nextIndex];
|
|
10
|
-
}
|
|
11
|
-
export function nextAgentConfig(config) {
|
|
12
|
-
const currentIndex = AGENT_OPTIONS.indexOf(config.agentId);
|
|
13
|
-
const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % AGENT_OPTIONS.length;
|
|
14
|
-
return { ...config, agentId: AGENT_OPTIONS[nextIndex] };
|
|
15
|
-
}
|
|
16
|
-
export function nextPollConfig(config) {
|
|
17
|
-
const currentIndex = POLL_INTERVAL_OPTIONS_MS.indexOf(config.pollIntervalMs);
|
|
18
|
-
const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % POLL_INTERVAL_OPTIONS_MS.length;
|
|
19
|
-
return { ...config, pollIntervalMs: POLL_INTERVAL_OPTIONS_MS[nextIndex] };
|
|
20
|
-
}
|
|
21
|
-
export function nextRetryConfig(config) {
|
|
22
|
-
const currentIndex = RETRY_OPTIONS.indexOf(config.maxRetries);
|
|
23
|
-
const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % RETRY_OPTIONS.length;
|
|
24
|
-
return { ...config, maxRetries: RETRY_OPTIONS[nextIndex] };
|
|
25
|
-
}
|
|
26
|
-
export function nextDaemonConfigs(configs, selectedDaemon, nextConfig) {
|
|
27
|
-
return {
|
|
28
|
-
...configs,
|
|
29
|
-
[selectedDaemon]: nextConfig(configs[selectedDaemon]),
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=CockpitDaemonConfiguration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CockpitDaemonConfiguration.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitDaemonConfiguration.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAC1F,MAAM,wBAAwB,GAAG,CAAC,KAAM,EAAE,KAAM,EAAE,KAAM,EAAE,MAAO,CAAU,CAAC;AAC5E,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAC;AAE5C,MAAM,UAAU,oBAAoB,CAClC,aAA4B,EAC5B,UAAoC;IAEpC,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IAE3C,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,OAAuC,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;IACtF,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,cAAyD,CAAC,CAAC;IACxH,MAAM,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,wBAAwB,CAAC,MAAM,CAAC;IACjG,OAAO,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,UAA0C,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;IACtF,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAyB,EACzB,cAA6B,EAC7B,UAAwD;IAExD,OAAO;QACL,GAAG,OAAO;QACV,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { CockpitDaemonSnapshot } from "./CockpitDaemonSnapshot.js";
|
|
3
|
-
import { type GlyphCell, type GlyphColorMap } from "./CockpitDaemonFrames.js";
|
|
4
|
-
export declare function GlyphCellDaemonFrame({ frame, frameIndex, snapshot, statusLabel, }: {
|
|
5
|
-
readonly frame: readonly (readonly GlyphCell[])[];
|
|
6
|
-
readonly frameIndex: number;
|
|
7
|
-
readonly snapshot: CockpitDaemonSnapshot;
|
|
8
|
-
readonly statusLabel: string;
|
|
9
|
-
}): React.ReactElement;
|
|
10
|
-
export declare function CodifierDaemonFrame({ frame, frameIndex, glyphColors, snapshot, statusLabel, }: {
|
|
11
|
-
readonly frame: readonly string[];
|
|
12
|
-
readonly frameIndex: number;
|
|
13
|
-
readonly glyphColors: GlyphColorMap;
|
|
14
|
-
readonly snapshot: CockpitDaemonSnapshot;
|
|
15
|
-
readonly statusLabel: string;
|
|
16
|
-
}): React.ReactElement;
|
|
17
|
-
//# sourceMappingURL=DaemonFrameViews.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DaemonFrameViews.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameViews.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAUL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,SAAS,EAAE,CAAC,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,KAAK,CAAC,YAAY,CAoCrB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,KAAK,CAAC,YAAY,CAwCrB"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
import { BaseColors } from "../../shared/DesignTokens.js";
|
|
4
|
-
import { DAEMON_PANEL_CONTENT_WIDTH, getGlyphCellLinePrefix, getGlyphCellLineSuffix, getGlyphCellSegments, getGlyphLinePrefix, getGlyphLineSuffix, getRenderedDaemonFrame, getStyledGlyphSegments, isDaemonStatusLine, } from "./CockpitDaemonFrames.js";
|
|
5
|
-
export function GlyphCellDaemonFrame({ frame, frameIndex, snapshot, statusLabel, }) {
|
|
6
|
-
return (React.createElement(Box, { flexDirection: "column", flexWrap: "nowrap", width: DAEMON_PANEL_CONTENT_WIDTH }, getRenderedDaemonFrame(frame).map((line, lineIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}` },
|
|
7
|
-
getGlyphCellSegments(getGlyphCellLinePrefix(line, statusLabel, lineIndex), snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-prefix-${segmentIndex}`, color: segment.color }, segment.text))),
|
|
8
|
-
isDaemonStatusLine(lineIndex) && (React.createElement(Text, { color: getDaemonStatusColor(), bold: true }, statusLabel)),
|
|
9
|
-
getGlyphCellSegments(getGlyphCellLineSuffix(line, statusLabel, lineIndex), snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-suffix-${segmentIndex}`, color: segment.color }, segment.text))))))));
|
|
10
|
-
}
|
|
11
|
-
export function CodifierDaemonFrame({ frame, frameIndex, glyphColors, snapshot, statusLabel, }) {
|
|
12
|
-
return (React.createElement(Box, { flexDirection: "column", flexWrap: "nowrap", width: DAEMON_PANEL_CONTENT_WIDTH }, getRenderedDaemonFrame(frame).map((line, lineIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}` },
|
|
13
|
-
getStyledGlyphSegments(getGlyphLinePrefix(line, statusLabel, lineIndex), glyphColors, snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-prefix-${segmentIndex}`, color: segment.color, dimColor: segment.dimColor }, segment.text))),
|
|
14
|
-
isDaemonStatusLine(lineIndex) && (React.createElement(Text, { color: getDaemonStatusColor(), bold: true }, statusLabel)),
|
|
15
|
-
getStyledGlyphSegments(getGlyphLineSuffix(line, statusLabel, lineIndex), glyphColors, snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-suffix-${segmentIndex}`, color: segment.color, dimColor: segment.dimColor }, segment.text))))))));
|
|
16
|
-
}
|
|
17
|
-
function getDaemonStatusColor() {
|
|
18
|
-
return BaseColors.shade3;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=DaemonFrameViews.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DaemonFrameViews.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameViews.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,GAGnB,MAAM,0BAA0B,CAAC;AAElC,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,UAAU,EACV,QAAQ,EACR,WAAW,GAMZ;IACC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAE,0BAA0B,IAC5E,sBAAsB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CACtD,oBAAC,IAAI,IAAC,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,EAAE;QACpC,oBAAoB,CACnB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EACpD,QAAQ,CACT,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAC/B,oBAAC,IAAI,IACH,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,WAAW,YAAY,EAAE,EACxD,KAAK,EAAE,OAAO,CAAC,KAAK,IAEnB,OAAO,CAAC,IAAI,CACR,CACR,CAAC;QACD,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAChC,oBAAC,IAAI,IAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,IAAI,UACtC,WAAW,CACP,CACR;QACA,oBAAoB,CACnB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EACpD,QAAQ,CACT,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAC/B,oBAAC,IAAI,IACH,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,WAAW,YAAY,EAAE,EACxD,KAAK,EAAE,OAAO,CAAC,KAAK,IAEnB,OAAO,CAAC,IAAI,CACR,CACR,CAAC,CACG,CACR,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,WAAW,GAOZ;IACC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAE,0BAA0B,IAC5E,sBAAsB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CACtD,oBAAC,IAAI,IAAC,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,EAAE;QACpC,sBAAsB,CACrB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EAChD,WAAW,EACX,QAAQ,CACT,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAC/B,oBAAC,IAAI,IACH,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,WAAW,YAAY,EAAE,EACxD,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAEzB,OAAO,CAAC,IAAI,CACR,CACR,CAAC;QACD,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAChC,oBAAC,IAAI,IAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,IAAI,UACtC,WAAW,CACP,CACR;QACA,sBAAsB,CACrB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EAChD,WAAW,EACX,QAAQ,CACT,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAC/B,oBAAC,IAAI,IACH,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,WAAW,YAAY,EAAE,EACxD,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAEzB,OAAO,CAAC,IAAI,CACR,CACR,CAAC,CACG,CACR,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,UAAU,CAAC,MAAM,CAAC;AAC3B,CAAC"}
|