@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,101 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { TaskItem } from '../orchestration/decisionEngine.js';
|
|
3
|
+
declare const TaskExecutionStatusSchema: z.ZodEnum<{
|
|
4
|
+
failed: "failed";
|
|
5
|
+
in_progress: "in_progress";
|
|
6
|
+
blocked: "blocked";
|
|
7
|
+
backlog: "backlog";
|
|
8
|
+
todo: "todo";
|
|
9
|
+
ready: "ready";
|
|
10
|
+
in_review: "in_review";
|
|
11
|
+
decomposed: "decomposed";
|
|
12
|
+
done: "done";
|
|
13
|
+
halted: "halted";
|
|
14
|
+
}>;
|
|
15
|
+
export declare const OpenSwarmTaskStateSchema: z.ZodObject<{
|
|
16
|
+
version: z.ZodDefault<z.ZodLiteral<1>>;
|
|
17
|
+
issueId: z.ZodString;
|
|
18
|
+
issueIdentifier: z.ZodOptional<z.ZodString>;
|
|
19
|
+
title: z.ZodOptional<z.ZodString>;
|
|
20
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
21
|
+
projectName: z.ZodOptional<z.ZodString>;
|
|
22
|
+
parentIssueId: z.ZodOptional<z.ZodString>;
|
|
23
|
+
childIssueIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
24
|
+
dependencyIssueIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
25
|
+
dependencyTitles: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
26
|
+
topoRank: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
linearState: z.ZodOptional<z.ZodString>;
|
|
28
|
+
execution: z.ZodDefault<z.ZodObject<{
|
|
29
|
+
status: z.ZodDefault<z.ZodEnum<{
|
|
30
|
+
failed: "failed";
|
|
31
|
+
in_progress: "in_progress";
|
|
32
|
+
blocked: "blocked";
|
|
33
|
+
backlog: "backlog";
|
|
34
|
+
todo: "todo";
|
|
35
|
+
ready: "ready";
|
|
36
|
+
in_review: "in_review";
|
|
37
|
+
decomposed: "decomposed";
|
|
38
|
+
done: "done";
|
|
39
|
+
halted: "halted";
|
|
40
|
+
}>>;
|
|
41
|
+
blockedReason: z.ZodOptional<z.ZodString>;
|
|
42
|
+
retryCount: z.ZodDefault<z.ZodNumber>;
|
|
43
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
44
|
+
lastSessionId: z.ZodOptional<z.ZodString>;
|
|
45
|
+
}, z.core.$strip>>;
|
|
46
|
+
worktree: z.ZodDefault<z.ZodObject<{
|
|
47
|
+
branchName: z.ZodOptional<z.ZodString>;
|
|
48
|
+
worktreePath: z.ZodOptional<z.ZodString>;
|
|
49
|
+
ownerAgent: z.ZodOptional<z.ZodString>;
|
|
50
|
+
leaseExpiresAt: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, z.core.$strip>>;
|
|
52
|
+
updatedAt: z.ZodString;
|
|
53
|
+
}, z.core.$strip>;
|
|
54
|
+
export type TaskExecutionStatus = z.infer<typeof TaskExecutionStatusSchema>;
|
|
55
|
+
export type OpenSwarmTaskState = z.infer<typeof OpenSwarmTaskStateSchema>;
|
|
56
|
+
export declare function getTaskState(issueId: string): OpenSwarmTaskState | undefined;
|
|
57
|
+
export declare function listTaskStates(): OpenSwarmTaskState[];
|
|
58
|
+
export declare function upsertTaskState(issueId: string, patch: Partial<OpenSwarmTaskState>): OpenSwarmTaskState;
|
|
59
|
+
export declare function enrichTaskFromState(task: TaskItem): TaskItem;
|
|
60
|
+
export declare function updateTaskLinearState(issueId: string, linearState: string): OpenSwarmTaskState;
|
|
61
|
+
export declare function markTaskInProgress(issueId: string, patch?: {
|
|
62
|
+
issueIdentifier?: string;
|
|
63
|
+
title?: string;
|
|
64
|
+
projectId?: string;
|
|
65
|
+
projectName?: string;
|
|
66
|
+
linearState?: string;
|
|
67
|
+
sessionId?: string;
|
|
68
|
+
branchName?: string;
|
|
69
|
+
worktreePath?: string;
|
|
70
|
+
}): OpenSwarmTaskState;
|
|
71
|
+
export declare function markTaskDone(issueId: string, patch?: {
|
|
72
|
+
issueIdentifier?: string;
|
|
73
|
+
title?: string;
|
|
74
|
+
confidence?: number;
|
|
75
|
+
linearState?: string;
|
|
76
|
+
}): OpenSwarmTaskState;
|
|
77
|
+
export declare function markTaskBlocked(issueId: string, reason: string, dependencyIssueIds?: string[], linearState?: string): OpenSwarmTaskState;
|
|
78
|
+
export declare function markTaskFailed(issueId: string, reason: string, linearState?: string): OpenSwarmTaskState;
|
|
79
|
+
export declare function markTaskDecomposed(issueId: string, patch: {
|
|
80
|
+
issueIdentifier?: string;
|
|
81
|
+
title?: string;
|
|
82
|
+
projectId?: string;
|
|
83
|
+
projectName?: string;
|
|
84
|
+
parentIssueId?: string;
|
|
85
|
+
childIssueIds: string[];
|
|
86
|
+
}): OpenSwarmTaskState;
|
|
87
|
+
export declare function getTaskReadiness(task: TaskItem): {
|
|
88
|
+
ready: boolean;
|
|
89
|
+
blockedBy: string[];
|
|
90
|
+
reason?: string;
|
|
91
|
+
};
|
|
92
|
+
export declare function releaseDependentTasks(completedIssueId: string): OpenSwarmTaskState[];
|
|
93
|
+
export declare function completeParentIfChildrenDone(childIssueId: string): OpenSwarmTaskState | null;
|
|
94
|
+
export declare function buildTaskStateSyncComment(state: OpenSwarmTaskState, headline: string): string;
|
|
95
|
+
export declare function parseTaskStateSyncComment(body: string): OpenSwarmTaskState | null;
|
|
96
|
+
export declare function hydrateTaskStateFromComments(issueId: string, comments?: Array<{
|
|
97
|
+
body: string;
|
|
98
|
+
createdAt?: string;
|
|
99
|
+
}>): OpenSwarmTaskState | undefined;
|
|
100
|
+
export {};
|
|
101
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/taskState/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// OpenSwarm - Canonical Task State Store
|
|
3
|
+
// ============================================
|
|
4
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
5
|
+
import { dirname, join } from 'node:path';
|
|
6
|
+
import { homedir } from 'node:os';
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
const TASK_STATE_MARKER = '<!-- openswarm:task-state:v1 -->';
|
|
9
|
+
const TaskExecutionStatusSchema = z.enum([
|
|
10
|
+
'backlog',
|
|
11
|
+
'todo',
|
|
12
|
+
'ready',
|
|
13
|
+
'blocked',
|
|
14
|
+
'in_progress',
|
|
15
|
+
'in_review',
|
|
16
|
+
'decomposed',
|
|
17
|
+
'done',
|
|
18
|
+
'failed',
|
|
19
|
+
'halted',
|
|
20
|
+
]);
|
|
21
|
+
const WorktreeStateSchema = z.object({
|
|
22
|
+
branchName: z.string().optional(),
|
|
23
|
+
worktreePath: z.string().optional(),
|
|
24
|
+
ownerAgent: z.string().optional(),
|
|
25
|
+
leaseExpiresAt: z.string().optional(),
|
|
26
|
+
});
|
|
27
|
+
const ExecutionStateSchema = z.object({
|
|
28
|
+
status: TaskExecutionStatusSchema.default('backlog'),
|
|
29
|
+
blockedReason: z.string().optional(),
|
|
30
|
+
retryCount: z.number().int().nonnegative().default(0),
|
|
31
|
+
confidence: z.number().min(0).max(1).optional(),
|
|
32
|
+
lastSessionId: z.string().optional(),
|
|
33
|
+
});
|
|
34
|
+
export const OpenSwarmTaskStateSchema = z.object({
|
|
35
|
+
version: z.literal(1).default(1),
|
|
36
|
+
issueId: z.string(),
|
|
37
|
+
issueIdentifier: z.string().optional(),
|
|
38
|
+
title: z.string().optional(),
|
|
39
|
+
projectId: z.string().optional(),
|
|
40
|
+
projectName: z.string().optional(),
|
|
41
|
+
parentIssueId: z.string().optional(),
|
|
42
|
+
childIssueIds: z.array(z.string()).default([]),
|
|
43
|
+
dependencyIssueIds: z.array(z.string()).default([]),
|
|
44
|
+
dependencyTitles: z.array(z.string()).default([]),
|
|
45
|
+
topoRank: z.number().int().nonnegative().optional(),
|
|
46
|
+
linearState: z.string().optional(),
|
|
47
|
+
execution: ExecutionStateSchema.default({ status: 'backlog', retryCount: 0 }),
|
|
48
|
+
worktree: WorktreeStateSchema.default({}),
|
|
49
|
+
updatedAt: z.string(),
|
|
50
|
+
});
|
|
51
|
+
const TaskStateStoreSchema = z.object({
|
|
52
|
+
version: z.literal(1).default(1),
|
|
53
|
+
tasks: z.record(z.string(), OpenSwarmTaskStateSchema).default({}),
|
|
54
|
+
updatedAt: z.string(),
|
|
55
|
+
});
|
|
56
|
+
let cache = null;
|
|
57
|
+
function getStorePath() {
|
|
58
|
+
return process.env.OPENSWARM_TASK_STATE_FILE || join(homedir(), '.openswarm', 'task-state.json');
|
|
59
|
+
}
|
|
60
|
+
function ensureStoreLoaded() {
|
|
61
|
+
if (cache)
|
|
62
|
+
return cache;
|
|
63
|
+
const path = getStorePath();
|
|
64
|
+
try {
|
|
65
|
+
if (existsSync(path)) {
|
|
66
|
+
const parsed = TaskStateStoreSchema.safeParse(JSON.parse(readFileSync(path, 'utf8')));
|
|
67
|
+
if (parsed.success) {
|
|
68
|
+
cache = parsed.data;
|
|
69
|
+
return cache;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Fall back to empty store.
|
|
75
|
+
}
|
|
76
|
+
cache = {
|
|
77
|
+
version: 1,
|
|
78
|
+
tasks: {},
|
|
79
|
+
updatedAt: new Date().toISOString(),
|
|
80
|
+
};
|
|
81
|
+
return cache;
|
|
82
|
+
}
|
|
83
|
+
function persistStore() {
|
|
84
|
+
const store = ensureStoreLoaded();
|
|
85
|
+
store.updatedAt = new Date().toISOString();
|
|
86
|
+
const path = getStorePath();
|
|
87
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
88
|
+
writeFileSync(path, JSON.stringify(store, null, 2), 'utf8');
|
|
89
|
+
}
|
|
90
|
+
function createDefaultState(issueId) {
|
|
91
|
+
return {
|
|
92
|
+
version: 1,
|
|
93
|
+
issueId,
|
|
94
|
+
childIssueIds: [],
|
|
95
|
+
dependencyIssueIds: [],
|
|
96
|
+
dependencyTitles: [],
|
|
97
|
+
execution: {
|
|
98
|
+
status: 'backlog',
|
|
99
|
+
retryCount: 0,
|
|
100
|
+
},
|
|
101
|
+
worktree: {},
|
|
102
|
+
updatedAt: new Date().toISOString(),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export function getTaskState(issueId) {
|
|
106
|
+
return ensureStoreLoaded().tasks[issueId];
|
|
107
|
+
}
|
|
108
|
+
export function listTaskStates() {
|
|
109
|
+
return Object.values(ensureStoreLoaded().tasks);
|
|
110
|
+
}
|
|
111
|
+
export function upsertTaskState(issueId, patch) {
|
|
112
|
+
const store = ensureStoreLoaded();
|
|
113
|
+
const current = store.tasks[issueId] || createDefaultState(issueId);
|
|
114
|
+
const merged = {
|
|
115
|
+
...current,
|
|
116
|
+
...patch,
|
|
117
|
+
issueId,
|
|
118
|
+
childIssueIds: patch.childIssueIds ?? current.childIssueIds ?? [],
|
|
119
|
+
dependencyIssueIds: patch.dependencyIssueIds ?? current.dependencyIssueIds ?? [],
|
|
120
|
+
dependencyTitles: patch.dependencyTitles ?? current.dependencyTitles ?? [],
|
|
121
|
+
execution: {
|
|
122
|
+
...current.execution,
|
|
123
|
+
...(patch.execution),
|
|
124
|
+
},
|
|
125
|
+
worktree: {
|
|
126
|
+
...current.worktree,
|
|
127
|
+
...(patch.worktree),
|
|
128
|
+
},
|
|
129
|
+
updatedAt: new Date().toISOString(),
|
|
130
|
+
};
|
|
131
|
+
store.tasks[issueId] = OpenSwarmTaskStateSchema.parse(merged);
|
|
132
|
+
persistStore();
|
|
133
|
+
return store.tasks[issueId];
|
|
134
|
+
}
|
|
135
|
+
export function enrichTaskFromState(task) {
|
|
136
|
+
const issueId = task.issueId || task.id;
|
|
137
|
+
const state = getTaskState(issueId);
|
|
138
|
+
if (!state)
|
|
139
|
+
return task;
|
|
140
|
+
return {
|
|
141
|
+
...task,
|
|
142
|
+
parentId: task.parentId || state.parentIssueId,
|
|
143
|
+
blockedBy: task.blockedBy && task.blockedBy.length > 0 ? task.blockedBy : state.dependencyIssueIds,
|
|
144
|
+
topoRank: task.topoRank ?? state.topoRank,
|
|
145
|
+
linearState: task.linearState || state.linearState,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
export function updateTaskLinearState(issueId, linearState) {
|
|
149
|
+
return upsertTaskState(issueId, { linearState });
|
|
150
|
+
}
|
|
151
|
+
export function markTaskInProgress(issueId, patch = {}) {
|
|
152
|
+
return upsertTaskState(issueId, {
|
|
153
|
+
issueIdentifier: patch.issueIdentifier,
|
|
154
|
+
title: patch.title,
|
|
155
|
+
projectId: patch.projectId,
|
|
156
|
+
projectName: patch.projectName,
|
|
157
|
+
linearState: patch.linearState ?? 'In Progress',
|
|
158
|
+
execution: {
|
|
159
|
+
status: 'in_progress',
|
|
160
|
+
blockedReason: undefined,
|
|
161
|
+
retryCount: 0,
|
|
162
|
+
lastSessionId: patch.sessionId,
|
|
163
|
+
},
|
|
164
|
+
worktree: {
|
|
165
|
+
branchName: patch.branchName,
|
|
166
|
+
worktreePath: patch.worktreePath,
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
export function markTaskDone(issueId, patch = {}) {
|
|
171
|
+
return upsertTaskState(issueId, {
|
|
172
|
+
issueIdentifier: patch.issueIdentifier,
|
|
173
|
+
title: patch.title,
|
|
174
|
+
linearState: patch.linearState ?? 'Done',
|
|
175
|
+
execution: {
|
|
176
|
+
status: 'done',
|
|
177
|
+
blockedReason: undefined,
|
|
178
|
+
retryCount: 0,
|
|
179
|
+
confidence: patch.confidence,
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
export function markTaskBlocked(issueId, reason, dependencyIssueIds = [], linearState) {
|
|
184
|
+
return upsertTaskState(issueId, {
|
|
185
|
+
dependencyIssueIds,
|
|
186
|
+
linearState,
|
|
187
|
+
execution: {
|
|
188
|
+
status: 'blocked',
|
|
189
|
+
blockedReason: reason,
|
|
190
|
+
retryCount: 0,
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
export function markTaskFailed(issueId, reason, linearState) {
|
|
195
|
+
return upsertTaskState(issueId, {
|
|
196
|
+
linearState,
|
|
197
|
+
execution: {
|
|
198
|
+
status: 'failed',
|
|
199
|
+
blockedReason: reason,
|
|
200
|
+
retryCount: 0,
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
export function markTaskDecomposed(issueId, patch) {
|
|
205
|
+
return upsertTaskState(issueId, {
|
|
206
|
+
issueIdentifier: patch.issueIdentifier,
|
|
207
|
+
title: patch.title,
|
|
208
|
+
projectId: patch.projectId,
|
|
209
|
+
projectName: patch.projectName,
|
|
210
|
+
parentIssueId: patch.parentIssueId,
|
|
211
|
+
childIssueIds: patch.childIssueIds,
|
|
212
|
+
execution: {
|
|
213
|
+
status: 'decomposed',
|
|
214
|
+
blockedReason: undefined,
|
|
215
|
+
retryCount: 0,
|
|
216
|
+
},
|
|
217
|
+
linearState: 'In Progress',
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
function isResolved(state) {
|
|
221
|
+
if (!state)
|
|
222
|
+
return false;
|
|
223
|
+
return state.execution.status === 'done' || state.linearState === 'Done';
|
|
224
|
+
}
|
|
225
|
+
export function getTaskReadiness(task) {
|
|
226
|
+
const issueId = task.issueId || task.id;
|
|
227
|
+
const state = getTaskState(issueId);
|
|
228
|
+
const dependencyIssueIds = task.blockedBy && task.blockedBy.length > 0
|
|
229
|
+
? task.blockedBy
|
|
230
|
+
: state?.dependencyIssueIds || [];
|
|
231
|
+
if (state?.execution.status === 'decomposed') {
|
|
232
|
+
// If Linear state was manually changed back to actionable, allow re-execution
|
|
233
|
+
const linearState = task.linearState || state.linearState;
|
|
234
|
+
const reactivated = linearState === 'Todo' || linearState === 'In Progress';
|
|
235
|
+
if (!reactivated) {
|
|
236
|
+
return {
|
|
237
|
+
ready: false,
|
|
238
|
+
blockedBy: [],
|
|
239
|
+
reason: 'Task already decomposed into child issues',
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
// Decomposed but Linear state is actionable — allow execution
|
|
243
|
+
console.log(`[TaskState] ${task.issueIdentifier}: decomposed but Linear state is "${linearState}", allowing re-execution`);
|
|
244
|
+
}
|
|
245
|
+
if (dependencyIssueIds.length === 0) {
|
|
246
|
+
return { ready: true, blockedBy: [] };
|
|
247
|
+
}
|
|
248
|
+
const unresolved = dependencyIssueIds.filter((depId) => !isResolved(getTaskState(depId)));
|
|
249
|
+
if (unresolved.length > 0) {
|
|
250
|
+
return {
|
|
251
|
+
ready: false,
|
|
252
|
+
blockedBy: unresolved,
|
|
253
|
+
reason: `Waiting on dependencies: ${unresolved.join(', ')}`,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
return { ready: true, blockedBy: [] };
|
|
257
|
+
}
|
|
258
|
+
export function releaseDependentTasks(completedIssueId) {
|
|
259
|
+
const store = ensureStoreLoaded();
|
|
260
|
+
const released = [];
|
|
261
|
+
for (const state of Object.values(store.tasks)) {
|
|
262
|
+
if (!state.dependencyIssueIds.includes(completedIssueId))
|
|
263
|
+
continue;
|
|
264
|
+
const unresolved = state.dependencyIssueIds.filter((depId) => !isResolved(store.tasks[depId]));
|
|
265
|
+
if (unresolved.length > 0) {
|
|
266
|
+
upsertTaskState(state.issueId, {
|
|
267
|
+
execution: {
|
|
268
|
+
status: 'blocked',
|
|
269
|
+
blockedReason: `Waiting on dependencies: ${unresolved.join(', ')}`,
|
|
270
|
+
retryCount: state.execution.retryCount,
|
|
271
|
+
},
|
|
272
|
+
});
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
const next = upsertTaskState(state.issueId, {
|
|
276
|
+
execution: {
|
|
277
|
+
status: 'todo',
|
|
278
|
+
blockedReason: undefined,
|
|
279
|
+
retryCount: state.execution.retryCount,
|
|
280
|
+
},
|
|
281
|
+
linearState: 'Todo',
|
|
282
|
+
});
|
|
283
|
+
released.push(next);
|
|
284
|
+
}
|
|
285
|
+
return released;
|
|
286
|
+
}
|
|
287
|
+
export function completeParentIfChildrenDone(childIssueId) {
|
|
288
|
+
const childState = getTaskState(childIssueId);
|
|
289
|
+
if (!childState?.parentIssueId)
|
|
290
|
+
return null;
|
|
291
|
+
const parentState = getTaskState(childState.parentIssueId);
|
|
292
|
+
if (!parentState || parentState.childIssueIds.length === 0)
|
|
293
|
+
return null;
|
|
294
|
+
const allDone = parentState.childIssueIds.every((id) => isResolved(getTaskState(id)));
|
|
295
|
+
if (!allDone)
|
|
296
|
+
return null;
|
|
297
|
+
return upsertTaskState(parentState.issueId, {
|
|
298
|
+
linearState: 'Done',
|
|
299
|
+
execution: {
|
|
300
|
+
status: 'done',
|
|
301
|
+
blockedReason: undefined,
|
|
302
|
+
retryCount: parentState.execution.retryCount,
|
|
303
|
+
},
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
export function buildTaskStateSyncComment(state, headline) {
|
|
307
|
+
const deps = state.dependencyIssueIds.length > 0 ? state.dependencyIssueIds.join(', ') : '(none)';
|
|
308
|
+
const children = state.childIssueIds.length > 0 ? state.childIssueIds.join(', ') : '(none)';
|
|
309
|
+
return [
|
|
310
|
+
`🧠**[OpenSwarm] ${headline}**`,
|
|
311
|
+
'',
|
|
312
|
+
`- Status: \`${state.execution.status}\``,
|
|
313
|
+
`- Linear state: \`${state.linearState || 'unknown'}\``,
|
|
314
|
+
`- Parent: \`${state.parentIssueId || 'none'}\``,
|
|
315
|
+
`- Dependencies: \`${deps}\``,
|
|
316
|
+
`- Children: \`${children}\``,
|
|
317
|
+
'',
|
|
318
|
+
TASK_STATE_MARKER,
|
|
319
|
+
'```json',
|
|
320
|
+
JSON.stringify(state, null, 2),
|
|
321
|
+
'```',
|
|
322
|
+
].join('\n');
|
|
323
|
+
}
|
|
324
|
+
export function parseTaskStateSyncComment(body) {
|
|
325
|
+
if (!body.includes(TASK_STATE_MARKER))
|
|
326
|
+
return null;
|
|
327
|
+
const match = body.match(/```json\s*([\s\S]*?)\s*```/);
|
|
328
|
+
if (!match)
|
|
329
|
+
return null;
|
|
330
|
+
try {
|
|
331
|
+
return OpenSwarmTaskStateSchema.parse(JSON.parse(match[1]));
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
export function hydrateTaskStateFromComments(issueId, comments = []) {
|
|
338
|
+
const latest = [...comments]
|
|
339
|
+
.sort((a, b) => (b.createdAt || '').localeCompare(a.createdAt || ''))
|
|
340
|
+
.map((comment) => parseTaskStateSyncComment(comment.body))
|
|
341
|
+
.find((state) => Boolean(state));
|
|
342
|
+
if (!latest)
|
|
343
|
+
return undefined;
|
|
344
|
+
return upsertTaskState(issueId, latest);
|
|
345
|
+
}
|
|
346
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/taskState/store.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@intrect/openswarm",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Autonomous Claude Code agents orchestrator with Discord control and Linear memory",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"openswarm": "dist/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"config.example.yaml",
|
|
13
|
+
"templates",
|
|
14
|
+
"README.md",
|
|
15
|
+
"LICENSE"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"predev": "pkill -f 'tsx src/index.ts' 2>/dev/null || true",
|
|
19
|
+
"dev": "node --env-file=.env --import=tsx src/index.ts",
|
|
20
|
+
"prestart": "pkill -f 'dist/index.js' 2>/dev/null || true",
|
|
21
|
+
"build": "tsc",
|
|
22
|
+
"start": "node --env-file=.env dist/index.js",
|
|
23
|
+
"stop": "pkill -f 'node --env-file=.env.*openswarm' 2>/dev/null || echo 'No process running'",
|
|
24
|
+
"lint": "oxlint src/",
|
|
25
|
+
"typecheck": "tsc --noEmit",
|
|
26
|
+
"test": "node --experimental-vm-modules node_modules/vitest/vitest.mjs run",
|
|
27
|
+
"test:watch": "node --experimental-vm-modules node_modules/vitest/vitest.mjs",
|
|
28
|
+
"chat": "node --env-file=.env --import=tsx src/support/chat.ts",
|
|
29
|
+
"cli:dev": "node --env-file=.env --import=tsx src/cli.ts",
|
|
30
|
+
"perf:measure": "tsx scripts/playwright-rendering-performance.ts",
|
|
31
|
+
"ci": "npm run lint && npm run typecheck && npm run build",
|
|
32
|
+
"service:install": "bash scripts/install-service.sh",
|
|
33
|
+
"service:start": "bash scripts/manage-service.sh start",
|
|
34
|
+
"service:stop": "bash scripts/manage-service.sh stop",
|
|
35
|
+
"service:restart": "bash scripts/manage-service.sh restart",
|
|
36
|
+
"service:status": "bash scripts/manage-service.sh status",
|
|
37
|
+
"service:uninstall": "bash scripts/manage-service.sh uninstall",
|
|
38
|
+
"service:logs": "bash scripts/manage-service.sh logs stdout",
|
|
39
|
+
"service:errors": "bash scripts/manage-service.sh logs stderr",
|
|
40
|
+
"browser:install": "bash scripts/install-browser-launcher.sh",
|
|
41
|
+
"browser:uninstall": "bash scripts/uninstall-browser-launcher.sh"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@anthropic-ai/sdk": "^0.72.1",
|
|
45
|
+
"@lancedb/lancedb": "^0.23.0",
|
|
46
|
+
"@linear/sdk": "^19.0.0",
|
|
47
|
+
"@types/blessed": "^0.1.27",
|
|
48
|
+
"@xenova/transformers": "^2.17.2",
|
|
49
|
+
"apache-arrow": "^18.1.0",
|
|
50
|
+
"blessed": "^0.1.81",
|
|
51
|
+
"commander": "^12.1.0",
|
|
52
|
+
"croner": "^8.0.0",
|
|
53
|
+
"discord.js": "^14.14.1",
|
|
54
|
+
"yaml": "^2.8.2",
|
|
55
|
+
"zod": "^4.3.6"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@types/node": "^22.0.0",
|
|
59
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
60
|
+
"bun-types": "^1.1.0",
|
|
61
|
+
"oxlint": "^1.43.0",
|
|
62
|
+
"playwright": "^1.47.0",
|
|
63
|
+
"tsx": "^4.21.0",
|
|
64
|
+
"typescript": "^5.9.3",
|
|
65
|
+
"vitest": "^4.0.18"
|
|
66
|
+
},
|
|
67
|
+
"engines": {
|
|
68
|
+
"node": ">=22"
|
|
69
|
+
}
|
|
70
|
+
}
|