@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,175 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// OpenSwarm - Pipeline Guards
|
|
3
|
+
// Quality gates and validation between worker/reviewer
|
|
4
|
+
// ============================================
|
|
5
|
+
import { execFile } from 'node:child_process';
|
|
6
|
+
import { promisify } from 'node:util';
|
|
7
|
+
const execFileAsync = promisify(execFile);
|
|
8
|
+
// Uncertainty Detection Patterns
|
|
9
|
+
const UNCERTAINTY_PATTERNS = [
|
|
10
|
+
'maybe', 'might', 'probably', 'perhaps',
|
|
11
|
+
'workaround', 'hack', 'temporary fix', 'temp fix',
|
|
12
|
+
'not sure', 'not certain', 'unclear',
|
|
13
|
+
'i think', 'i believe', 'i assume',
|
|
14
|
+
'could be', 'seems like', 'appears to',
|
|
15
|
+
'not tested', 'untested', 'skip test',
|
|
16
|
+
'todo', 'fixme', 'xxx',
|
|
17
|
+
];
|
|
18
|
+
// Fake Data Detection Patterns
|
|
19
|
+
const FAKE_DATA_PATTERNS = [
|
|
20
|
+
/faker\./i,
|
|
21
|
+
/\bnp\.random\b/,
|
|
22
|
+
/Math\.random\(\)/,
|
|
23
|
+
/lorem\s*ipsum/i,
|
|
24
|
+
/test@test\.com/i,
|
|
25
|
+
/foo@bar\.com/i,
|
|
26
|
+
/mockData\b/i,
|
|
27
|
+
/dummy\s*data/i,
|
|
28
|
+
/placeholder\s*text/i,
|
|
29
|
+
/sample\s*data/i,
|
|
30
|
+
];
|
|
31
|
+
// Conventional Commit Pattern
|
|
32
|
+
const CONVENTIONAL_COMMIT_RE = /^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?!?:\s.+/;
|
|
33
|
+
// Branch Name Patterns
|
|
34
|
+
const VALID_BRANCH_PATTERNS = [
|
|
35
|
+
/^swarm\/.+/,
|
|
36
|
+
/^feature\/.+/,
|
|
37
|
+
/^release\/v.+/,
|
|
38
|
+
/^hotfix\/.+/,
|
|
39
|
+
/^main$/,
|
|
40
|
+
/^develop$/,
|
|
41
|
+
];
|
|
42
|
+
// Guard Functions
|
|
43
|
+
/**
|
|
44
|
+
* Quality gate: run tsc --noEmit on TypeScript files or ruff check on Python files.
|
|
45
|
+
* Blocking — failure causes a revise.
|
|
46
|
+
*/
|
|
47
|
+
async function runQualityGate(workerResult, projectPath) {
|
|
48
|
+
const guard = 'qualityGate';
|
|
49
|
+
const issues = [];
|
|
50
|
+
const tsFiles = workerResult.filesChanged.filter(f => f.endsWith('.ts') || f.endsWith('.tsx'));
|
|
51
|
+
const pyFiles = workerResult.filesChanged.filter(f => f.endsWith('.py'));
|
|
52
|
+
if (tsFiles.length > 0) {
|
|
53
|
+
try {
|
|
54
|
+
await execFileAsync('npx', ['tsc', '--noEmit'], {
|
|
55
|
+
cwd: projectPath,
|
|
56
|
+
timeout: 60_000,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
const stderr = err.stderr || err.stdout || String(err);
|
|
61
|
+
issues.push(`TypeScript check failed: ${stderr.slice(0, 500)}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (pyFiles.length > 0) {
|
|
65
|
+
try {
|
|
66
|
+
await execFileAsync('ruff', ['check', ...pyFiles], {
|
|
67
|
+
cwd: projectPath,
|
|
68
|
+
timeout: 60_000,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
const stderr = err.stderr || err.stdout || String(err);
|
|
73
|
+
issues.push(`Ruff check failed: ${stderr.slice(0, 500)}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return { passed: issues.length === 0, guard, issues, blocking: true };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Fake data guard: detect faker, random, mock data patterns in changed output.
|
|
80
|
+
* Non-blocking — warning only.
|
|
81
|
+
*/
|
|
82
|
+
function runFakeDataGuard(workerResult) {
|
|
83
|
+
const guard = 'fakeDataGuard';
|
|
84
|
+
const issues = [];
|
|
85
|
+
const textToScan = workerResult.output.slice(0, 5000);
|
|
86
|
+
for (const pattern of FAKE_DATA_PATTERNS) {
|
|
87
|
+
const match = textToScan.match(pattern);
|
|
88
|
+
if (match) {
|
|
89
|
+
issues.push(`Possible fake/mock data detected: "${match[0]}"`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return { passed: issues.length === 0, guard, issues, blocking: false };
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Conventional commit guard: validate commit message format.
|
|
96
|
+
* Non-blocking — warning only.
|
|
97
|
+
*/
|
|
98
|
+
export function runConventionalCommitGuard(commitMessage) {
|
|
99
|
+
const guard = 'conventionalCommits';
|
|
100
|
+
const issues = [];
|
|
101
|
+
const firstLine = commitMessage.split('\n')[0].trim();
|
|
102
|
+
if (!CONVENTIONAL_COMMIT_RE.test(firstLine)) {
|
|
103
|
+
issues.push(`Commit message does not follow conventional format: "${firstLine.slice(0, 80)}". ` +
|
|
104
|
+
`Expected: type(scope): description`);
|
|
105
|
+
}
|
|
106
|
+
return { passed: issues.length === 0, guard, issues, blocking: false };
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Branch name guard: validate branch naming convention.
|
|
110
|
+
* Non-blocking — warning only.
|
|
111
|
+
*/
|
|
112
|
+
async function runBranchNameGuard(projectPath) {
|
|
113
|
+
const guard = 'branchValidation';
|
|
114
|
+
const issues = [];
|
|
115
|
+
try {
|
|
116
|
+
const { stdout } = await execFileAsync('git', ['branch', '--show-current'], {
|
|
117
|
+
cwd: projectPath,
|
|
118
|
+
timeout: 5_000,
|
|
119
|
+
});
|
|
120
|
+
const branch = stdout.trim();
|
|
121
|
+
if (branch && !VALID_BRANCH_PATTERNS.some(p => p.test(branch))) {
|
|
122
|
+
issues.push(`Branch "${branch}" does not match allowed patterns: swarm/*, feature/*, release/v*, hotfix/*, main, develop`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// git not available or not in repo — skip silently
|
|
127
|
+
}
|
|
128
|
+
return { passed: issues.length === 0, guard, issues, blocking: false };
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Uncertainty detection: scan worker output for uncertainty phrases.
|
|
132
|
+
* Non-blocking — populates uncertaintySignals on WorkerResult.
|
|
133
|
+
*/
|
|
134
|
+
function runUncertaintyDetection(workerResult) {
|
|
135
|
+
const guard = 'uncertaintyDetection';
|
|
136
|
+
const issues = [];
|
|
137
|
+
const textToScan = (workerResult.summary + ' ' + workerResult.output.slice(0, 2000)).toLowerCase();
|
|
138
|
+
const detected = [];
|
|
139
|
+
for (const phrase of UNCERTAINTY_PATTERNS) {
|
|
140
|
+
if (textToScan.includes(phrase)) {
|
|
141
|
+
detected.push(phrase);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (detected.length > 0) {
|
|
145
|
+
issues.push(`Uncertainty signals detected: ${detected.join(', ')}`);
|
|
146
|
+
// Populate on the result for downstream use
|
|
147
|
+
workerResult.uncertaintySignals = detected;
|
|
148
|
+
}
|
|
149
|
+
return { passed: issues.length === 0, guard, issues, blocking: false };
|
|
150
|
+
}
|
|
151
|
+
// Guard Runner
|
|
152
|
+
/**
|
|
153
|
+
* Run all enabled guards on a worker result.
|
|
154
|
+
*/
|
|
155
|
+
export async function runGuards(workerResult, projectPath, config) {
|
|
156
|
+
const results = [];
|
|
157
|
+
if (config.qualityGate) {
|
|
158
|
+
results.push(await runQualityGate(workerResult, projectPath));
|
|
159
|
+
}
|
|
160
|
+
if (config.fakeDataGuard) {
|
|
161
|
+
results.push(runFakeDataGuard(workerResult));
|
|
162
|
+
}
|
|
163
|
+
if (config.branchValidation) {
|
|
164
|
+
results.push(await runBranchNameGuard(projectPath));
|
|
165
|
+
}
|
|
166
|
+
if (config.uncertaintyDetection) {
|
|
167
|
+
results.push(runUncertaintyDetection(workerResult));
|
|
168
|
+
}
|
|
169
|
+
// conventionalCommits is checked separately (needs commit message)
|
|
170
|
+
// haltToLinear is handled by the pipeline, not a guard function
|
|
171
|
+
const combinedIssues = results.flatMap(r => r.issues);
|
|
172
|
+
const allPassed = results.every(r => r.passed || !r.blocking);
|
|
173
|
+
return { allPassed, results, combinedIssues };
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=pipelineGuards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipelineGuards.js","sourceRoot":"","sources":["../../src/agents/pipelineGuards.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { WorkerResult, ReviewResult } from './agentPair.js';
|
|
2
|
+
import type { AdapterName, ProcessContext } from '../adapters/types.js';
|
|
3
|
+
export interface ReviewerOptions {
|
|
4
|
+
taskTitle: string;
|
|
5
|
+
taskDescription: string;
|
|
6
|
+
workerResult: WorkerResult;
|
|
7
|
+
projectPath: string;
|
|
8
|
+
timeoutMs?: number;
|
|
9
|
+
model?: string;
|
|
10
|
+
maxTurns?: number;
|
|
11
|
+
adapterName?: AdapterName;
|
|
12
|
+
processContext?: ProcessContext;
|
|
13
|
+
}
|
|
14
|
+
export interface PreCheckResult {
|
|
15
|
+
passed: boolean;
|
|
16
|
+
issues: string[];
|
|
17
|
+
confidence: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Run fast pre-check validation with Haiku model
|
|
21
|
+
* This is a cheap filter before expensive Sonnet review
|
|
22
|
+
* Expected to catch 30-40% of obvious issues, saving ~35% on review costs
|
|
23
|
+
*/
|
|
24
|
+
export declare function runPreCheck(options: ReviewerOptions): Promise<PreCheckResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Run Reviewer agent (full review with Sonnet)
|
|
27
|
+
*/
|
|
28
|
+
export declare function runReviewer(options: ReviewerOptions): Promise<ReviewResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Format Reviewer result as a Discord message
|
|
31
|
+
*/
|
|
32
|
+
export declare function formatReviewFeedback(result: ReviewResult): string;
|
|
33
|
+
/**
|
|
34
|
+
* Convert Reviewer feedback into revision instructions for Worker
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildRevisionPrompt(result: ReviewResult): string;
|
|
37
|
+
//# sourceMappingURL=reviewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/agents/reviewer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMxE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AA4ED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAgEnF;AAID;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CA0BjF;AAID;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAoCjE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAOhE"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// OpenSwarm - Reviewer Agent
|
|
3
|
+
// Code review agent (CLI adapter based)
|
|
4
|
+
// ============================================
|
|
5
|
+
import { t, getPrompts } from '../locale/index.js';
|
|
6
|
+
import { getAdapter, spawnCli } from '../adapters/index.js';
|
|
7
|
+
import { expandPath } from '../core/config.js';
|
|
8
|
+
// Prompts
|
|
9
|
+
/**
|
|
10
|
+
* Build Pre-Check prompt for fast validation (Haiku)
|
|
11
|
+
*/
|
|
12
|
+
function buildPreCheckPrompt(options) {
|
|
13
|
+
const files = options.workerResult.filesChanged;
|
|
14
|
+
const filesSummary = files.length <= 20
|
|
15
|
+
? (files.join(', ') || '(none)')
|
|
16
|
+
: `${files.slice(0, 20).join(', ')} (+${files.length - 20} more)`;
|
|
17
|
+
return `You are a fast pre-check validator. Perform a quick validation of the Worker's output.
|
|
18
|
+
|
|
19
|
+
## Task
|
|
20
|
+
${options.taskTitle}
|
|
21
|
+
|
|
22
|
+
## Worker Result
|
|
23
|
+
- Success: ${options.workerResult.success}
|
|
24
|
+
- Files Changed (${files.length}): ${filesSummary}
|
|
25
|
+
- Summary: ${options.workerResult.summary}
|
|
26
|
+
|
|
27
|
+
## Your Job (Fast Check Only)
|
|
28
|
+
Check for OBVIOUS problems:
|
|
29
|
+
1. **Syntax Errors**: Are there any clear syntax errors in the output?
|
|
30
|
+
2. **Missing Files**: Did the worker claim to create/modify files that don't exist?
|
|
31
|
+
3. **Incomplete Output**: Does the output look cut off or incomplete?
|
|
32
|
+
4. **Basic Format Issues**: Are there obvious formatting problems?
|
|
33
|
+
|
|
34
|
+
**DO NOT** perform deep logical review - that's for the next stage.
|
|
35
|
+
|
|
36
|
+
## Response Format
|
|
37
|
+
Respond in this EXACT format:
|
|
38
|
+
|
|
39
|
+
PASSED: [yes/no]
|
|
40
|
+
CONFIDENCE: [0-3]
|
|
41
|
+
ISSUES:
|
|
42
|
+
- [issue 1]
|
|
43
|
+
- [issue 2]
|
|
44
|
+
...
|
|
45
|
+
|
|
46
|
+
Keep it brief. This is a fast filter, not a deep review.`;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Build Reviewer prompt using locale templates
|
|
50
|
+
*/
|
|
51
|
+
function buildReviewerPrompt(options) {
|
|
52
|
+
const files = options.workerResult.filesChanged;
|
|
53
|
+
const filesSummary = files.length <= 20
|
|
54
|
+
? (files.join(', ') || '(none)')
|
|
55
|
+
: `${files.slice(0, 20).join(', ')} (+${files.length - 20} more)`;
|
|
56
|
+
const cmds = options.workerResult.commands;
|
|
57
|
+
const cmdsSummary = cmds.length <= 10
|
|
58
|
+
? (cmds.join(', ') || '(none)')
|
|
59
|
+
: `${cmds.slice(0, 10).join(', ')} (+${cmds.length - 10} more)`;
|
|
60
|
+
const workerReport = `
|
|
61
|
+
- **Success:** ${options.workerResult.success}
|
|
62
|
+
- **Summary:** ${options.workerResult.summary}
|
|
63
|
+
- **Files Changed (${files.length}):** ${filesSummary}
|
|
64
|
+
- **Commands:** ${cmdsSummary}
|
|
65
|
+
${options.workerResult.error ? `- **Error:** ${options.workerResult.error}` : ''}
|
|
66
|
+
`;
|
|
67
|
+
return getPrompts().buildReviewerPrompt({
|
|
68
|
+
taskTitle: options.taskTitle,
|
|
69
|
+
taskDescription: options.taskDescription,
|
|
70
|
+
workerReport,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
// Pre-Check Execution (Fast Validation with Haiku)
|
|
74
|
+
/**
|
|
75
|
+
* Run fast pre-check validation with Haiku model
|
|
76
|
+
* This is a cheap filter before expensive Sonnet review
|
|
77
|
+
* Expected to catch 30-40% of obvious issues, saving ~35% on review costs
|
|
78
|
+
*/
|
|
79
|
+
export async function runPreCheck(options) {
|
|
80
|
+
const prompt = buildPreCheckPrompt(options);
|
|
81
|
+
const cwd = expandPath(options.projectPath);
|
|
82
|
+
const adapter = getAdapter(options.adapterName);
|
|
83
|
+
try {
|
|
84
|
+
// Use Haiku for fast validation
|
|
85
|
+
const raw = await spawnCli(adapter, {
|
|
86
|
+
prompt,
|
|
87
|
+
cwd,
|
|
88
|
+
timeoutMs: 30000, // 30 seconds max for pre-check
|
|
89
|
+
model: options.model,
|
|
90
|
+
maxTurns: options.maxTurns,
|
|
91
|
+
processContext: options.processContext,
|
|
92
|
+
});
|
|
93
|
+
// DEBUG: Log raw Haiku output for troubleshooting
|
|
94
|
+
console.log('[Reviewer] Pre-check raw output (first 500 chars):', raw.stdout.slice(0, 500));
|
|
95
|
+
// Parse pre-check output
|
|
96
|
+
const lines = raw.stdout.split('\n');
|
|
97
|
+
const passedLine = lines.find((l) => l.startsWith('PASSED:'));
|
|
98
|
+
const confidenceLine = lines.find((l) => l.startsWith('CONFIDENCE:'));
|
|
99
|
+
const passed = passedLine?.includes('yes') ?? false;
|
|
100
|
+
const confidence = parseInt(confidenceLine?.split(':')[1]?.trim() || '1', 10);
|
|
101
|
+
const issueStart = lines.findIndex((l) => l.startsWith('ISSUES:'));
|
|
102
|
+
const issues = issueStart >= 0
|
|
103
|
+
? lines.slice(issueStart + 1)
|
|
104
|
+
.filter((l) => l.trim().startsWith('-'))
|
|
105
|
+
.map((l) => l.replace(/^-\s*/, '').trim())
|
|
106
|
+
.filter(Boolean)
|
|
107
|
+
: [];
|
|
108
|
+
// DEBUG: Log parsing results
|
|
109
|
+
if (!passed && issues.length === 0) {
|
|
110
|
+
console.warn('[Reviewer] Pre-check failed but no issues found. Haiku may not be following format.');
|
|
111
|
+
console.warn('[Reviewer] PASSED line:', passedLine || '(not found)');
|
|
112
|
+
console.warn('[Reviewer] ISSUES section:', issueStart >= 0 ? 'found' : 'not found');
|
|
113
|
+
// Provide better default error message
|
|
114
|
+
if (!passedLine) {
|
|
115
|
+
issues.push('Haiku did not provide PASSED: line in expected format');
|
|
116
|
+
}
|
|
117
|
+
if (issueStart < 0) {
|
|
118
|
+
issues.push('Haiku did not provide ISSUES: section in expected format');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
passed,
|
|
123
|
+
issues: issues.length > 0 ? issues : ['Pre-check failed with no specific issues (format parsing error)'],
|
|
124
|
+
confidence: Math.min(3, Math.max(0, confidence)),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
// If pre-check fails, allow proceeding to full review
|
|
129
|
+
console.warn('[Reviewer] Pre-check failed, proceeding to full review:', error);
|
|
130
|
+
return {
|
|
131
|
+
passed: true, // Don't block on pre-check failure
|
|
132
|
+
issues: ['Pre-check timed out or failed'],
|
|
133
|
+
confidence: 0,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Reviewer Execution
|
|
138
|
+
/**
|
|
139
|
+
* Run Reviewer agent (full review with Sonnet)
|
|
140
|
+
*/
|
|
141
|
+
export async function runReviewer(options) {
|
|
142
|
+
const prompt = buildReviewerPrompt(options);
|
|
143
|
+
const cwd = expandPath(options.projectPath);
|
|
144
|
+
const adapter = getAdapter(options.adapterName);
|
|
145
|
+
try {
|
|
146
|
+
// Run CLI via adapter
|
|
147
|
+
const raw = await spawnCli(adapter, {
|
|
148
|
+
prompt,
|
|
149
|
+
cwd,
|
|
150
|
+
timeoutMs: options.timeoutMs ?? 180000, // 3 min default (review is faster)
|
|
151
|
+
model: options.model,
|
|
152
|
+
maxTurns: options.maxTurns,
|
|
153
|
+
processContext: options.processContext,
|
|
154
|
+
});
|
|
155
|
+
// Parse result via adapter
|
|
156
|
+
return adapter.parseReviewerOutput(raw);
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
return {
|
|
160
|
+
decision: 'reject',
|
|
161
|
+
feedback: `Reviewer execution failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
162
|
+
issues: ['Error occurred during reviewer agent execution'],
|
|
163
|
+
suggestions: ['Manual review required'],
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// Formatting
|
|
168
|
+
/**
|
|
169
|
+
* Format Reviewer result as a Discord message
|
|
170
|
+
*/
|
|
171
|
+
export function formatReviewFeedback(result) {
|
|
172
|
+
const decisionEmoji = {
|
|
173
|
+
approve: '✅',
|
|
174
|
+
revise: '🔄',
|
|
175
|
+
reject: '❌',
|
|
176
|
+
}[result.decision];
|
|
177
|
+
const decisionText = {
|
|
178
|
+
approve: 'APPROVED',
|
|
179
|
+
revise: 'REVISION NEEDED',
|
|
180
|
+
reject: 'REJECTED',
|
|
181
|
+
}[result.decision];
|
|
182
|
+
const lines = [];
|
|
183
|
+
lines.push(`${decisionEmoji} ${t('agents.reviewer.report.decision', { text: decisionText })}`);
|
|
184
|
+
lines.push('');
|
|
185
|
+
lines.push(t('agents.reviewer.report.feedback', { text: result.feedback }));
|
|
186
|
+
if (result.issues && result.issues.length > 0) {
|
|
187
|
+
lines.push('');
|
|
188
|
+
lines.push(t('agents.reviewer.report.issues'));
|
|
189
|
+
for (const issue of result.issues.slice(0, 5)) {
|
|
190
|
+
lines.push(` • ${issue}`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (result.suggestions && result.suggestions.length > 0) {
|
|
194
|
+
lines.push('');
|
|
195
|
+
lines.push(t('agents.reviewer.report.suggestions'));
|
|
196
|
+
for (const suggestion of result.suggestions.slice(0, 5)) {
|
|
197
|
+
lines.push(` • ${suggestion}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return lines.join('\n');
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Convert Reviewer feedback into revision instructions for Worker
|
|
204
|
+
*/
|
|
205
|
+
export function buildRevisionPrompt(result) {
|
|
206
|
+
return getPrompts().buildRevisionPromptFromReview({
|
|
207
|
+
decision: result.decision,
|
|
208
|
+
feedback: result.feedback,
|
|
209
|
+
issues: result.issues || [],
|
|
210
|
+
suggestions: result.suggestions || [],
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=reviewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/agents/reviewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { WorkerResult } from './agentPair.js';
|
|
2
|
+
import type { AdapterName } from '../adapters/types.js';
|
|
3
|
+
import { type CostInfo } from '../support/costTracker.js';
|
|
4
|
+
export interface SkillDocumenterOptions {
|
|
5
|
+
taskTitle: string;
|
|
6
|
+
taskDescription: string;
|
|
7
|
+
workerResult: WorkerResult;
|
|
8
|
+
projectPath: string;
|
|
9
|
+
timeoutMs?: number;
|
|
10
|
+
model?: string;
|
|
11
|
+
maxTurns?: number;
|
|
12
|
+
adapterName?: AdapterName;
|
|
13
|
+
}
|
|
14
|
+
export interface SkillDocumenterResult {
|
|
15
|
+
success: boolean;
|
|
16
|
+
updatedFiles: string[];
|
|
17
|
+
summary: string;
|
|
18
|
+
error?: string;
|
|
19
|
+
costInfo?: CostInfo;
|
|
20
|
+
}
|
|
21
|
+
export declare function runSkillDocumenter(options: SkillDocumenterOptions): Promise<SkillDocumenterResult>;
|
|
22
|
+
export declare function formatSkillDocReport(result: SkillDocumenterResult): string;
|
|
23
|
+
//# sourceMappingURL=skillDocumenter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skillDocumenter.d.ts","sourceRoot":"","sources":["../../src/agents/skillDocumenter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,KAAK,QAAQ,EAAyC,MAAM,2BAA2B,CAAC;AAKjG,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAuDD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAsBxG;AAoID,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAmB1E"}
|