@intrect/openswarm 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +544 -0
- package/config.example.yaml +107 -0
- package/dist/adapters/base.d.ts +8 -0
- package/dist/adapters/base.d.ts.map +1 -0
- package/dist/adapters/base.js +104 -0
- package/dist/adapters/base.js.map +1 -0
- package/dist/adapters/claude.d.ts +13 -0
- package/dist/adapters/claude.d.ts.map +1 -0
- package/dist/adapters/claude.js +318 -0
- package/dist/adapters/claude.js.map +1 -0
- package/dist/adapters/codex.d.ts +14 -0
- package/dist/adapters/codex.d.ts.map +1 -0
- package/dist/adapters/codex.js +366 -0
- package/dist/adapters/codex.js.map +1 -0
- package/dist/adapters/cryptoQuantAdapter.d.ts +85 -0
- package/dist/adapters/cryptoQuantAdapter.d.ts.map +1 -0
- package/dist/adapters/cryptoQuantAdapter.js +238 -0
- package/dist/adapters/cryptoQuantAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +17 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +47 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/processRegistry.d.ts +38 -0
- package/dist/adapters/processRegistry.d.ts.map +1 -0
- package/dist/adapters/processRegistry.js +147 -0
- package/dist/adapters/processRegistry.js.map +1 -0
- package/dist/adapters/streamBuffer.d.ts +59 -0
- package/dist/adapters/streamBuffer.d.ts.map +1 -0
- package/dist/adapters/streamBuffer.js +123 -0
- package/dist/adapters/streamBuffer.js.map +1 -0
- package/dist/adapters/types.d.ts +65 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +6 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/agents/agentBus.d.ts +160 -0
- package/dist/agents/agentBus.d.ts.map +1 -0
- package/dist/agents/agentBus.js +350 -0
- package/dist/agents/agentBus.js.map +1 -0
- package/dist/agents/agentPair.d.ts +210 -0
- package/dist/agents/agentPair.d.ts.map +1 -0
- package/dist/agents/agentPair.js +420 -0
- package/dist/agents/agentPair.js.map +1 -0
- package/dist/agents/auditor.d.ts +27 -0
- package/dist/agents/auditor.d.ts.map +1 -0
- package/dist/agents/auditor.js +237 -0
- package/dist/agents/auditor.js.map +1 -0
- package/dist/agents/cliStreamParser.d.ts +18 -0
- package/dist/agents/cliStreamParser.d.ts.map +1 -0
- package/dist/agents/cliStreamParser.js +156 -0
- package/dist/agents/cliStreamParser.js.map +1 -0
- package/dist/agents/documenter.d.ts +31 -0
- package/dist/agents/documenter.d.ts.map +1 -0
- package/dist/agents/documenter.js +285 -0
- package/dist/agents/documenter.js.map +1 -0
- package/dist/agents/index.d.ts +10 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +10 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/pairMetrics.d.ts +63 -0
- package/dist/agents/pairMetrics.d.ts.map +1 -0
- package/dist/agents/pairMetrics.js +231 -0
- package/dist/agents/pairMetrics.js.map +1 -0
- package/dist/agents/pairPipeline.d.ts +155 -0
- package/dist/agents/pairPipeline.d.ts.map +1 -0
- package/dist/agents/pairPipeline.js +793 -0
- package/dist/agents/pairPipeline.js.map +1 -0
- package/dist/agents/pairWebhook.d.ts +59 -0
- package/dist/agents/pairWebhook.d.ts.map +1 -0
- package/dist/agents/pairWebhook.js +242 -0
- package/dist/agents/pairWebhook.js.map +1 -0
- package/dist/agents/pipelineFormat.d.ts +11 -0
- package/dist/agents/pipelineFormat.d.ts.map +1 -0
- package/dist/agents/pipelineFormat.js +164 -0
- package/dist/agents/pipelineFormat.js.map +1 -0
- package/dist/agents/pipelineGuards.d.ts +23 -0
- package/dist/agents/pipelineGuards.d.ts.map +1 -0
- package/dist/agents/pipelineGuards.js +175 -0
- package/dist/agents/pipelineGuards.js.map +1 -0
- package/dist/agents/reviewer.d.ts +37 -0
- package/dist/agents/reviewer.d.ts.map +1 -0
- package/dist/agents/reviewer.js +213 -0
- package/dist/agents/reviewer.js.map +1 -0
- package/dist/agents/skillDocumenter.d.ts +23 -0
- package/dist/agents/skillDocumenter.d.ts.map +1 -0
- package/dist/agents/skillDocumenter.js +218 -0
- package/dist/agents/skillDocumenter.js.map +1 -0
- package/dist/agents/tester.d.ts +37 -0
- package/dist/agents/tester.d.ts.map +1 -0
- package/dist/agents/tester.js +308 -0
- package/dist/agents/tester.js.map +1 -0
- package/dist/agents/worker.d.ts +30 -0
- package/dist/agents/worker.d.ts.map +1 -0
- package/dist/agents/worker.js +128 -0
- package/dist/agents/worker.js.map +1 -0
- package/dist/automation/autonomousRunner.d.ts +123 -0
- package/dist/automation/autonomousRunner.d.ts.map +1 -0
- package/dist/automation/autonomousRunner.js +1082 -0
- package/dist/automation/autonomousRunner.js.map +1 -0
- package/dist/automation/ciWorker.d.ts +51 -0
- package/dist/automation/ciWorker.d.ts.map +1 -0
- package/dist/automation/ciWorker.js +282 -0
- package/dist/automation/ciWorker.js.map +1 -0
- package/dist/automation/conflictResolver.d.ts +29 -0
- package/dist/automation/conflictResolver.d.ts.map +1 -0
- package/dist/automation/conflictResolver.js +261 -0
- package/dist/automation/conflictResolver.js.map +1 -0
- package/dist/automation/dailyReporter.d.ts +26 -0
- package/dist/automation/dailyReporter.d.ts.map +1 -0
- package/dist/automation/dailyReporter.js +132 -0
- package/dist/automation/dailyReporter.js.map +1 -0
- package/dist/automation/index.d.ts +7 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js +7 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/longRunningMonitor.d.ts +26 -0
- package/dist/automation/longRunningMonitor.d.ts.map +1 -0
- package/dist/automation/longRunningMonitor.js +231 -0
- package/dist/automation/longRunningMonitor.js.map +1 -0
- package/dist/automation/prOwnership.d.ts +18 -0
- package/dist/automation/prOwnership.d.ts.map +1 -0
- package/dist/automation/prOwnership.js +61 -0
- package/dist/automation/prOwnership.js.map +1 -0
- package/dist/automation/prProcessor.d.ts +62 -0
- package/dist/automation/prProcessor.d.ts.map +1 -0
- package/dist/automation/prProcessor.js +700 -0
- package/dist/automation/prProcessor.js.map +1 -0
- package/dist/automation/runnerExecution.d.ts +49 -0
- package/dist/automation/runnerExecution.d.ts.map +1 -0
- package/dist/automation/runnerExecution.js +663 -0
- package/dist/automation/runnerExecution.js.map +1 -0
- package/dist/automation/runnerState.d.ts +170 -0
- package/dist/automation/runnerState.d.ts.map +1 -0
- package/dist/automation/runnerState.js +495 -0
- package/dist/automation/runnerState.js.map +1 -0
- package/dist/automation/runnerTypes.d.ts +46 -0
- package/dist/automation/runnerTypes.d.ts.map +1 -0
- package/dist/automation/runnerTypes.js +5 -0
- package/dist/automation/runnerTypes.js.map +1 -0
- package/dist/automation/scheduler.d.ts +75 -0
- package/dist/automation/scheduler.d.ts.map +1 -0
- package/dist/automation/scheduler.js +394 -0
- package/dist/automation/scheduler.js.map +1 -0
- package/dist/cli/promptHandler.d.ts +13 -0
- package/dist/cli/promptHandler.d.ts.map +1 -0
- package/dist/cli/promptHandler.js +189 -0
- package/dist/cli/promptHandler.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +138 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/config.d.ts +308 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +529 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/eventHub.d.ts +194 -0
- package/dist/core/eventHub.d.ts.map +1 -0
- package/dist/core/eventHub.js +136 -0
- package/dist/core/eventHub.js.map +1 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +6 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/service.d.ts +27 -0
- package/dist/core/service.d.ts.map +1 -0
- package/dist/core/service.js +438 -0
- package/dist/core/service.js.map +1 -0
- package/dist/core/traceCollector.d.ts +105 -0
- package/dist/core/traceCollector.d.ts.map +1 -0
- package/dist/core/traceCollector.js +141 -0
- package/dist/core/traceCollector.js.map +1 -0
- package/dist/core/types.d.ts +413 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/discord/discordCore.d.ts +104 -0
- package/dist/discord/discordCore.d.ts.map +1 -0
- package/dist/discord/discordCore.js +698 -0
- package/dist/discord/discordCore.js.map +1 -0
- package/dist/discord/discordHandlers.d.ts +86 -0
- package/dist/discord/discordHandlers.d.ts.map +1 -0
- package/dist/discord/discordHandlers.js +849 -0
- package/dist/discord/discordHandlers.js.map +1 -0
- package/dist/discord/discordPair.d.ts +6 -0
- package/dist/discord/discordPair.d.ts.map +1 -0
- package/dist/discord/discordPair.js +567 -0
- package/dist/discord/discordPair.js.map +1 -0
- package/dist/discord/index.d.ts +4 -0
- package/dist/discord/index.d.ts.map +1 -0
- package/dist/discord/index.js +11 -0
- package/dist/discord/index.js.map +1 -0
- package/dist/github/github.d.ts +236 -0
- package/dist/github/github.d.ts.map +1 -0
- package/dist/github/github.js +535 -0
- package/dist/github/github.js.map +1 -0
- package/dist/github/index.d.ts +2 -0
- package/dist/github/index.d.ts.map +1 -0
- package/dist/github/index.js +2 -0
- package/dist/github/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +60 -0
- package/dist/index.js.map +1 -0
- package/dist/knowledge/analyzer.d.ts +36 -0
- package/dist/knowledge/analyzer.d.ts.map +1 -0
- package/dist/knowledge/analyzer.js +170 -0
- package/dist/knowledge/analyzer.js.map +1 -0
- package/dist/knowledge/gitInfo.d.ts +10 -0
- package/dist/knowledge/gitInfo.d.ts.map +1 -0
- package/dist/knowledge/gitInfo.js +134 -0
- package/dist/knowledge/gitInfo.js.map +1 -0
- package/dist/knowledge/graph.d.ts +45 -0
- package/dist/knowledge/graph.d.ts.map +1 -0
- package/dist/knowledge/graph.js +262 -0
- package/dist/knowledge/graph.js.map +1 -0
- package/dist/knowledge/graphqlExporter.d.ts +64 -0
- package/dist/knowledge/graphqlExporter.d.ts.map +1 -0
- package/dist/knowledge/graphqlExporter.js +333 -0
- package/dist/knowledge/graphqlExporter.js.map +1 -0
- package/dist/knowledge/index.d.ts +58 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +212 -0
- package/dist/knowledge/index.js.map +1 -0
- package/dist/knowledge/repository.d.ts +64 -0
- package/dist/knowledge/repository.d.ts.map +1 -0
- package/dist/knowledge/repository.js +250 -0
- package/dist/knowledge/repository.js.map +1 -0
- package/dist/knowledge/riskOnAnalyzer.d.ts +79 -0
- package/dist/knowledge/riskOnAnalyzer.d.ts.map +1 -0
- package/dist/knowledge/riskOnAnalyzer.js +243 -0
- package/dist/knowledge/riskOnAnalyzer.js.map +1 -0
- package/dist/knowledge/scanner.d.ts +14 -0
- package/dist/knowledge/scanner.d.ts.map +1 -0
- package/dist/knowledge/scanner.js +350 -0
- package/dist/knowledge/scanner.js.map +1 -0
- package/dist/knowledge/store.d.ts +23 -0
- package/dist/knowledge/store.d.ts.map +1 -0
- package/dist/knowledge/store.js +86 -0
- package/dist/knowledge/store.js.map +1 -0
- package/dist/knowledge/types.d.ts +288 -0
- package/dist/knowledge/types.d.ts.map +1 -0
- package/dist/knowledge/types.js +111 -0
- package/dist/knowledge/types.js.map +1 -0
- package/dist/linear/index.d.ts +3 -0
- package/dist/linear/index.d.ts.map +1 -0
- package/dist/linear/index.js +3 -0
- package/dist/linear/index.js.map +1 -0
- package/dist/linear/linear.d.ts +160 -0
- package/dist/linear/linear.d.ts.map +1 -0
- package/dist/linear/linear.js +983 -0
- package/dist/linear/linear.js.map +1 -0
- package/dist/linear/projectUpdater.d.ts +23 -0
- package/dist/linear/projectUpdater.d.ts.map +1 -0
- package/dist/linear/projectUpdater.js +347 -0
- package/dist/linear/projectUpdater.js.map +1 -0
- package/dist/locale/en.d.ts +3 -0
- package/dist/locale/en.d.ts.map +1 -0
- package/dist/locale/en.js +436 -0
- package/dist/locale/en.js.map +1 -0
- package/dist/locale/index.d.ts +28 -0
- package/dist/locale/index.d.ts.map +1 -0
- package/dist/locale/index.js +89 -0
- package/dist/locale/index.js.map +1 -0
- package/dist/locale/ko.d.ts +3 -0
- package/dist/locale/ko.d.ts.map +1 -0
- package/dist/locale/ko.js +436 -0
- package/dist/locale/ko.js.map +1 -0
- package/dist/locale/prompts/en.d.ts +3 -0
- package/dist/locale/prompts/en.d.ts.map +1 -0
- package/dist/locale/prompts/en.js +278 -0
- package/dist/locale/prompts/en.js.map +1 -0
- package/dist/locale/prompts/ko.d.ts +3 -0
- package/dist/locale/prompts/ko.d.ts.map +1 -0
- package/dist/locale/prompts/ko.js +279 -0
- package/dist/locale/prompts/ko.js.map +1 -0
- package/dist/locale/types.d.ts +407 -0
- package/dist/locale/types.d.ts.map +1 -0
- package/dist/locale/types.js +5 -0
- package/dist/locale/types.js.map +1 -0
- package/dist/memory/codex.d.ts +93 -0
- package/dist/memory/codex.d.ts.map +1 -0
- package/dist/memory/codex.js +366 -0
- package/dist/memory/codex.js.map +1 -0
- package/dist/memory/compaction.d.ts +21 -0
- package/dist/memory/compaction.d.ts.map +1 -0
- package/dist/memory/compaction.js +205 -0
- package/dist/memory/compaction.js.map +1 -0
- package/dist/memory/index.d.ts +13 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +13 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/memoryCore.d.ts +178 -0
- package/dist/memory/memoryCore.d.ts.map +1 -0
- package/dist/memory/memoryCore.js +623 -0
- package/dist/memory/memoryCore.js.map +1 -0
- package/dist/memory/memoryOps.d.ts +90 -0
- package/dist/memory/memoryOps.d.ts.map +1 -0
- package/dist/memory/memoryOps.js +606 -0
- package/dist/memory/memoryOps.js.map +1 -0
- package/dist/orchestration/conflictDetector.d.ts +15 -0
- package/dist/orchestration/conflictDetector.d.ts.map +1 -0
- package/dist/orchestration/conflictDetector.js +130 -0
- package/dist/orchestration/conflictDetector.js.map +1 -0
- package/dist/orchestration/decisionEngine.d.ts +177 -0
- package/dist/orchestration/decisionEngine.d.ts.map +1 -0
- package/dist/orchestration/decisionEngine.js +496 -0
- package/dist/orchestration/decisionEngine.js.map +1 -0
- package/dist/orchestration/index.d.ts +5 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +5 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/taskParser.d.ts +67 -0
- package/dist/orchestration/taskParser.d.ts.map +1 -0
- package/dist/orchestration/taskParser.js +542 -0
- package/dist/orchestration/taskParser.js.map +1 -0
- package/dist/orchestration/taskScheduler.d.ts +141 -0
- package/dist/orchestration/taskScheduler.d.ts.map +1 -0
- package/dist/orchestration/taskScheduler.js +317 -0
- package/dist/orchestration/taskScheduler.js.map +1 -0
- package/dist/orchestration/workflow.d.ts +145 -0
- package/dist/orchestration/workflow.d.ts.map +1 -0
- package/dist/orchestration/workflow.js +301 -0
- package/dist/orchestration/workflow.js.map +1 -0
- package/dist/runners/cliRunner.d.ts +11 -0
- package/dist/runners/cliRunner.d.ts.map +1 -0
- package/dist/runners/cliRunner.js +194 -0
- package/dist/runners/cliRunner.js.map +1 -0
- package/dist/support/apiCache.d.ts +85 -0
- package/dist/support/apiCache.d.ts.map +1 -0
- package/dist/support/apiCache.js +163 -0
- package/dist/support/apiCache.js.map +1 -0
- package/dist/support/chat.d.ts +3 -0
- package/dist/support/chat.d.ts.map +1 -0
- package/dist/support/chat.js +304 -0
- package/dist/support/chat.js.map +1 -0
- package/dist/support/chatBackend.d.ts +25 -0
- package/dist/support/chatBackend.d.ts.map +1 -0
- package/dist/support/chatBackend.js +235 -0
- package/dist/support/chatBackend.js.map +1 -0
- package/dist/support/chatMemory.d.ts +71 -0
- package/dist/support/chatMemory.d.ts.map +1 -0
- package/dist/support/chatMemory.js +119 -0
- package/dist/support/chatMemory.js.map +1 -0
- package/dist/support/chatTui.d.ts +3 -0
- package/dist/support/chatTui.d.ts.map +1 -0
- package/dist/support/chatTui.js +998 -0
- package/dist/support/chatTui.js.map +1 -0
- package/dist/support/costTracker.d.ts +29 -0
- package/dist/support/costTracker.d.ts.map +1 -0
- package/dist/support/costTracker.js +113 -0
- package/dist/support/costTracker.js.map +1 -0
- package/dist/support/dashboardHtml.d.ts +3 -0
- package/dist/support/dashboardHtml.d.ts.map +1 -0
- package/dist/support/dashboardHtml.js +2070 -0
- package/dist/support/dashboardHtml.js.map +1 -0
- package/dist/support/delete-beliefs.d.ts +2 -0
- package/dist/support/delete-beliefs.d.ts.map +1 -0
- package/dist/support/delete-beliefs.js +34 -0
- package/dist/support/delete-beliefs.js.map +1 -0
- package/dist/support/dev.d.ts +55 -0
- package/dist/support/dev.d.ts.map +1 -0
- package/dist/support/dev.js +298 -0
- package/dist/support/dev.js.map +1 -0
- package/dist/support/editParser.d.ts +37 -0
- package/dist/support/editParser.d.ts.map +1 -0
- package/dist/support/editParser.js +365 -0
- package/dist/support/editParser.js.map +1 -0
- package/dist/support/gitStatus.d.ts +21 -0
- package/dist/support/gitStatus.d.ts.map +1 -0
- package/dist/support/gitStatus.js +108 -0
- package/dist/support/gitStatus.js.map +1 -0
- package/dist/support/gitTracker.d.ts +30 -0
- package/dist/support/gitTracker.d.ts.map +1 -0
- package/dist/support/gitTracker.js +143 -0
- package/dist/support/gitTracker.js.map +1 -0
- package/dist/support/index.d.ts +13 -0
- package/dist/support/index.d.ts.map +1 -0
- package/dist/support/index.js +13 -0
- package/dist/support/index.js.map +1 -0
- package/dist/support/planner.d.ts +58 -0
- package/dist/support/planner.d.ts.map +1 -0
- package/dist/support/planner.js +395 -0
- package/dist/support/planner.js.map +1 -0
- package/dist/support/projectMapper.d.ts +46 -0
- package/dist/support/projectMapper.d.ts.map +1 -0
- package/dist/support/projectMapper.js +259 -0
- package/dist/support/projectMapper.js.map +1 -0
- package/dist/support/quotaTracker.d.ts +29 -0
- package/dist/support/quotaTracker.d.ts.map +1 -0
- package/dist/support/quotaTracker.js +89 -0
- package/dist/support/quotaTracker.js.map +1 -0
- package/dist/support/rateLimiter.d.ts +101 -0
- package/dist/support/rateLimiter.d.ts.map +1 -0
- package/dist/support/rateLimiter.js +219 -0
- package/dist/support/rateLimiter.js.map +1 -0
- package/dist/support/rollback.d.ts +61 -0
- package/dist/support/rollback.d.ts.map +1 -0
- package/dist/support/rollback.js +328 -0
- package/dist/support/rollback.js.map +1 -0
- package/dist/support/stuckDetector.d.ts +68 -0
- package/dist/support/stuckDetector.d.ts.map +1 -0
- package/dist/support/stuckDetector.js +174 -0
- package/dist/support/stuckDetector.js.map +1 -0
- package/dist/support/timeWindow.d.ts +60 -0
- package/dist/support/timeWindow.d.ts.map +1 -0
- package/dist/support/timeWindow.js +236 -0
- package/dist/support/timeWindow.js.map +1 -0
- package/dist/support/web.d.ts +11 -0
- package/dist/support/web.d.ts.map +1 -0
- package/dist/support/web.js +938 -0
- package/dist/support/web.js.map +1 -0
- package/dist/support/workflowLinear.d.ts +99 -0
- package/dist/support/workflowLinear.d.ts.map +1 -0
- package/dist/support/workflowLinear.js +257 -0
- package/dist/support/workflowLinear.js.map +1 -0
- package/dist/support/worktreeManager.d.ts +20 -0
- package/dist/support/worktreeManager.d.ts.map +1 -0
- package/dist/support/worktreeManager.js +144 -0
- package/dist/support/worktreeManager.js.map +1 -0
- package/dist/taskState/store.d.ts +101 -0
- package/dist/taskState/store.d.ts.map +1 -0
- package/dist/taskState/store.js +346 -0
- package/dist/taskState/store.js.map +1 -0
- package/package.json +70 -0
- package/templates/AGENTS.md +432 -0
- package/templates/BOOT.md +25 -0
- package/templates/BOOTSTRAP.md +50 -0
- package/templates/CHANGELOG_AUDIT.md +74 -0
- package/templates/HEARTBEAT.md +86 -0
- package/templates/IDENTITY.md +27 -0
- package/templates/ISSUE_ANALYSIS.md +31 -0
- package/templates/PR_LAND.md +75 -0
- package/templates/PR_REVIEW.md +97 -0
- package/templates/SOUL.dev.md +52 -0
- package/templates/SOUL.md +81 -0
- package/templates/TOOLS.md +52 -0
- package/templates/USER.md +22 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// OpenSwarm - Trace Collector
|
|
3
|
+
// 에이전트 실행 추적을 위한 Span 모델 및 TraceCollector
|
|
4
|
+
// ============================================
|
|
5
|
+
import { randomUUID } from 'node:crypto';
|
|
6
|
+
// TraceCollector
|
|
7
|
+
/**
|
|
8
|
+
* 에이전트 실행 추적 수집기
|
|
9
|
+
*
|
|
10
|
+
* 사용법:
|
|
11
|
+
* const traceId = collector.startTrace('agent-run');
|
|
12
|
+
* const spanId = collector.startSpan(traceId, 'worker');
|
|
13
|
+
* const childId = collector.startSpan(traceId, 'tool:git', spanId);
|
|
14
|
+
* collector.endSpan(traceId, childId);
|
|
15
|
+
* collector.endSpan(traceId, spanId);
|
|
16
|
+
* collector.endTrace(traceId);
|
|
17
|
+
*/
|
|
18
|
+
export class TraceCollector {
|
|
19
|
+
traces = new Map();
|
|
20
|
+
/**
|
|
21
|
+
* 새 trace 시작
|
|
22
|
+
* @returns trace ID
|
|
23
|
+
*/
|
|
24
|
+
startTrace(name, metadata = {}) {
|
|
25
|
+
const traceId = randomUUID();
|
|
26
|
+
const trace = {
|
|
27
|
+
traceId,
|
|
28
|
+
name,
|
|
29
|
+
startTime: Date.now(),
|
|
30
|
+
status: 'running',
|
|
31
|
+
spans: [],
|
|
32
|
+
metadata,
|
|
33
|
+
};
|
|
34
|
+
this.traces.set(traceId, trace);
|
|
35
|
+
return traceId;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* trace 종료
|
|
39
|
+
*/
|
|
40
|
+
endTrace(traceId, status = 'completed') {
|
|
41
|
+
const trace = this.traces.get(traceId);
|
|
42
|
+
if (!trace)
|
|
43
|
+
return undefined;
|
|
44
|
+
trace.endTime = Date.now();
|
|
45
|
+
trace.status = status;
|
|
46
|
+
// 아직 running인 span을 모두 종료
|
|
47
|
+
for (const span of trace.spans) {
|
|
48
|
+
if (span.status === 'running') {
|
|
49
|
+
span.endTime = trace.endTime;
|
|
50
|
+
span.status = status;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return trace;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* trace 내에 새 span 시작
|
|
57
|
+
* @param parentSpanId - 부모 span ID (계층 구조용)
|
|
58
|
+
* @returns span ID
|
|
59
|
+
*/
|
|
60
|
+
startSpan(traceId, name, parentSpanId, metadata = {}) {
|
|
61
|
+
const trace = this.traces.get(traceId);
|
|
62
|
+
if (!trace)
|
|
63
|
+
return undefined;
|
|
64
|
+
const spanId = randomUUID();
|
|
65
|
+
const span = {
|
|
66
|
+
spanId,
|
|
67
|
+
traceId,
|
|
68
|
+
parentSpanId,
|
|
69
|
+
name,
|
|
70
|
+
status: 'running',
|
|
71
|
+
startTime: Date.now(),
|
|
72
|
+
metadata,
|
|
73
|
+
};
|
|
74
|
+
trace.spans.push(span);
|
|
75
|
+
return spanId;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* span 종료
|
|
79
|
+
*/
|
|
80
|
+
endSpan(traceId, spanId, status = 'completed') {
|
|
81
|
+
const trace = this.traces.get(traceId);
|
|
82
|
+
if (!trace)
|
|
83
|
+
return undefined;
|
|
84
|
+
const span = trace.spans.find((s) => s.spanId === spanId);
|
|
85
|
+
if (!span)
|
|
86
|
+
return undefined;
|
|
87
|
+
span.endTime = Date.now();
|
|
88
|
+
span.status = status;
|
|
89
|
+
return span;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* span에 에러 기록
|
|
93
|
+
*/
|
|
94
|
+
recordError(traceId, spanId, error) {
|
|
95
|
+
const trace = this.traces.get(traceId);
|
|
96
|
+
if (!trace)
|
|
97
|
+
return false;
|
|
98
|
+
const span = trace.spans.find((s) => s.spanId === spanId);
|
|
99
|
+
if (!span)
|
|
100
|
+
return false;
|
|
101
|
+
span.errorInfo = error;
|
|
102
|
+
span.status = 'failed';
|
|
103
|
+
span.endTime = span.endTime ?? Date.now();
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* trace 조회
|
|
108
|
+
*/
|
|
109
|
+
getTrace(traceId) {
|
|
110
|
+
return this.traces.get(traceId);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 특정 span의 자식 span 목록 조회
|
|
114
|
+
*/
|
|
115
|
+
getChildSpans(traceId, parentSpanId) {
|
|
116
|
+
const trace = this.traces.get(traceId);
|
|
117
|
+
if (!trace)
|
|
118
|
+
return [];
|
|
119
|
+
return trace.spans.filter((s) => s.parentSpanId === parentSpanId);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* 모든 trace 목록 조회
|
|
123
|
+
*/
|
|
124
|
+
getAllTraces() {
|
|
125
|
+
return Array.from(this.traces.values());
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* 완료된 trace 제거 (메모리 관리)
|
|
129
|
+
*/
|
|
130
|
+
pruneCompleted() {
|
|
131
|
+
let pruned = 0;
|
|
132
|
+
for (const [id, trace] of this.traces) {
|
|
133
|
+
if (trace.status !== 'running') {
|
|
134
|
+
this.traces.delete(id);
|
|
135
|
+
pruned++;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return pruned;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=traceCollector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traceCollector.js","sourceRoot":"","sources":["../../src/core/traceCollector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent session configuration
|
|
3
|
+
*/
|
|
4
|
+
export type AgentSession = {
|
|
5
|
+
/** Session name */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Project path */
|
|
8
|
+
projectPath: string;
|
|
9
|
+
/** Heartbeat interval (ms) */
|
|
10
|
+
heartbeatInterval: number;
|
|
11
|
+
/** Linear project/team label */
|
|
12
|
+
linearLabel?: string;
|
|
13
|
+
/** Whether enabled */
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
/** Whether paused */
|
|
16
|
+
paused: boolean;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Agent status
|
|
20
|
+
*/
|
|
21
|
+
export type AgentStatus = {
|
|
22
|
+
name: string;
|
|
23
|
+
/** Currently active Linear issue */
|
|
24
|
+
currentIssue?: {
|
|
25
|
+
id: string;
|
|
26
|
+
identifier: string;
|
|
27
|
+
title: string;
|
|
28
|
+
};
|
|
29
|
+
/** Last heartbeat time */
|
|
30
|
+
lastHeartbeat?: number;
|
|
31
|
+
/** Last report content */
|
|
32
|
+
lastReport?: string;
|
|
33
|
+
/** State */
|
|
34
|
+
state: 'idle' | 'working' | 'blocked' | 'paused';
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Linear project info
|
|
38
|
+
*/
|
|
39
|
+
export type LinearProjectInfo = {
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
icon?: string;
|
|
43
|
+
color?: string;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Linear issue summary info
|
|
47
|
+
*/
|
|
48
|
+
export type LinearIssueInfo = {
|
|
49
|
+
id: string;
|
|
50
|
+
identifier: string;
|
|
51
|
+
title: string;
|
|
52
|
+
description?: string;
|
|
53
|
+
state: string;
|
|
54
|
+
priority: number;
|
|
55
|
+
labels: string[];
|
|
56
|
+
comments: LinearComment[];
|
|
57
|
+
/** Linear project info */
|
|
58
|
+
project?: LinearProjectInfo;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Linear comment
|
|
62
|
+
*/
|
|
63
|
+
export type LinearComment = {
|
|
64
|
+
id: string;
|
|
65
|
+
body: string;
|
|
66
|
+
createdAt: string;
|
|
67
|
+
user?: string;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Discord event (for reporting)
|
|
71
|
+
*/
|
|
72
|
+
export type SwarmEvent = {
|
|
73
|
+
type: 'issue_started' | 'issue_completed' | 'issue_blocked' | 'build_failed' | 'test_failed' | 'commit' | 'error' | 'ci_failed' | 'ci_recovered' | 'github_notification' | 'pr_improved' | 'pr_failed' | 'pr_conflict_detected' | 'pr_conflict_resolving' | 'pr_conflict_resolved' | 'pr_conflict_failed';
|
|
74
|
+
session: string;
|
|
75
|
+
message: string;
|
|
76
|
+
issueId?: string;
|
|
77
|
+
timestamp: number;
|
|
78
|
+
url?: string;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Global configuration
|
|
82
|
+
*/
|
|
83
|
+
export type SwarmConfig = {
|
|
84
|
+
/** Default CLI adapter */
|
|
85
|
+
adapter?: 'claude' | 'codex';
|
|
86
|
+
/** UI language: 'en' | 'ko' (default: 'en') */
|
|
87
|
+
language: 'en' | 'ko';
|
|
88
|
+
/** Discord bot token */
|
|
89
|
+
discordToken: string;
|
|
90
|
+
/** Discord channel ID (for reporting) */
|
|
91
|
+
discordChannelId: string;
|
|
92
|
+
/** Discord Webhook URL (optional) */
|
|
93
|
+
discordWebhookUrl?: string;
|
|
94
|
+
/** Linear API key */
|
|
95
|
+
linearApiKey: string;
|
|
96
|
+
/** Linear team ID */
|
|
97
|
+
linearTeamId: string;
|
|
98
|
+
/** Agent session list */
|
|
99
|
+
agents: AgentSession[];
|
|
100
|
+
/** Default heartbeat interval (ms) */
|
|
101
|
+
defaultHeartbeatInterval: number;
|
|
102
|
+
/** GitHub repo list (for CI monitoring) */
|
|
103
|
+
githubRepos?: string[];
|
|
104
|
+
/** GitHub CI check interval (ms) */
|
|
105
|
+
githubCheckInterval?: number;
|
|
106
|
+
/** Time window config (agent autonomous work restriction) */
|
|
107
|
+
timeWindow?: TimeWindowConfig;
|
|
108
|
+
/** Worker/Reviewer pair mode config */
|
|
109
|
+
pairMode?: PairModeConfig;
|
|
110
|
+
/** Autonomous execution mode config */
|
|
111
|
+
autonomous?: AutonomousStartupConfig;
|
|
112
|
+
/** PR auto-improvement config */
|
|
113
|
+
prProcessor?: PRProcessorConfig;
|
|
114
|
+
/** CI failure investigation worker config */
|
|
115
|
+
ciWorker?: CIWorkerConfig;
|
|
116
|
+
/** Long-running task monitor configuration */
|
|
117
|
+
monitors?: LongRunningMonitorConfig[];
|
|
118
|
+
/** Daily status report scheduler config */
|
|
119
|
+
dailyReporter?: DailyReporterConfig;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* PR auto-improvement config
|
|
123
|
+
*/
|
|
124
|
+
export type PRProcessorConfig = {
|
|
125
|
+
/** Enabled */
|
|
126
|
+
enabled: boolean;
|
|
127
|
+
/** Check schedule (cron) */
|
|
128
|
+
schedule: string;
|
|
129
|
+
/** Cooldown after processing (hours) */
|
|
130
|
+
cooldownHours: number;
|
|
131
|
+
/** Worker-Reviewer max iteration count */
|
|
132
|
+
maxIterations: number;
|
|
133
|
+
/** Max retry attempts per PR (default: 3) */
|
|
134
|
+
maxRetries?: number;
|
|
135
|
+
/** CI completion timeout (ms) (default: 600000 = 10min) */
|
|
136
|
+
ciTimeoutMs?: number;
|
|
137
|
+
/** CI polling interval (ms) (default: 30000 = 30s) */
|
|
138
|
+
ciPollIntervalMs?: number;
|
|
139
|
+
/** Conflict resolver config */
|
|
140
|
+
conflictResolver?: ConflictResolverConfig;
|
|
141
|
+
/** Custom repo → local path mappings */
|
|
142
|
+
repoMappings?: Record<string, string>;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Conflict resolver config
|
|
146
|
+
*/
|
|
147
|
+
export type ConflictResolverConfig = {
|
|
148
|
+
/** Enable conflict auto-resolution */
|
|
149
|
+
enabled: boolean;
|
|
150
|
+
/** Ownership mode: 'auto' = bot PRs only, 'all' = all PRs */
|
|
151
|
+
ownershipMode: 'auto' | 'all';
|
|
152
|
+
/** Max resolution attempts per PR (default: 3) */
|
|
153
|
+
maxResolutionAttempts: number;
|
|
154
|
+
/** Check stacked PRs after resolving one (default: true) */
|
|
155
|
+
cascadeCheck: boolean;
|
|
156
|
+
/** Worker model for conflict resolution */
|
|
157
|
+
workerModel?: string;
|
|
158
|
+
/** Worker timeout (ms) */
|
|
159
|
+
workerTimeoutMs?: number;
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* CI failure investigation worker config
|
|
163
|
+
*/
|
|
164
|
+
export type CIWorkerConfig = {
|
|
165
|
+
/** Enabled */
|
|
166
|
+
enabled: boolean;
|
|
167
|
+
/** Check interval in ms (default: 300000 = 5 minutes) */
|
|
168
|
+
checkIntervalMs?: number;
|
|
169
|
+
/** Auto-retry flaky tests */
|
|
170
|
+
autoRetry?: boolean;
|
|
171
|
+
/** Create Linear issues for failures */
|
|
172
|
+
createIssues?: boolean;
|
|
173
|
+
/** Max age of failures to consider (days) (default: 30) */
|
|
174
|
+
maxAgeDays?: number;
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Service state
|
|
178
|
+
*/
|
|
179
|
+
export type ServiceState = {
|
|
180
|
+
running: boolean;
|
|
181
|
+
startedAt?: number;
|
|
182
|
+
agents: Map<string, AgentStatus>;
|
|
183
|
+
timers: Map<string, NodeJS.Timeout>;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Time range
|
|
187
|
+
*/
|
|
188
|
+
export type TimeRange = {
|
|
189
|
+
start: string;
|
|
190
|
+
end: string;
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Time window configuration
|
|
194
|
+
*/
|
|
195
|
+
export type TimeWindowConfig = {
|
|
196
|
+
/** Whether time restriction is enabled */
|
|
197
|
+
enabled: boolean;
|
|
198
|
+
/** Allowed work time ranges */
|
|
199
|
+
allowedWindows: TimeRange[];
|
|
200
|
+
/** Blocked time ranges (e.g. market hours) */
|
|
201
|
+
blockedWindows: TimeRange[];
|
|
202
|
+
/** Restricted days of week (0=Sun, 1=Mon, ..., 6=Sat) */
|
|
203
|
+
restrictedDays?: number[];
|
|
204
|
+
/** Timezone */
|
|
205
|
+
timezone?: string;
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* Worker/Reviewer pair mode configuration
|
|
209
|
+
*/
|
|
210
|
+
export type PairModeConfig = {
|
|
211
|
+
/** Enable pair mode */
|
|
212
|
+
enabled: boolean;
|
|
213
|
+
/** Worker max attempts */
|
|
214
|
+
maxAttempts: number;
|
|
215
|
+
/** Worker timeout (ms) */
|
|
216
|
+
workerTimeoutMs: number;
|
|
217
|
+
/** Reviewer timeout (ms) */
|
|
218
|
+
reviewerTimeoutMs: number;
|
|
219
|
+
/** Webhook URL (notification on complete/failure) */
|
|
220
|
+
webhookUrl?: string;
|
|
221
|
+
/** Auto Linear status update */
|
|
222
|
+
autoLinearUpdate: boolean;
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* Model configuration
|
|
226
|
+
*/
|
|
227
|
+
export type ModelConfig = {
|
|
228
|
+
/** Worker agent model */
|
|
229
|
+
worker: string;
|
|
230
|
+
/** Reviewer agent model */
|
|
231
|
+
reviewer: string;
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Per-role configuration
|
|
235
|
+
*/
|
|
236
|
+
export type RoleConfig = {
|
|
237
|
+
/** Whether role is enabled */
|
|
238
|
+
enabled: boolean;
|
|
239
|
+
/** CLI adapter name */
|
|
240
|
+
adapter?: 'claude' | 'codex';
|
|
241
|
+
/** Model ID */
|
|
242
|
+
model: string;
|
|
243
|
+
/** Timeout (ms), 0 = unlimited */
|
|
244
|
+
timeoutMs: number;
|
|
245
|
+
/** Model to escalate to on repeated failure */
|
|
246
|
+
escalateModel?: string;
|
|
247
|
+
/** Escalate after this iteration number (default: 3) */
|
|
248
|
+
escalateAfterIteration?: number;
|
|
249
|
+
/** Max agentic turns per CLI invocation */
|
|
250
|
+
maxTurns?: number;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Pipeline stage
|
|
254
|
+
*/
|
|
255
|
+
export type PipelineStage = 'worker' | 'reviewer' | 'tester' | 'documenter' | 'auditor' | 'skill-documenter';
|
|
256
|
+
export type JobProfile = {
|
|
257
|
+
name: string;
|
|
258
|
+
minMinutes?: number;
|
|
259
|
+
maxMinutes?: number;
|
|
260
|
+
priority?: number;
|
|
261
|
+
roles?: Partial<Record<PipelineStage, string>>;
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Per-project agent configuration
|
|
265
|
+
*/
|
|
266
|
+
export type ProjectAgentConfig = {
|
|
267
|
+
/** Project path */
|
|
268
|
+
projectPath: string;
|
|
269
|
+
/** Linear project ID (optional) */
|
|
270
|
+
linearProjectId?: string;
|
|
271
|
+
/** Per-role configuration override */
|
|
272
|
+
roles?: {
|
|
273
|
+
worker?: Partial<RoleConfig>;
|
|
274
|
+
reviewer?: Partial<RoleConfig>;
|
|
275
|
+
tester?: Partial<RoleConfig>;
|
|
276
|
+
documenter?: Partial<RoleConfig>;
|
|
277
|
+
auditor?: Partial<RoleConfig>;
|
|
278
|
+
'skill-documenter'?: Partial<RoleConfig>;
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
/**
|
|
282
|
+
* Default roles configuration
|
|
283
|
+
*/
|
|
284
|
+
export type DefaultRolesConfig = {
|
|
285
|
+
worker: RoleConfig;
|
|
286
|
+
reviewer: RoleConfig;
|
|
287
|
+
tester?: RoleConfig;
|
|
288
|
+
documenter?: RoleConfig;
|
|
289
|
+
auditor?: RoleConfig;
|
|
290
|
+
'skill-documenter'?: RoleConfig;
|
|
291
|
+
};
|
|
292
|
+
/**
|
|
293
|
+
* Task decomposition (Planner) configuration
|
|
294
|
+
*/
|
|
295
|
+
export type DecompositionConfig = {
|
|
296
|
+
/** Enable decomposition */
|
|
297
|
+
enabled: boolean;
|
|
298
|
+
/** Decomposition threshold (minutes) - tasks exceeding this estimate are decomposed */
|
|
299
|
+
thresholdMinutes: number;
|
|
300
|
+
/** Max decomposition depth (default: 2) - prevents infinite nesting */
|
|
301
|
+
maxDepth?: number;
|
|
302
|
+
/** Max children per task (default: 5) - prevents issue explosion */
|
|
303
|
+
maxChildrenPerTask?: number;
|
|
304
|
+
/** Daily issue creation limit (default: 20) - prevents runaway creation */
|
|
305
|
+
dailyLimit?: number;
|
|
306
|
+
/** Auto-move to backlog if too complex or failing (default: true) */
|
|
307
|
+
autoBacklog?: boolean;
|
|
308
|
+
/** Planner model */
|
|
309
|
+
plannerModel: string;
|
|
310
|
+
/** Planner timeout (ms) - default 600000 (10min) */
|
|
311
|
+
plannerTimeoutMs: number;
|
|
312
|
+
};
|
|
313
|
+
/**
|
|
314
|
+
* Autonomous execution mode configuration
|
|
315
|
+
*/
|
|
316
|
+
/** Completion check strategy */
|
|
317
|
+
export type CompletionCheck = {
|
|
318
|
+
type: 'exit-code';
|
|
319
|
+
successExitCode?: number;
|
|
320
|
+
} | {
|
|
321
|
+
type: 'output-regex';
|
|
322
|
+
successPattern: string;
|
|
323
|
+
failurePattern?: string;
|
|
324
|
+
} | {
|
|
325
|
+
type: 'http-status';
|
|
326
|
+
expectedStatus?: number;
|
|
327
|
+
};
|
|
328
|
+
/** Monitor configuration (registered via config.yaml or API) */
|
|
329
|
+
export type LongRunningMonitorConfig = {
|
|
330
|
+
id: string;
|
|
331
|
+
name: string;
|
|
332
|
+
/** Bash command for status check */
|
|
333
|
+
checkCommand: string;
|
|
334
|
+
completionCheck: CompletionCheck;
|
|
335
|
+
/** Linear issue ID (comments on state change) */
|
|
336
|
+
issueId?: string;
|
|
337
|
+
/** Check every Nth heartbeat (default 1 = every time) */
|
|
338
|
+
checkInterval?: number;
|
|
339
|
+
/** Timeout duration in hours (default 48) */
|
|
340
|
+
maxDurationHours?: number;
|
|
341
|
+
/** Discord notification (default true) */
|
|
342
|
+
notify?: boolean;
|
|
343
|
+
metadata?: Record<string, unknown>;
|
|
344
|
+
};
|
|
345
|
+
/** Monitor runtime state */
|
|
346
|
+
export type MonitorState = 'pending' | 'running' | 'completed' | 'failed' | 'timeout';
|
|
347
|
+
/** Runtime monitor (config + state) */
|
|
348
|
+
export type LongRunningMonitor = LongRunningMonitorConfig & {
|
|
349
|
+
state: MonitorState;
|
|
350
|
+
registeredAt: number;
|
|
351
|
+
lastCheckedAt?: number;
|
|
352
|
+
checkCount: number;
|
|
353
|
+
heartbeatsSinceRegister: number;
|
|
354
|
+
lastOutput?: string;
|
|
355
|
+
lastExitCode?: number;
|
|
356
|
+
};
|
|
357
|
+
/**
|
|
358
|
+
* Pipeline guards configuration
|
|
359
|
+
*/
|
|
360
|
+
export interface PipelineGuardsConfig {
|
|
361
|
+
qualityGate: boolean;
|
|
362
|
+
fakeDataGuard: boolean;
|
|
363
|
+
conventionalCommits: boolean;
|
|
364
|
+
branchValidation: boolean;
|
|
365
|
+
uncertaintyDetection: boolean;
|
|
366
|
+
haltToLinear: boolean;
|
|
367
|
+
}
|
|
368
|
+
export type AutonomousStartupConfig = {
|
|
369
|
+
/** Auto-enable on service start */
|
|
370
|
+
enabled: boolean;
|
|
371
|
+
/** Use Worker/Reviewer pair mode */
|
|
372
|
+
pairMode: boolean;
|
|
373
|
+
/** Execution schedule (cron expression) */
|
|
374
|
+
schedule: string;
|
|
375
|
+
/** Pair mode max attempts */
|
|
376
|
+
maxAttempts: number;
|
|
377
|
+
/** Allowed project paths */
|
|
378
|
+
allowedProjects: string[];
|
|
379
|
+
/** Model configuration (legacy) */
|
|
380
|
+
models?: ModelConfig;
|
|
381
|
+
/** Worker timeout (ms), 0 = unlimited (legacy) */
|
|
382
|
+
workerTimeoutMs?: number;
|
|
383
|
+
/** Reviewer timeout (ms), 0 = unlimited (legacy) */
|
|
384
|
+
reviewerTimeoutMs?: number;
|
|
385
|
+
/** Max concurrent tasks */
|
|
386
|
+
maxConcurrentTasks?: number;
|
|
387
|
+
/** Default role configuration */
|
|
388
|
+
defaultRoles?: DefaultRolesConfig;
|
|
389
|
+
/** Per-project agent configuration */
|
|
390
|
+
projectAgents?: ProjectAgentConfig[];
|
|
391
|
+
/** Task decomposition config (Planner Agent) */
|
|
392
|
+
decomposition?: DecompositionConfig;
|
|
393
|
+
/** Git worktree mode: work in independent worktree per issue and auto-create PR */
|
|
394
|
+
worktreeMode?: boolean;
|
|
395
|
+
/** Pipeline guards configuration */
|
|
396
|
+
guards?: Partial<PipelineGuardsConfig>;
|
|
397
|
+
/** Daily task completion cap (default: 6) */
|
|
398
|
+
dailyTaskCap?: number;
|
|
399
|
+
/** Cooldown between task completions in ms (default: 1800000 = 30min) */
|
|
400
|
+
interTaskCooldownMs?: number;
|
|
401
|
+
/** Job profiles used to select models based on task traits */
|
|
402
|
+
jobProfiles?: JobProfile[];
|
|
403
|
+
};
|
|
404
|
+
/**
|
|
405
|
+
* Daily status report scheduler configuration
|
|
406
|
+
*/
|
|
407
|
+
export type DailyReporterConfig = {
|
|
408
|
+
/** Enable daily status reports */
|
|
409
|
+
enabled: boolean;
|
|
410
|
+
/** Cron schedule (default: "0 18 * * *" for 6 PM daily) */
|
|
411
|
+
schedule: string;
|
|
412
|
+
};
|
|
413
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,+BAA+B;AAC/B,+CAA+C"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Client, Message, EmbedBuilder } from 'discord.js';
|
|
2
|
+
import type { SwarmEvent, AgentStatus } from '../core/types.js';
|
|
3
|
+
export declare let client: Client | null;
|
|
4
|
+
export declare let reportChannelId: string;
|
|
5
|
+
export declare const channelHistoryMap: Map<string, HistoryEntry[]>;
|
|
6
|
+
export interface HistoryEntry {
|
|
7
|
+
sender: string;
|
|
8
|
+
senderId: string;
|
|
9
|
+
body: string;
|
|
10
|
+
response?: string;
|
|
11
|
+
timestamp: number;
|
|
12
|
+
messageId?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Append history entry
|
|
16
|
+
*/
|
|
17
|
+
export declare function appendHistoryEntry(channelId: string, entry: HistoryEntry): void;
|
|
18
|
+
/**
|
|
19
|
+
* Add response to the last history entry
|
|
20
|
+
*/
|
|
21
|
+
export declare function updateLastHistoryResponse(channelId: string, response: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* Build channel history as context (OpenClaw style)
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildHistoryContext(channelId: string, currentMessage: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Extract project hints from message
|
|
28
|
+
*/
|
|
29
|
+
export declare function extractProjectHints(message: string): string[];
|
|
30
|
+
/**
|
|
31
|
+
* Resolve local path from project hints
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveProjectPath(hints: string[]): Promise<string | null>;
|
|
34
|
+
export declare function getSystemPrompt(): string;
|
|
35
|
+
export interface ChatEntry {
|
|
36
|
+
timestamp: string;
|
|
37
|
+
user: string;
|
|
38
|
+
userId: string;
|
|
39
|
+
message: string;
|
|
40
|
+
response: string;
|
|
41
|
+
}
|
|
42
|
+
export declare let onPauseAgent: ((name: string) => void) | null;
|
|
43
|
+
export declare let onResumeAgent: ((name: string) => void) | null;
|
|
44
|
+
export declare let getAgentStatus: ((name?: string) => AgentStatus[]) | null;
|
|
45
|
+
export declare let getGithubRepos: (() => string[]) | null;
|
|
46
|
+
export declare let pairModeConfig: {
|
|
47
|
+
webhookUrl?: string;
|
|
48
|
+
maxAttempts?: number;
|
|
49
|
+
workerTimeoutMs?: number;
|
|
50
|
+
reviewerTimeoutMs?: number;
|
|
51
|
+
} | null;
|
|
52
|
+
/**
|
|
53
|
+
* Set pair mode configuration
|
|
54
|
+
*/
|
|
55
|
+
export declare function setPairModeConfig(config: {
|
|
56
|
+
webhookUrl?: string;
|
|
57
|
+
maxAttempts?: number;
|
|
58
|
+
workerTimeoutMs?: number;
|
|
59
|
+
reviewerTimeoutMs?: number;
|
|
60
|
+
} | undefined): void;
|
|
61
|
+
/**
|
|
62
|
+
* Set callback functions
|
|
63
|
+
*/
|
|
64
|
+
export declare function setCallbacks(callbacks: {
|
|
65
|
+
onPause: (name: string) => void;
|
|
66
|
+
onResume: (name: string) => void;
|
|
67
|
+
getStatus: (name?: string) => AgentStatus[];
|
|
68
|
+
getRepos: () => string[];
|
|
69
|
+
}): void;
|
|
70
|
+
/**
|
|
71
|
+
* Initialize and start Discord bot
|
|
72
|
+
*/
|
|
73
|
+
export declare function initDiscord(token: string, channelId: string): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Report event to Discord
|
|
76
|
+
*/
|
|
77
|
+
export declare function reportEvent(event: SwarmEvent): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Format time (relative)
|
|
80
|
+
*/
|
|
81
|
+
export declare function formatTimeAgo(timestamp: number): string;
|
|
82
|
+
/**
|
|
83
|
+
* Stop Discord bot
|
|
84
|
+
*/
|
|
85
|
+
export declare function stopDiscord(): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Send message to default Discord channel (for external callers)
|
|
88
|
+
*/
|
|
89
|
+
export declare function sendToChannel(content: string | {
|
|
90
|
+
embeds: EmbedBuilder[];
|
|
91
|
+
}): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Send message to Discord thread (for external callers)
|
|
94
|
+
*/
|
|
95
|
+
export declare function sendToThread(threadId: string, content: string | EmbedBuilder): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Handle general chat (OpenClaw-style history management)
|
|
98
|
+
*/
|
|
99
|
+
export declare function handleChat(msg: Message): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Get chat history (for web API)
|
|
102
|
+
*/
|
|
103
|
+
export declare function getChatHistory(): Promise<ChatEntry[]>;
|
|
104
|
+
//# sourceMappingURL=discordCore.d.ts.map
|