@intrect/openswarm 0.9.3 → 0.10.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/README.md +76 -1
- package/config.example.yaml +6 -0
- package/dist/adapters/agenticLoop.d.ts +24 -0
- package/dist/adapters/agenticLoop.d.ts.map +1 -1
- package/dist/adapters/agenticLoop.js +130 -11
- package/dist/adapters/agenticLoop.js.map +1 -1
- package/dist/adapters/applyPatch.d.ts +21 -0
- package/dist/adapters/applyPatch.d.ts.map +1 -0
- package/dist/adapters/applyPatch.js +175 -0
- package/dist/adapters/applyPatch.js.map +1 -0
- package/dist/adapters/base.d.ts.map +1 -1
- package/dist/adapters/base.js +7 -0
- package/dist/adapters/base.js.map +1 -1
- package/dist/adapters/codex.js +10 -0
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/codexResponses.d.ts +8 -0
- package/dist/adapters/codexResponses.d.ts.map +1 -1
- package/dist/adapters/codexResponses.js +86 -8
- package/dist/adapters/codexResponses.js.map +1 -1
- package/dist/adapters/errorClassification.d.ts +8 -0
- package/dist/adapters/errorClassification.d.ts.map +1 -0
- package/dist/adapters/errorClassification.js +54 -0
- package/dist/adapters/errorClassification.js.map +1 -0
- package/dist/adapters/gpt.d.ts.map +1 -1
- package/dist/adapters/gpt.js +12 -1
- package/dist/adapters/gpt.js.map +1 -1
- package/dist/adapters/local.d.ts.map +1 -1
- package/dist/adapters/local.js +9 -1
- package/dist/adapters/local.js.map +1 -1
- package/dist/adapters/openrouter.d.ts.map +1 -1
- package/dist/adapters/openrouter.js +9 -1
- package/dist/adapters/openrouter.js.map +1 -1
- package/dist/adapters/rateLimitError.d.ts +29 -0
- package/dist/adapters/rateLimitError.d.ts.map +1 -0
- package/dist/adapters/rateLimitError.js +64 -0
- package/dist/adapters/rateLimitError.js.map +1 -0
- package/dist/adapters/resultParsing.d.ts.map +1 -1
- package/dist/adapters/resultParsing.js +18 -0
- package/dist/adapters/resultParsing.js.map +1 -1
- package/dist/adapters/tools.d.ts +3 -0
- package/dist/adapters/tools.d.ts.map +1 -1
- package/dist/adapters/tools.js +148 -11
- package/dist/adapters/tools.js.map +1 -1
- package/dist/adapters/types.d.ts +15 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/webTools.d.ts.map +1 -1
- package/dist/adapters/webTools.js +44 -21
- package/dist/adapters/webTools.js.map +1 -1
- package/dist/agents/agentPair.d.ts +9 -0
- package/dist/agents/agentPair.d.ts.map +1 -1
- package/dist/agents/agentPair.js.map +1 -1
- package/dist/agents/auditor.d.ts.map +1 -1
- package/dist/agents/auditor.js +3 -0
- package/dist/agents/auditor.js.map +1 -1
- package/dist/agents/documenter.d.ts.map +1 -1
- package/dist/agents/documenter.js +3 -0
- package/dist/agents/documenter.js.map +1 -1
- package/dist/agents/draftAnalyzer.d.ts +30 -7
- package/dist/agents/draftAnalyzer.d.ts.map +1 -1
- package/dist/agents/draftAnalyzer.js +181 -30
- package/dist/agents/draftAnalyzer.js.map +1 -1
- package/dist/agents/multiLensReview.d.ts +49 -0
- package/dist/agents/multiLensReview.d.ts.map +1 -0
- package/dist/agents/multiLensReview.js +148 -0
- package/dist/agents/multiLensReview.js.map +1 -0
- package/dist/agents/pairPipeline.d.ts +7 -1
- package/dist/agents/pairPipeline.d.ts.map +1 -1
- package/dist/agents/pairPipeline.js +110 -66
- package/dist/agents/pairPipeline.js.map +1 -1
- package/dist/agents/pipelineFormat.d.ts.map +1 -1
- package/dist/agents/pipelineFormat.js +4 -0
- package/dist/agents/pipelineFormat.js.map +1 -1
- package/dist/agents/reviewer.d.ts +16 -0
- package/dist/agents/reviewer.d.ts.map +1 -1
- package/dist/agents/reviewer.js +30 -0
- package/dist/agents/reviewer.js.map +1 -1
- package/dist/agents/skillDocumenter.d.ts.map +1 -1
- package/dist/agents/skillDocumenter.js +3 -0
- package/dist/agents/skillDocumenter.js.map +1 -1
- package/dist/agents/tester.d.ts.map +1 -1
- package/dist/agents/tester.js +3 -0
- package/dist/agents/tester.js.map +1 -1
- package/dist/agents/worker.d.ts +14 -0
- package/dist/agents/worker.d.ts.map +1 -1
- package/dist/agents/worker.js +123 -22
- package/dist/agents/worker.js.map +1 -1
- package/dist/automation/autonomousRunner.d.ts +12 -0
- package/dist/automation/autonomousRunner.d.ts.map +1 -1
- package/dist/automation/autonomousRunner.js +218 -29
- package/dist/automation/autonomousRunner.js.map +1 -1
- package/dist/automation/runnerExecution.d.ts +15 -0
- package/dist/automation/runnerExecution.d.ts.map +1 -1
- package/dist/automation/runnerExecution.js +77 -1
- package/dist/automation/runnerExecution.js.map +1 -1
- package/dist/automation/runnerState.d.ts +7 -0
- package/dist/automation/runnerState.d.ts.map +1 -1
- package/dist/automation/runnerState.js +23 -1
- package/dist/automation/runnerState.js.map +1 -1
- package/dist/automation/runnerTypes.d.ts +2 -0
- package/dist/automation/runnerTypes.d.ts.map +1 -1
- package/dist/automation/scheduler.d.ts +12 -0
- package/dist/automation/scheduler.d.ts.map +1 -1
- package/dist/automation/scheduler.js +29 -2
- package/dist/automation/scheduler.js.map +1 -1
- package/dist/automation/taskSource.d.ts +9 -1
- package/dist/automation/taskSource.d.ts.map +1 -1
- package/dist/automation/taskSource.js +13 -2
- package/dist/automation/taskSource.js.map +1 -1
- package/dist/cli/auditPM.d.ts +40 -0
- package/dist/cli/auditPM.d.ts.map +1 -0
- package/dist/cli/auditPM.js +152 -0
- package/dist/cli/auditPM.js.map +1 -0
- package/dist/cli/designPipeline.d.ts +30 -0
- package/dist/cli/designPipeline.d.ts.map +1 -0
- package/dist/cli/designPipeline.js +113 -0
- package/dist/cli/designPipeline.js.map +1 -0
- package/dist/cli/mcpCommand.d.ts +22 -0
- package/dist/cli/mcpCommand.d.ts.map +1 -0
- package/dist/cli/mcpCommand.js +93 -0
- package/dist/cli/mcpCommand.js.map +1 -0
- package/dist/cli/projectHandler.d.ts.map +1 -1
- package/dist/cli/projectHandler.js +4 -2
- package/dist/cli/projectHandler.js.map +1 -1
- package/dist/cli/reviewAudit.d.ts +130 -0
- package/dist/cli/reviewAudit.d.ts.map +1 -0
- package/dist/cli/reviewAudit.js +283 -0
- package/dist/cli/reviewAudit.js.map +1 -0
- package/dist/cli/reviewCommand.d.ts +53 -0
- package/dist/cli/reviewCommand.d.ts.map +1 -0
- package/dist/cli/reviewCommand.js +207 -0
- package/dist/cli/reviewCommand.js.map +1 -0
- package/dist/cli/reviewMaxCommand.d.ts +35 -0
- package/dist/cli/reviewMaxCommand.d.ts.map +1 -0
- package/dist/cli/reviewMaxCommand.js +278 -0
- package/dist/cli/reviewMaxCommand.js.map +1 -0
- package/dist/cli/reviewProgress.d.ts +34 -0
- package/dist/cli/reviewProgress.d.ts.map +1 -0
- package/dist/cli/reviewProgress.js +109 -0
- package/dist/cli/reviewProgress.js.map +1 -0
- package/dist/cli/scheduleCommand.d.ts +15 -0
- package/dist/cli/scheduleCommand.d.ts.map +1 -0
- package/dist/cli/scheduleCommand.js +68 -0
- package/dist/cli/scheduleCommand.js.map +1 -0
- package/dist/cli.js +182 -26
- package/dist/cli.js.map +1 -1
- package/dist/core/config.d.ts +24 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +42 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/providerOverride.d.ts.map +1 -1
- package/dist/core/providerOverride.js +16 -13
- package/dist/core/providerOverride.js.map +1 -1
- package/dist/core/service.d.ts.map +1 -1
- package/dist/core/service.js +11 -0
- package/dist/core/service.js.map +1 -1
- package/dist/core/types.d.ts +38 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/discord/discordHandlers.d.ts.map +1 -1
- package/dist/discord/discordHandlers.js +1 -0
- package/dist/discord/discordHandlers.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/linear/linear.d.ts +21 -0
- package/dist/linear/linear.d.ts.map +1 -1
- package/dist/linear/linear.js +109 -4
- package/dist/linear/linear.js.map +1 -1
- package/dist/linear/projectUpdater.js +3 -1
- package/dist/linear/projectUpdater.js.map +1 -1
- package/dist/locale/prompts/en.d.ts.map +1 -1
- package/dist/locale/prompts/en.js +104 -11
- package/dist/locale/prompts/en.js.map +1 -1
- package/dist/locale/prompts/ko.d.ts.map +1 -1
- package/dist/locale/prompts/ko.js +103 -11
- package/dist/locale/prompts/ko.js.map +1 -1
- package/dist/locale/types.d.ts +12 -0
- package/dist/locale/types.d.ts.map +1 -1
- package/dist/mcp/mcpClient.d.ts +28 -1
- package/dist/mcp/mcpClient.d.ts.map +1 -1
- package/dist/mcp/mcpClient.js +74 -3
- package/dist/mcp/mcpClient.js.map +1 -1
- package/dist/orchestration/decisionEngine.d.ts +20 -0
- package/dist/orchestration/decisionEngine.d.ts.map +1 -1
- package/dist/orchestration/decisionEngine.js +23 -0
- package/dist/orchestration/decisionEngine.js.map +1 -1
- package/dist/orchestration/taskScheduler.d.ts.map +1 -1
- package/dist/orchestration/taskScheduler.js +12 -1
- package/dist/orchestration/taskScheduler.js.map +1 -1
- package/dist/support/chatBackend.d.ts +18 -0
- package/dist/support/chatBackend.d.ts.map +1 -1
- package/dist/support/chatBackend.js +92 -8
- package/dist/support/chatBackend.js.map +1 -1
- package/dist/support/chatSession.d.ts +51 -0
- package/dist/support/chatSession.d.ts.map +1 -0
- package/dist/support/chatSession.js +134 -0
- package/dist/support/chatSession.js.map +1 -0
- package/dist/support/chatTui.d.ts.map +1 -1
- package/dist/support/chatTui.js +6 -75
- package/dist/support/chatTui.js.map +1 -1
- package/dist/support/concurrencyPool.d.ts +18 -0
- package/dist/support/concurrencyPool.d.ts.map +1 -0
- package/dist/support/concurrencyPool.js +46 -0
- package/dist/support/concurrencyPool.js.map +1 -0
- package/dist/support/dashboardHtml.d.ts +1 -1
- package/dist/support/dashboardHtml.d.ts.map +1 -1
- package/dist/support/dashboardHtml.js +0 -28
- package/dist/support/dashboardHtml.js.map +1 -1
- package/dist/support/editParser.d.ts +26 -0
- package/dist/support/editParser.d.ts.map +1 -1
- package/dist/support/editParser.js +43 -0
- package/dist/support/editParser.js.map +1 -1
- package/dist/support/goalCommand.d.ts +35 -0
- package/dist/support/goalCommand.d.ts.map +1 -0
- package/dist/support/goalCommand.js +112 -0
- package/dist/support/goalCommand.js.map +1 -0
- package/dist/support/index.d.ts +0 -1
- package/dist/support/index.d.ts.map +1 -1
- package/dist/support/index.js +0 -1
- package/dist/support/index.js.map +1 -1
- package/dist/support/web.d.ts.map +1 -1
- package/dist/support/web.js +0 -7
- package/dist/support/web.js.map +1 -1
- package/dist/taskState/store.d.ts +5 -0
- package/dist/taskState/store.d.ts.map +1 -1
- package/dist/taskState/store.js +16 -0
- package/dist/taskState/store.js.map +1 -1
- package/dist/telemetry/telemetry.d.ts +42 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +138 -0
- package/dist/telemetry/telemetry.js.map +1 -0
- package/dist/tui/App.d.ts +20 -0
- package/dist/tui/App.d.ts.map +1 -0
- package/dist/tui/App.js +52 -0
- package/dist/tui/App.js.map +1 -0
- package/dist/tui/chatModel.d.ts +81 -0
- package/dist/tui/chatModel.d.ts.map +1 -0
- package/dist/tui/chatModel.js +129 -0
- package/dist/tui/chatModel.js.map +1 -0
- package/dist/tui/components/AuditBoard.d.ts +10 -0
- package/dist/tui/components/AuditBoard.d.ts.map +1 -0
- package/dist/tui/components/AuditBoard.js +50 -0
- package/dist/tui/components/AuditBoard.js.map +1 -0
- package/dist/tui/components/ChatInput.d.ts +14 -0
- package/dist/tui/components/ChatInput.d.ts.map +1 -0
- package/dist/tui/components/ChatInput.js +46 -0
- package/dist/tui/components/ChatInput.js.map +1 -0
- package/dist/tui/components/ChatLog.d.ts +12 -0
- package/dist/tui/components/ChatLog.d.ts.map +1 -0
- package/dist/tui/components/ChatLog.js +47 -0
- package/dist/tui/components/ChatLog.js.map +1 -0
- package/dist/tui/components/CommandPalette.d.ts +6 -0
- package/dist/tui/components/CommandPalette.d.ts.map +1 -0
- package/dist/tui/components/CommandPalette.js +14 -0
- package/dist/tui/components/CommandPalette.js.map +1 -0
- package/dist/tui/components/ContextBar.d.ts +9 -0
- package/dist/tui/components/ContextBar.d.ts.map +1 -0
- package/dist/tui/components/ContextBar.js +18 -0
- package/dist/tui/components/ContextBar.js.map +1 -0
- package/dist/tui/components/DataTable.d.ts +6 -0
- package/dist/tui/components/DataTable.d.ts.map +1 -0
- package/dist/tui/components/DataTable.js +13 -0
- package/dist/tui/components/DataTable.js.map +1 -0
- package/dist/tui/components/HelpBar.d.ts +2 -0
- package/dist/tui/components/HelpBar.d.ts.map +1 -0
- package/dist/tui/components/HelpBar.js +8 -0
- package/dist/tui/components/HelpBar.js.map +1 -0
- package/dist/tui/components/LiveLog.d.ts +6 -0
- package/dist/tui/components/LiveLog.d.ts.map +1 -0
- package/dist/tui/components/LiveLog.js +10 -0
- package/dist/tui/components/LiveLog.js.map +1 -0
- package/dist/tui/components/LogLine.d.ts +4 -0
- package/dist/tui/components/LogLine.d.ts.map +1 -0
- package/dist/tui/components/LogLine.js +8 -0
- package/dist/tui/components/LogLine.js.map +1 -0
- package/dist/tui/components/SelectList.d.ts +6 -0
- package/dist/tui/components/SelectList.d.ts.map +1 -0
- package/dist/tui/components/SelectList.js +15 -0
- package/dist/tui/components/SelectList.js.map +1 -0
- package/dist/tui/components/StageTimeline.d.ts +7 -0
- package/dist/tui/components/StageTimeline.d.ts.map +1 -0
- package/dist/tui/components/StageTimeline.js +18 -0
- package/dist/tui/components/StageTimeline.js.map +1 -0
- package/dist/tui/components/StatusBar.d.ts +7 -0
- package/dist/tui/components/StatusBar.d.ts.map +1 -0
- package/dist/tui/components/StatusBar.js +8 -0
- package/dist/tui/components/StatusBar.js.map +1 -0
- package/dist/tui/components/SubagentTree.d.ts +10 -0
- package/dist/tui/components/SubagentTree.d.ts.map +1 -0
- package/dist/tui/components/SubagentTree.js +12 -0
- package/dist/tui/components/SubagentTree.js.map +1 -0
- package/dist/tui/components/TabBar.d.ts +5 -0
- package/dist/tui/components/TabBar.d.ts.map +1 -0
- package/dist/tui/components/TabBar.js +9 -0
- package/dist/tui/components/TabBar.js.map +1 -0
- package/dist/tui/components/WorkingIndicator.d.ts +6 -0
- package/dist/tui/components/WorkingIndicator.d.ts.map +1 -0
- package/dist/tui/components/WorkingIndicator.js +20 -0
- package/dist/tui/components/WorkingIndicator.js.map +1 -0
- package/dist/tui/hooks/useMonitor.d.ts +8 -0
- package/dist/tui/hooks/useMonitor.d.ts.map +1 -0
- package/dist/tui/hooks/useMonitor.js +42 -0
- package/dist/tui/hooks/useMonitor.js.map +1 -0
- package/dist/tui/hooks/usePipelineEvents.d.ts +6 -0
- package/dist/tui/hooks/usePipelineEvents.d.ts.map +1 -0
- package/dist/tui/hooks/usePipelineEvents.js +21 -0
- package/dist/tui/hooks/usePipelineEvents.js.map +1 -0
- package/dist/tui/hooks/useTerminalSize.d.ts +6 -0
- package/dist/tui/hooks/useTerminalSize.d.ts.map +1 -0
- package/dist/tui/hooks/useTerminalSize.js +26 -0
- package/dist/tui/hooks/useTerminalSize.js.map +1 -0
- package/dist/tui/index.d.ts +22 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +18 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/inputDebug.d.ts +20 -0
- package/dist/tui/inputDebug.d.ts.map +1 -0
- package/dist/tui/inputDebug.js +42 -0
- package/dist/tui/inputDebug.js.map +1 -0
- package/dist/tui/loadingMessages.d.ts +11 -0
- package/dist/tui/loadingMessages.d.ts.map +1 -0
- package/dist/tui/loadingMessages.js +39 -0
- package/dist/tui/loadingMessages.js.map +1 -0
- package/dist/tui/logFormat.d.ts +10 -0
- package/dist/tui/logFormat.d.ts.map +1 -0
- package/dist/tui/logFormat.js +86 -0
- package/dist/tui/logFormat.js.map +1 -0
- package/dist/tui/markdown.d.ts +3 -0
- package/dist/tui/markdown.d.ts.map +1 -0
- package/dist/tui/markdown.js +33 -0
- package/dist/tui/markdown.js.map +1 -0
- package/dist/tui/monitorApi.d.ts +6 -0
- package/dist/tui/monitorApi.d.ts.map +1 -0
- package/dist/tui/monitorApi.js +35 -0
- package/dist/tui/monitorApi.js.map +1 -0
- package/dist/tui/monitorRows.d.ts +43 -0
- package/dist/tui/monitorRows.d.ts.map +1 -0
- package/dist/tui/monitorRows.js +65 -0
- package/dist/tui/monitorRows.js.map +1 -0
- package/dist/tui/panels/ChatPanel.d.ts +16 -0
- package/dist/tui/panels/ChatPanel.d.ts.map +1 -0
- package/dist/tui/panels/ChatPanel.js +305 -0
- package/dist/tui/panels/ChatPanel.js.map +1 -0
- package/dist/tui/panels/LogsPanel.d.ts +8 -0
- package/dist/tui/panels/LogsPanel.d.ts.map +1 -0
- package/dist/tui/panels/LogsPanel.js +19 -0
- package/dist/tui/panels/LogsPanel.js.map +1 -0
- package/dist/tui/panels/MonitorPanel.d.ts +8 -0
- package/dist/tui/panels/MonitorPanel.d.ts.map +1 -0
- package/dist/tui/panels/MonitorPanel.js +19 -0
- package/dist/tui/panels/MonitorPanel.js.map +1 -0
- package/dist/tui/panels/PipelinePanel.d.ts +6 -0
- package/dist/tui/panels/PipelinePanel.d.ts.map +1 -0
- package/dist/tui/panels/PipelinePanel.js +22 -0
- package/dist/tui/panels/PipelinePanel.js.map +1 -0
- package/dist/tui/pipelineEvents.d.ts +21 -0
- package/dist/tui/pipelineEvents.d.ts.map +1 -0
- package/dist/tui/pipelineEvents.js +30 -0
- package/dist/tui/pipelineEvents.js.map +1 -0
- package/dist/tui/sse.d.ts +24 -0
- package/dist/tui/sse.d.ts.map +1 -0
- package/dist/tui/sse.js +78 -0
- package/dist/tui/sse.js.map +1 -0
- package/dist/tui/subagentTree.d.ts +10 -0
- package/dist/tui/subagentTree.d.ts.map +1 -0
- package/dist/tui/subagentTree.js +30 -0
- package/dist/tui/subagentTree.js.map +1 -0
- package/dist/tui/tabs.d.ts +10 -0
- package/dist/tui/tabs.d.ts.map +1 -0
- package/dist/tui/tabs.js +26 -0
- package/dist/tui/tabs.js.map +1 -0
- package/dist/tui/theme.d.ts +29 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +34 -0
- package/dist/tui/theme.js.map +1 -0
- package/package.json +13 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../../../src/tui/panels/ChatPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface LogsPanelProps {
|
|
2
|
+
/** Daemon HTTP port; when unset the panel renders idle (no connection). */
|
|
3
|
+
port?: number;
|
|
4
|
+
/** Max log lines to show (default 30). */
|
|
5
|
+
max?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function LogsPanel({ port, max }: LogsPanelProps): import("react").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=LogsPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogsPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/panels/LogsPanel.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,GAAQ,EAAE,EAAE,cAAc,+BAmB3D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// LogsPanel — the Logs tab: live daemon log stream (INT-1962). Reuses the SSE
|
|
3
|
+
// subscription (usePipelineEvents) and the LiveLog presenter; a fuller, timeline-
|
|
4
|
+
// free view of the same log lines the Pipeline tab shows.
|
|
5
|
+
import { Box, Text } from 'ink';
|
|
6
|
+
import { LiveLog } from '../components/LiveLog.js';
|
|
7
|
+
import { usePipelineEvents } from '../hooks/usePipelineEvents.js';
|
|
8
|
+
import { theme } from '../theme.js';
|
|
9
|
+
export function LogsPanel({ port, max = 30 }) {
|
|
10
|
+
const { logs, connected } = usePipelineEvents(port);
|
|
11
|
+
const live = !!port && connected;
|
|
12
|
+
const label = !port
|
|
13
|
+
? ' daemon port unknown — start the daemon to stream logs'
|
|
14
|
+
: connected
|
|
15
|
+
? ` live (:${port})`
|
|
16
|
+
: ` connecting :${port}…`;
|
|
17
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: live ? theme.ok : theme.dim, children: live ? '●' : '○' }), _jsx(Text, { dimColor: true, children: label })] }), _jsx(Box, { marginTop: 1, children: _jsx(LiveLog, { logs: logs, max: max }) })] }));
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=LogsPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogsPanel.js","sourceRoot":"","sources":["../../../src/tui/panels/LogsPanel.tsx"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,kFAAkF;AAClF,0DAA0D;AAC1D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AASpC,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,EAAkB;IAC1D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,IAAI;QACjB,CAAC,CAAC,wDAAwD;QAC1D,CAAC,CAAC,SAAS;YACT,CAAC,CAAC,WAAW,IAAI,GAAG;YACpB,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC;IAC9B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,YAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,EACnE,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,GAAQ,IACxB,EACP,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAI,GAC7B,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Table } from '../monitorRows.js';
|
|
2
|
+
export interface MonitorPanelProps {
|
|
3
|
+
port?: number;
|
|
4
|
+
fetcher: (port: number) => Promise<Table>;
|
|
5
|
+
empty?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function MonitorPanel({ port, fetcher, empty }: MonitorPanelProps): import("react").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=MonitorPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonitorPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/panels/MonitorPanel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,iBAAiB,+BAMvE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// MonitorPanel — generic daemon-data tab (EPIC INT-1813 S6 / INT-1939).
|
|
3
|
+
// Polls a fetcher and renders the resulting table; used by Projects/Tasks/
|
|
4
|
+
// Stuck/Issues. Boundary (useMonitor); DataTable + mappers carry tested logic.
|
|
5
|
+
import { Text } from 'ink';
|
|
6
|
+
import { DataTable } from '../components/DataTable.js';
|
|
7
|
+
import { useMonitor } from '../hooks/useMonitor.js';
|
|
8
|
+
import { theme } from '../theme.js';
|
|
9
|
+
export function MonitorPanel({ port, fetcher, empty }) {
|
|
10
|
+
const { table, error, loading } = useMonitor(port, fetcher);
|
|
11
|
+
if (!port)
|
|
12
|
+
return _jsx(Text, { dimColor: true, children: "\u25CB daemon port unknown" });
|
|
13
|
+
if (error)
|
|
14
|
+
return _jsx(Text, { color: theme.err, children: `load failed: ${error}` });
|
|
15
|
+
if (!table)
|
|
16
|
+
return _jsx(Text, { dimColor: true, children: loading ? 'loading…' : '(no data)' });
|
|
17
|
+
return _jsx(DataTable, { columns: table.columns, rows: table.rows, empty: empty });
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=MonitorPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonitorPanel.js","sourceRoot":"","sources":["../../../src/tui/panels/MonitorPanel.tsx"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,2EAA2E;AAC3E,+EAA+E;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AASpC,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAqB;IACtE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,KAAC,IAAI,IAAC,QAAQ,iDAA6B,CAAC;IAC9D,IAAI,KAAK;QAAE,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,GAAG,YAAG,gBAAgB,KAAK,EAAE,GAAQ,CAAC;IAC3E,IAAI,CAAC,KAAK;QAAE,OAAO,KAAC,IAAI,IAAC,QAAQ,kBAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,GAAQ,CAAC;IAC9E,OAAO,KAAC,SAAS,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface PipelinePanelProps {
|
|
2
|
+
/** Daemon HTTP port; when unset the panel renders idle (no connection). */
|
|
3
|
+
port?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare function PipelinePanel({ port }: PipelinePanelProps): import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=PipelinePanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PipelinePanel.d.ts","sourceRoot":"","sources":["../../../src/tui/panels/PipelinePanel.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,+BAuBzD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// PipelinePanel — the Pipeline observability tab (EPIC INT-1813 S5 / INT-1938).
|
|
3
|
+
// Subscribes to the daemon SSE stream and shows the stage timeline + live log,
|
|
4
|
+
// the CLI counterpart of the web dashboard's PIPELINE tab.
|
|
5
|
+
import { Box, Text } from 'ink';
|
|
6
|
+
import { StageTimeline } from '../components/StageTimeline.js';
|
|
7
|
+
import { SubagentTree } from '../components/SubagentTree.js';
|
|
8
|
+
import { LiveLog } from '../components/LiveLog.js';
|
|
9
|
+
import { usePipelineEvents } from '../hooks/usePipelineEvents.js';
|
|
10
|
+
import { buildSubagentTree } from '../subagentTree.js';
|
|
11
|
+
import { theme } from '../theme.js';
|
|
12
|
+
export function PipelinePanel({ port }) {
|
|
13
|
+
const { stages, logs, connected } = usePipelineEvents(port);
|
|
14
|
+
const live = !!port && connected;
|
|
15
|
+
const label = !port
|
|
16
|
+
? ' daemon port unknown'
|
|
17
|
+
: connected
|
|
18
|
+
? ` live (:${port})`
|
|
19
|
+
: ` connecting :${port}…`;
|
|
20
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: live ? theme.ok : theme.dim, children: live ? '●' : '○' }), _jsx(Text, { dimColor: true, children: label })] }), _jsx(SubagentTree, { tasks: buildSubagentTree(stages) }), _jsx(Box, { marginTop: 1, children: _jsx(StageTimeline, { stages: stages }) }), _jsx(Box, { marginTop: 1, children: _jsx(LiveLog, { logs: logs }) })] }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=PipelinePanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PipelinePanel.js","sourceRoot":"","sources":["../../../src/tui/panels/PipelinePanel.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+EAA+E;AAC/E,2DAA2D;AAC3D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAAsB;IACxD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,IAAI;QACjB,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,WAAW,IAAI,GAAG;YACpB,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC;IAC5B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,YAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,EACnE,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,GAAQ,IACxB,EACP,KAAC,YAAY,IAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAI,EAClD,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,GAAI,GAC7B,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,GAAI,GACnB,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { HubEvent } from '../core/eventHub.js';
|
|
2
|
+
export interface StageEntry {
|
|
3
|
+
taskId: string;
|
|
4
|
+
stage: string;
|
|
5
|
+
status: 'start' | 'complete' | 'fail';
|
|
6
|
+
model?: string;
|
|
7
|
+
durationMs?: number;
|
|
8
|
+
costUsd?: number;
|
|
9
|
+
decision?: 'approve' | 'revise' | 'reject';
|
|
10
|
+
summary?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface PipelineState {
|
|
13
|
+
stages: StageEntry[];
|
|
14
|
+
logs: string[];
|
|
15
|
+
}
|
|
16
|
+
export declare const MAX_STAGES = 100;
|
|
17
|
+
export declare const MAX_LOGS = 200;
|
|
18
|
+
export declare const initialPipelineState: PipelineState;
|
|
19
|
+
/** Fold one HubEvent into pipeline state (reducer shape: (state, action)). */
|
|
20
|
+
export declare function reducePipelineEvent(state: PipelineState, ev: HubEvent): PipelineState;
|
|
21
|
+
//# sourceMappingURL=pipelineEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipelineEvents.d.ts","sourceRoot":"","sources":["../../src/tui/pipelineEvents.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,QAAQ,MAAM,CAAC;AAE5B,eAAO,MAAM,oBAAoB,EAAE,aAAwC,CAAC;AAE5E,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,GAAG,aAAa,CAmBrF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// OpenSwarm - Pipeline event reducer (EPIC INT-1813 S5 / INT-1938)
|
|
3
|
+
// Pure reduction of HubEvents into the state the Pipeline tab renders — stage
|
|
4
|
+
// timeline + live log. No React/ink/network; unit-testable.
|
|
5
|
+
// ============================================
|
|
6
|
+
export const MAX_STAGES = 100;
|
|
7
|
+
export const MAX_LOGS = 200;
|
|
8
|
+
export const initialPipelineState = { stages: [], logs: [] };
|
|
9
|
+
/** Fold one HubEvent into pipeline state (reducer shape: (state, action)). */
|
|
10
|
+
export function reducePipelineEvent(state, ev) {
|
|
11
|
+
if (ev.type === 'pipeline:stage') {
|
|
12
|
+
const d = ev.data;
|
|
13
|
+
const entry = {
|
|
14
|
+
taskId: d.taskId,
|
|
15
|
+
stage: d.stage,
|
|
16
|
+
status: d.status,
|
|
17
|
+
model: d.model,
|
|
18
|
+
durationMs: d.durationMs,
|
|
19
|
+
costUsd: d.costUsd,
|
|
20
|
+
decision: d.decision,
|
|
21
|
+
summary: d.summary,
|
|
22
|
+
};
|
|
23
|
+
return { ...state, stages: [...state.stages, entry].slice(-MAX_STAGES) };
|
|
24
|
+
}
|
|
25
|
+
if (ev.type === 'log') {
|
|
26
|
+
return { ...state, logs: [...state.logs, `[${ev.data.stage}] ${ev.data.line}`].slice(-MAX_LOGS) };
|
|
27
|
+
}
|
|
28
|
+
return state;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=pipelineEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipelineEvents.js","sourceRoot":"","sources":["../../src/tui/pipelineEvents.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,mEAAmE;AACnE,8EAA8E;AAC9E,4DAA4D;AAC5D,+CAA+C;AAoB/C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAE5B,MAAM,CAAC,MAAM,oBAAoB,GAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAE5E,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,KAAoB,EAAE,EAAY;IACpE,IAAI,EAAE,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClB,MAAM,KAAK,GAAe;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC;QACF,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAC3E,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { HubEvent } from '../core/eventHub.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parse accumulated SSE text into events + the leftover (incomplete) tail.
|
|
4
|
+
* Wire format (eventHub): `data: <json>\n\n` per event. Malformed frames are
|
|
5
|
+
* skipped rather than throwing, so one bad frame can't kill the stream.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseSseFrames(buffer: string): {
|
|
8
|
+
events: HubEvent[];
|
|
9
|
+
rest: string;
|
|
10
|
+
};
|
|
11
|
+
export interface EventStreamHandle {
|
|
12
|
+
close: () => void;
|
|
13
|
+
}
|
|
14
|
+
export interface EventStreamOptions {
|
|
15
|
+
port: number;
|
|
16
|
+
host?: string;
|
|
17
|
+
onEvent: (event: HubEvent) => void;
|
|
18
|
+
onStatus?: (connected: boolean) => void;
|
|
19
|
+
/** Reconnect delay in ms after a drop/error (default 2000). */
|
|
20
|
+
reconnectMs?: number;
|
|
21
|
+
}
|
|
22
|
+
/** Subscribe to the daemon's /api/events SSE stream, auto-reconnecting on drop. */
|
|
23
|
+
export declare function connectEventStream(opts: EventStreamOptions): EventStreamHandle;
|
|
24
|
+
//# sourceMappingURL=sse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/tui/sse.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoBnF;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,CA0C9E"}
|
package/dist/tui/sse.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// OpenSwarm - SSE client for the daemon event stream (EPIC INT-1813 S5)
|
|
3
|
+
// parseSseFrames is pure (unit-tested); connectEventStream is the network
|
|
4
|
+
// boundary that GETs /api/events and feeds parsed HubEvents to a callback,
|
|
5
|
+
// replacing the old 5-second poll in the TUI.
|
|
6
|
+
// ============================================
|
|
7
|
+
import http from 'node:http';
|
|
8
|
+
/**
|
|
9
|
+
* Parse accumulated SSE text into events + the leftover (incomplete) tail.
|
|
10
|
+
* Wire format (eventHub): `data: <json>\n\n` per event. Malformed frames are
|
|
11
|
+
* skipped rather than throwing, so one bad frame can't kill the stream.
|
|
12
|
+
*/
|
|
13
|
+
export function parseSseFrames(buffer) {
|
|
14
|
+
const events = [];
|
|
15
|
+
let rest = buffer;
|
|
16
|
+
let idx;
|
|
17
|
+
while ((idx = rest.indexOf('\n\n')) !== -1) {
|
|
18
|
+
const frame = rest.slice(0, idx);
|
|
19
|
+
rest = rest.slice(idx + 2);
|
|
20
|
+
for (const line of frame.split('\n')) {
|
|
21
|
+
const trimmed = line.trimStart();
|
|
22
|
+
if (!trimmed.startsWith('data:'))
|
|
23
|
+
continue;
|
|
24
|
+
const json = trimmed.slice(5).trim();
|
|
25
|
+
if (!json)
|
|
26
|
+
continue;
|
|
27
|
+
try {
|
|
28
|
+
events.push(JSON.parse(json));
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// skip a malformed frame
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return { events, rest };
|
|
36
|
+
}
|
|
37
|
+
/** Subscribe to the daemon's /api/events SSE stream, auto-reconnecting on drop. */
|
|
38
|
+
export function connectEventStream(opts) {
|
|
39
|
+
const host = opts.host ?? '127.0.0.1';
|
|
40
|
+
const reconnectMs = opts.reconnectMs ?? 2000;
|
|
41
|
+
let buffer = '';
|
|
42
|
+
let closed = false;
|
|
43
|
+
let req = null;
|
|
44
|
+
let timer = null;
|
|
45
|
+
const scheduleReconnect = () => {
|
|
46
|
+
opts.onStatus?.(false);
|
|
47
|
+
if (closed)
|
|
48
|
+
return;
|
|
49
|
+
timer = setTimeout(connect, reconnectMs);
|
|
50
|
+
};
|
|
51
|
+
function connect() {
|
|
52
|
+
if (closed)
|
|
53
|
+
return;
|
|
54
|
+
req = http.get({ host, port: opts.port, path: '/api/events', headers: { Accept: 'text/event-stream' } }, (res) => {
|
|
55
|
+
opts.onStatus?.(true);
|
|
56
|
+
res.setEncoding('utf-8');
|
|
57
|
+
res.on('data', (chunk) => {
|
|
58
|
+
buffer += chunk;
|
|
59
|
+
const { events, rest } = parseSseFrames(buffer);
|
|
60
|
+
buffer = rest;
|
|
61
|
+
for (const e of events)
|
|
62
|
+
opts.onEvent(e);
|
|
63
|
+
});
|
|
64
|
+
res.on('end', scheduleReconnect);
|
|
65
|
+
});
|
|
66
|
+
req.on('error', scheduleReconnect);
|
|
67
|
+
}
|
|
68
|
+
connect();
|
|
69
|
+
return {
|
|
70
|
+
close: () => {
|
|
71
|
+
closed = true;
|
|
72
|
+
if (timer)
|
|
73
|
+
clearTimeout(timer);
|
|
74
|
+
req?.destroy();
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=sse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/tui/sse.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,wEAAwE;AACxE,0EAA0E;AAC1E,2EAA2E;AAC3E,8CAA8C;AAC9C,+CAA+C;AAE/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,GAAW,CAAC;IAChB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAeD,mFAAmF;AACnF,MAAM,UAAU,kBAAkB,CAAC,IAAwB;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,GAAG,GAA8B,IAAI,CAAC;IAC1C,IAAI,KAAK,GAAyC,IAAI,CAAC;IAEvD,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,MAAM;YAAE,OAAO;QACnB,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,SAAS,OAAO;QACd,IAAI,MAAM;YAAE,OAAO;QACnB,GAAG,GAAG,IAAI,CAAC,GAAG,CACZ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EACxF,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;YACtB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC/B,MAAM,IAAI,KAAK,CAAC;gBAChB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,GAAG,IAAI,CAAC;gBACd,KAAK,MAAM,CAAC,IAAI,MAAM;oBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACnC,CAAC,CACF,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,CAAC;IAEV,OAAO;QACL,KAAK,EAAE,GAAG,EAAE;YACV,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,EAAE,OAAO,EAAE,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { StageEntry } from './pipelineEvents.js';
|
|
2
|
+
export type TaskStatus = 'start' | 'complete' | 'fail';
|
|
3
|
+
export interface TaskNode {
|
|
4
|
+
taskId: string;
|
|
5
|
+
stages: StageEntry[];
|
|
6
|
+
/** Rolled-up status: fail if any stage failed, complete if all complete, else running. */
|
|
7
|
+
status: TaskStatus;
|
|
8
|
+
}
|
|
9
|
+
export declare function buildSubagentTree(stages: StageEntry[]): TaskNode[];
|
|
10
|
+
//# sourceMappingURL=subagentTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagentTree.d.ts","sourceRoot":"","sources":["../../src/tui/subagentTree.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,0FAA0F;IAC1F,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAYlE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// OpenSwarm - Subagent tree (EPIC INT-1813 S7 / INT-1940)
|
|
3
|
+
// Pure grouping of pipeline stage entries into a per-task (per-worktree) tree —
|
|
4
|
+
// the Claude-Code-subagent view of concurrent runs. Derived from the existing
|
|
5
|
+
// taskId-keyed events (each worktree task = one node, its stages = children), so
|
|
6
|
+
// no new backend event stream is required to surface the tree.
|
|
7
|
+
// ============================================
|
|
8
|
+
export function buildSubagentTree(stages) {
|
|
9
|
+
const byTask = new Map();
|
|
10
|
+
for (const s of stages) {
|
|
11
|
+
const arr = byTask.get(s.taskId);
|
|
12
|
+
if (arr)
|
|
13
|
+
arr.push(s);
|
|
14
|
+
else
|
|
15
|
+
byTask.set(s.taskId, [s]);
|
|
16
|
+
}
|
|
17
|
+
return [...byTask.entries()].map(([taskId, taskStages]) => ({
|
|
18
|
+
taskId,
|
|
19
|
+
stages: taskStages,
|
|
20
|
+
status: rollUp(taskStages),
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
function rollUp(stages) {
|
|
24
|
+
if (stages.some((s) => s.status === 'fail'))
|
|
25
|
+
return 'fail';
|
|
26
|
+
if (stages.length > 0 && stages.every((s) => s.status === 'complete'))
|
|
27
|
+
return 'complete';
|
|
28
|
+
return 'start';
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=subagentTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagentTree.js","sourceRoot":"","sources":["../../src/tui/subagentTree.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,0DAA0D;AAC1D,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,+DAA+D;AAC/D,+CAA+C;AAa/C,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAChB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM;QACN,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;KAC3B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,MAAM,CAAC,MAAoB;IAClC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACzF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface TabDef {
|
|
2
|
+
id: 'chat' | 'pipeline' | 'projects' | 'tasks' | 'stuck' | 'issues' | 'logs';
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const TABS: readonly TabDef[];
|
|
6
|
+
/** Move `current` by `delta` with wraparound across the tab count. */
|
|
7
|
+
export declare function nextTab(current: number, delta: number, total?: number): number;
|
|
8
|
+
/** Map a 1-based digit key to a 0-based tab index, or null if out of range. */
|
|
9
|
+
export declare function tabFromDigit(input: string): number | null;
|
|
10
|
+
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/tui/tabs.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7E,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,IAAI,EAAE,SAAS,MAAM,EAQjC,CAAC;AAEF,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAoB,GAAG,MAAM,CAE3F;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIzD"}
|
package/dist/tui/tabs.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// OpenSwarm - TUI tab registry (EPIC INT-1813 S3 / INT-1936)
|
|
3
|
+
// Pure tab definitions + navigation math — no React/ink, unit-testable.
|
|
4
|
+
// Mirrors the 6 panels of the blessed cockpit (chatTui createUI).
|
|
5
|
+
// ============================================
|
|
6
|
+
export const TABS = [
|
|
7
|
+
{ id: 'chat', label: 'Chat' },
|
|
8
|
+
{ id: 'pipeline', label: 'Pipeline' },
|
|
9
|
+
{ id: 'projects', label: 'Projects' },
|
|
10
|
+
{ id: 'tasks', label: 'Tasks' },
|
|
11
|
+
{ id: 'stuck', label: 'Stuck' },
|
|
12
|
+
{ id: 'issues', label: 'Issues' },
|
|
13
|
+
{ id: 'logs', label: 'Logs' },
|
|
14
|
+
];
|
|
15
|
+
/** Move `current` by `delta` with wraparound across the tab count. */
|
|
16
|
+
export function nextTab(current, delta, total = TABS.length) {
|
|
17
|
+
return (((current + delta) % total) + total) % total;
|
|
18
|
+
}
|
|
19
|
+
/** Map a 1-based digit key to a 0-based tab index, or null if out of range. */
|
|
20
|
+
export function tabFromDigit(input) {
|
|
21
|
+
const n = Number(input);
|
|
22
|
+
if (!Number.isInteger(n) || n < 1 || n > TABS.length)
|
|
23
|
+
return null;
|
|
24
|
+
return n - 1;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/tui/tabs.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,6DAA6D;AAC7D,wEAAwE;AACxE,kEAAkE;AAClE,+CAA+C;AAO/C,MAAM,CAAC,MAAM,IAAI,GAAsB;IACrC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAC7B,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACrC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACrC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACjC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CAC9B,CAAC;AAEF,sEAAsE;AACtE,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,KAAa,EAAE,QAAgB,IAAI,CAAC,MAAM;IACjF,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AACvD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare const theme: {
|
|
2
|
+
readonly accent: "cyan";
|
|
3
|
+
readonly accentAlt: "magentaBright";
|
|
4
|
+
readonly user: "cyan";
|
|
5
|
+
readonly assistant: "white";
|
|
6
|
+
readonly system: "yellow";
|
|
7
|
+
readonly dim: "gray";
|
|
8
|
+
readonly ok: "green";
|
|
9
|
+
readonly warn: "yellow";
|
|
10
|
+
readonly err: "red";
|
|
11
|
+
readonly running: "yellow";
|
|
12
|
+
readonly info: "blue";
|
|
13
|
+
readonly border: "gray";
|
|
14
|
+
readonly borderActive: "cyan";
|
|
15
|
+
};
|
|
16
|
+
export declare const ICON: {
|
|
17
|
+
readonly user: "▸";
|
|
18
|
+
readonly assistant: "◆";
|
|
19
|
+
readonly system: "•";
|
|
20
|
+
readonly tool: "⦿";
|
|
21
|
+
readonly ok: "✓";
|
|
22
|
+
readonly fail: "✗";
|
|
23
|
+
readonly running: "◐";
|
|
24
|
+
readonly prompt: "›";
|
|
25
|
+
readonly git: "⎇";
|
|
26
|
+
};
|
|
27
|
+
/** Gradient stops for the OpenSwarm wordmark (ink-gradient `colors`). */
|
|
28
|
+
export declare const LOGO_GRADIENT: string[];
|
|
29
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;CAcR,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;CAUP,CAAC;AAEX,yEAAyE;AACzE,eAAO,MAAM,aAAa,UAAoC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// OpenSwarm - TUI theme (INT-1943)
|
|
3
|
+
// Single source of colors + glyphs for the Ink cockpit, so the chat-first
|
|
4
|
+
// redesign stays visually consistent.
|
|
5
|
+
// ============================================
|
|
6
|
+
export const theme = {
|
|
7
|
+
accent: 'cyan',
|
|
8
|
+
accentAlt: 'magentaBright',
|
|
9
|
+
user: 'cyan',
|
|
10
|
+
assistant: 'white',
|
|
11
|
+
system: 'yellow',
|
|
12
|
+
dim: 'gray',
|
|
13
|
+
ok: 'green',
|
|
14
|
+
warn: 'yellow',
|
|
15
|
+
err: 'red',
|
|
16
|
+
running: 'yellow',
|
|
17
|
+
info: 'blue',
|
|
18
|
+
border: 'gray',
|
|
19
|
+
borderActive: 'cyan',
|
|
20
|
+
};
|
|
21
|
+
export const ICON = {
|
|
22
|
+
user: '▸',
|
|
23
|
+
assistant: '◆',
|
|
24
|
+
system: '•',
|
|
25
|
+
tool: '⦿',
|
|
26
|
+
ok: '✓',
|
|
27
|
+
fail: '✗',
|
|
28
|
+
running: '◐',
|
|
29
|
+
prompt: '›',
|
|
30
|
+
git: '⎇',
|
|
31
|
+
};
|
|
32
|
+
/** Gradient stops for the OpenSwarm wordmark (ink-gradient `colors`). */
|
|
33
|
+
export const LOGO_GRADIENT = ['#22d3ee', '#3b82f6', '#a855f7'];
|
|
34
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,mCAAmC;AACnC,0EAA0E;AAC1E,sCAAsC;AACtC,+CAA+C;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,MAAM;IACX,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,MAAM;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;CACA,CAAC;AAEX,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intrect/openswarm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "Autonomous AI agent orchestrator — Claude, GPT, Codex, and local models (Ollama/LMStudio/llama.cpp)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -54,20 +54,29 @@
|
|
|
54
54
|
"@xenova/transformers": "^2.17.2",
|
|
55
55
|
"apache-arrow": "^18.1.0",
|
|
56
56
|
"better-sqlite3": "^12.8.0",
|
|
57
|
-
"
|
|
57
|
+
"cli-highlight": "^2.1.11",
|
|
58
58
|
"commander": "^12.1.0",
|
|
59
59
|
"croner": "^8.0.0",
|
|
60
60
|
"discord.js": "^14.14.1",
|
|
61
|
+
"fullscreen-ink": "^0.1.0",
|
|
61
62
|
"graphql": "^16.13.2",
|
|
62
63
|
"graphql-yoga": "^5.19.0",
|
|
64
|
+
"ink": "^7.1.0",
|
|
65
|
+
"ink-gradient": "^4.0.1",
|
|
66
|
+
"ink-spinner": "^5.0.0",
|
|
67
|
+
"marked": "^15.0.12",
|
|
68
|
+
"marked-terminal": "^7.3.0",
|
|
63
69
|
"nanoid": "^5.1.7",
|
|
70
|
+
"react": "^19.2.7",
|
|
64
71
|
"yaml": "^2.8.2",
|
|
65
72
|
"zod": "^4.3.6"
|
|
66
73
|
},
|
|
67
74
|
"devDependencies": {
|
|
68
75
|
"@types/node": "^22.0.0",
|
|
76
|
+
"@types/react": "^19.2.17",
|
|
69
77
|
"@vitest/coverage-v8": "^4.0.18",
|
|
70
78
|
"bun-types": "^1.1.0",
|
|
79
|
+
"ink-testing-library": "^4.0.0",
|
|
71
80
|
"oxlint": "^1.43.0",
|
|
72
81
|
"playwright": "^1.47.0",
|
|
73
82
|
"tsx": "^4.21.0",
|
|
@@ -78,6 +87,7 @@
|
|
|
78
87
|
"node": ">=22"
|
|
79
88
|
},
|
|
80
89
|
"overrides": {
|
|
81
|
-
"protobufjs": "^7.
|
|
90
|
+
"protobufjs": "^7.6.3",
|
|
91
|
+
"undici": "^6.27.0"
|
|
82
92
|
}
|
|
83
93
|
}
|