@stackmemoryai/stackmemory 0.5.5 → 0.5.7
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/dist/agents/core/agent-task-manager.js +4 -0
- package/dist/agents/core/agent-task-manager.js.map +1 -1
- package/dist/agents/testing-agent.js +4 -0
- package/dist/agents/testing-agent.js.map +1 -1
- package/dist/agents/verifiers/base-verifier.js +4 -0
- package/dist/agents/verifiers/base-verifier.js.map +1 -1
- package/dist/agents/verifiers/formatter-verifier.js +4 -0
- package/dist/agents/verifiers/formatter-verifier.js.map +1 -1
- package/dist/agents/verifiers/llm-judge.js +4 -0
- package/dist/agents/verifiers/llm-judge.js.map +1 -1
- package/dist/cli/auto-detect.js +4 -0
- package/dist/cli/auto-detect.js.map +1 -1
- package/dist/cli/browser-test.js +4 -0
- package/dist/cli/browser-test.js.map +1 -1
- package/dist/cli/claude-sm-danger.js +4 -3
- package/dist/cli/claude-sm-danger.js.map +2 -2
- package/dist/cli/claude-sm.js +4 -0
- package/dist/cli/claude-sm.js.map +2 -2
- package/dist/cli/codex-sm.js +4 -0
- package/dist/cli/codex-sm.js.map +1 -1
- package/dist/cli/commands/api.js +4 -0
- package/dist/cli/commands/api.js.map +1 -1
- package/dist/cli/commands/auto-background.js +180 -0
- package/dist/cli/commands/auto-background.js.map +7 -0
- package/dist/cli/commands/cleanup-processes.js +4 -0
- package/dist/cli/commands/cleanup-processes.js.map +1 -1
- package/dist/cli/commands/clear.js +4 -0
- package/dist/cli/commands/clear.js.map +1 -1
- package/dist/cli/commands/config.js +4 -0
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/context-rehydrate.js +4 -0
- package/dist/cli/commands/context-rehydrate.js.map +1 -1
- package/dist/cli/commands/context.js +4 -0
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/dashboard.js +4 -0
- package/dist/cli/commands/dashboard.js.map +1 -1
- package/dist/cli/commands/db.js +4 -0
- package/dist/cli/commands/db.js.map +1 -1
- package/dist/cli/commands/decision.js +4 -0
- package/dist/cli/commands/decision.js.map +1 -1
- package/dist/cli/commands/handoff.js +4 -0
- package/dist/cli/commands/handoff.js.map +1 -1
- package/dist/cli/commands/hooks.js +4 -0
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli/commands/linear-unified.js +4 -0
- package/dist/cli/commands/linear-unified.js.map +1 -1
- package/dist/cli/commands/linear.js +4 -0
- package/dist/cli/commands/linear.js.map +1 -1
- package/dist/cli/commands/log.js +4 -0
- package/dist/cli/commands/log.js.map +1 -1
- package/dist/cli/commands/login.js +4 -0
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/migrate.js +4 -0
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/monitor.js +4 -0
- package/dist/cli/commands/monitor.js.map +1 -1
- package/dist/cli/commands/onboard.js +4 -0
- package/dist/cli/commands/onboard.js.map +1 -1
- package/dist/cli/commands/projects.js +4 -0
- package/dist/cli/commands/projects.js.map +1 -1
- package/dist/cli/commands/quality.js +4 -0
- package/dist/cli/commands/quality.js.map +1 -1
- package/dist/cli/commands/ralph.js +4 -0
- package/dist/cli/commands/ralph.js.map +1 -1
- package/dist/cli/commands/search.js +4 -0
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/service.js +4 -0
- package/dist/cli/commands/service.js.map +1 -1
- package/dist/cli/commands/session.js +4 -0
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/commands/shell.js +5 -4
- package/dist/cli/commands/shell.js.map +2 -2
- package/dist/cli/commands/signup.js +4 -0
- package/dist/cli/commands/signup.js.map +1 -1
- package/dist/cli/commands/skills.js +4 -0
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/storage-tier.js +4 -0
- package/dist/cli/commands/storage-tier.js.map +1 -1
- package/dist/cli/commands/storage.js +4 -0
- package/dist/cli/commands/storage.js.map +1 -1
- package/dist/cli/commands/sweep.js +5 -4
- package/dist/cli/commands/sweep.js.map +2 -2
- package/dist/cli/commands/tasks.js +4 -0
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/commands/test.js +4 -0
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/workflow.js +4 -0
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/commands/worktree.js +4 -0
- package/dist/cli/commands/worktree.js.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +2 -2
- package/dist/cli/utils/viewer.js +4 -0
- package/dist/cli/utils/viewer.js.map +1 -1
- package/dist/core/analytics/team-analytics.js +4 -0
- package/dist/core/analytics/team-analytics.js.map +1 -1
- package/dist/core/config/config-manager.js +4 -0
- package/dist/core/config/config-manager.js.map +1 -1
- package/dist/core/config/storage-config.js +4 -0
- package/dist/core/config/storage-config.js.map +1 -1
- package/dist/core/config/types.js +4 -0
- package/dist/core/config/types.js.map +1 -1
- package/dist/core/context/auto-context.js +4 -0
- package/dist/core/context/auto-context.js.map +1 -1
- package/dist/core/context/compaction-handler.js +4 -0
- package/dist/core/context/compaction-handler.js.map +1 -1
- package/dist/core/context/context-bridge.js +4 -0
- package/dist/core/context/context-bridge.js.map +1 -1
- package/dist/core/context/dual-stack-manager.js +4 -0
- package/dist/core/context/dual-stack-manager.js.map +1 -1
- package/dist/core/context/enhanced-rehydration.js +4 -0
- package/dist/core/context/enhanced-rehydration.js.map +1 -1
- package/dist/core/context/frame-database.js +4 -0
- package/dist/core/context/frame-database.js.map +1 -1
- package/dist/core/context/frame-digest.js +4 -0
- package/dist/core/context/frame-digest.js.map +1 -1
- package/dist/core/context/frame-handoff-manager.js +4 -0
- package/dist/core/context/frame-handoff-manager.js.map +1 -1
- package/dist/core/context/frame-manager.js +4 -0
- package/dist/core/context/frame-manager.js.map +1 -1
- package/dist/core/context/frame-stack.js +4 -0
- package/dist/core/context/frame-stack.js.map +1 -1
- package/dist/core/context/frame-types.js +4 -0
- package/dist/core/context/incremental-gc.js +4 -0
- package/dist/core/context/incremental-gc.js.map +1 -1
- package/dist/core/context/index.js +4 -0
- package/dist/core/context/index.js.map +1 -1
- package/dist/core/context/model-aware-compaction.js +4 -0
- package/dist/core/context/model-aware-compaction.js.map +1 -1
- package/dist/core/context/permission-manager.js +4 -0
- package/dist/core/context/permission-manager.js.map +1 -1
- package/dist/core/context/recursive-context-manager.js +4 -0
- package/dist/core/context/recursive-context-manager.js.map +1 -1
- package/dist/core/context/refactored-frame-manager.js +4 -0
- package/dist/core/context/refactored-frame-manager.js.map +1 -1
- package/dist/core/context/shared-context-layer.js +4 -0
- package/dist/core/context/shared-context-layer.js.map +1 -1
- package/dist/core/context/stack-merge-resolver.js +4 -0
- package/dist/core/context/stack-merge-resolver.js.map +1 -1
- package/dist/core/context/validation.js +4 -0
- package/dist/core/context/validation.js.map +1 -1
- package/dist/core/database/batch-operations.js +4 -0
- package/dist/core/database/batch-operations.js.map +1 -1
- package/dist/core/database/connection-pool.js +4 -0
- package/dist/core/database/connection-pool.js.map +1 -1
- package/dist/core/database/database-adapter.js +4 -0
- package/dist/core/database/database-adapter.js.map +1 -1
- package/dist/core/database/migration-manager.js +4 -0
- package/dist/core/database/migration-manager.js.map +1 -1
- package/dist/core/database/paradedb-adapter.js +4 -0
- package/dist/core/database/paradedb-adapter.js.map +1 -1
- package/dist/core/database/query-cache.js +4 -0
- package/dist/core/database/query-cache.js.map +1 -1
- package/dist/core/database/query-router.js +4 -0
- package/dist/core/database/query-router.js.map +1 -1
- package/dist/core/database/sqlite-adapter.js +4 -0
- package/dist/core/database/sqlite-adapter.js.map +1 -1
- package/dist/core/digest/enhanced-hybrid-digest.js +4 -0
- package/dist/core/digest/enhanced-hybrid-digest.js.map +1 -1
- package/dist/core/digest/frame-digest-integration.js +4 -0
- package/dist/core/digest/frame-digest-integration.js.map +1 -1
- package/dist/core/digest/hybrid-digest-generator.js +4 -0
- package/dist/core/digest/hybrid-digest-generator.js.map +1 -1
- package/dist/core/digest/index.js +4 -0
- package/dist/core/digest/index.js.map +1 -1
- package/dist/core/digest/types.js +4 -0
- package/dist/core/digest/types.js.map +1 -1
- package/dist/core/errors/index.js +4 -0
- package/dist/core/errors/index.js.map +1 -1
- package/dist/core/errors/recovery.js +4 -0
- package/dist/core/errors/recovery.js.map +1 -1
- package/dist/core/execution/parallel-executor.js +4 -0
- package/dist/core/execution/parallel-executor.js.map +1 -1
- package/dist/core/frame/workflow-templates.js +4 -0
- package/dist/core/frame/workflow-templates.js.map +1 -1
- package/dist/core/merge/conflict-detector.js +4 -0
- package/dist/core/merge/conflict-detector.js.map +1 -1
- package/dist/core/merge/index.js +4 -0
- package/dist/core/merge/index.js.map +1 -1
- package/dist/core/merge/resolution-engine.js +4 -0
- package/dist/core/merge/resolution-engine.js.map +1 -1
- package/dist/core/merge/stack-diff.js +4 -0
- package/dist/core/merge/stack-diff.js.map +1 -1
- package/dist/core/merge/types.js +4 -0
- package/dist/core/monitoring/error-handler.js +4 -0
- package/dist/core/monitoring/error-handler.js.map +1 -1
- package/dist/core/monitoring/logger.js +4 -0
- package/dist/core/monitoring/logger.js.map +1 -1
- package/dist/core/monitoring/metrics.js +4 -0
- package/dist/core/monitoring/metrics.js.map +1 -1
- package/dist/core/monitoring/progress-tracker.js +4 -0
- package/dist/core/monitoring/progress-tracker.js.map +1 -1
- package/dist/core/monitoring/session-monitor.js +4 -0
- package/dist/core/monitoring/session-monitor.js.map +1 -1
- package/dist/core/performance/context-cache.js +4 -0
- package/dist/core/performance/context-cache.js.map +1 -1
- package/dist/core/performance/index.js +4 -0
- package/dist/core/performance/index.js.map +1 -1
- package/dist/core/performance/lazy-context-loader.js +4 -0
- package/dist/core/performance/lazy-context-loader.js.map +1 -1
- package/dist/core/performance/monitor.js +4 -0
- package/dist/core/performance/monitor.js.map +1 -1
- package/dist/core/performance/optimized-frame-context.js +4 -0
- package/dist/core/performance/optimized-frame-context.js.map +1 -1
- package/dist/core/performance/performance-benchmark.js +4 -0
- package/dist/core/performance/performance-benchmark.js.map +1 -1
- package/dist/core/performance/performance-profiler.js +4 -0
- package/dist/core/performance/performance-profiler.js.map +1 -1
- package/dist/core/performance/streaming-jsonl-parser.js +4 -0
- package/dist/core/performance/streaming-jsonl-parser.js.map +1 -1
- package/dist/core/persistence/postgres-adapter.js +4 -0
- package/dist/core/persistence/postgres-adapter.js.map +1 -1
- package/dist/core/projects/project-isolation.js +4 -0
- package/dist/core/projects/project-isolation.js.map +1 -1
- package/dist/core/projects/project-manager.js +4 -0
- package/dist/core/projects/project-manager.js.map +1 -1
- package/dist/core/query/query-parser.js +4 -0
- package/dist/core/query/query-parser.js.map +1 -1
- package/dist/core/query/query-templates.js +4 -0
- package/dist/core/query/query-templates.js.map +1 -1
- package/dist/core/retrieval/context-retriever.js +4 -0
- package/dist/core/retrieval/context-retriever.js.map +1 -1
- package/dist/core/retrieval/graph-retrieval.js +4 -0
- package/dist/core/retrieval/graph-retrieval.js.map +1 -1
- package/dist/core/retrieval/hierarchical-retrieval.js +4 -0
- package/dist/core/retrieval/hierarchical-retrieval.js.map +1 -1
- package/dist/core/retrieval/index.js +4 -0
- package/dist/core/retrieval/index.js.map +1 -1
- package/dist/core/retrieval/llm-context-retrieval.js +4 -0
- package/dist/core/retrieval/llm-context-retrieval.js.map +1 -1
- package/dist/core/retrieval/retrieval-benchmarks.js +4 -0
- package/dist/core/retrieval/retrieval-benchmarks.js.map +1 -1
- package/dist/core/retrieval/summary-generator.js +4 -0
- package/dist/core/retrieval/summary-generator.js.map +1 -1
- package/dist/core/retrieval/types.js +4 -0
- package/dist/core/retrieval/types.js.map +1 -1
- package/dist/core/session/clear-survival.js +4 -0
- package/dist/core/session/clear-survival.js.map +1 -1
- package/dist/core/session/enhanced-handoff.js +4 -0
- package/dist/core/session/enhanced-handoff.js.map +1 -1
- package/dist/core/session/handoff-generator.js +4 -0
- package/dist/core/session/handoff-generator.js.map +1 -1
- package/dist/core/session/index.js +4 -0
- package/dist/core/session/index.js.map +1 -1
- package/dist/core/session/session-manager.js +4 -0
- package/dist/core/session/session-manager.js.map +1 -1
- package/dist/core/skills/index.js +4 -0
- package/dist/core/skills/index.js.map +1 -1
- package/dist/core/skills/skill-storage.js +4 -0
- package/dist/core/skills/skill-storage.js.map +1 -1
- package/dist/core/skills/types.js +4 -0
- package/dist/core/skills/types.js.map +1 -1
- package/dist/core/storage/chromadb-adapter.js +4 -0
- package/dist/core/storage/chromadb-adapter.js.map +1 -1
- package/dist/core/storage/infinite-storage.js +4 -0
- package/dist/core/storage/infinite-storage.js.map +1 -1
- package/dist/core/storage/railway-optimized-storage.js +4 -0
- package/dist/core/storage/railway-optimized-storage.js.map +1 -1
- package/dist/core/storage/remote-storage.js +4 -0
- package/dist/core/storage/remote-storage.js.map +1 -1
- package/dist/core/storage/two-tier-storage.js +4 -0
- package/dist/core/storage/two-tier-storage.js.map +1 -1
- package/dist/core/trace/cli-trace-wrapper.js +4 -0
- package/dist/core/trace/cli-trace-wrapper.js.map +1 -1
- package/dist/core/trace/db-trace-wrapper.js +4 -0
- package/dist/core/trace/db-trace-wrapper.js.map +1 -1
- package/dist/core/trace/debug-trace.js +4 -0
- package/dist/core/trace/debug-trace.js.map +1 -1
- package/dist/core/trace/index.js +4 -0
- package/dist/core/trace/index.js.map +1 -1
- package/dist/core/trace/linear-api-wrapper.js +4 -0
- package/dist/core/trace/linear-api-wrapper.js.map +1 -1
- package/dist/core/trace/trace-demo.js +4 -0
- package/dist/core/trace/trace-demo.js.map +1 -1
- package/dist/core/trace/trace-detector.demo.js +4 -0
- package/dist/core/trace/trace-detector.demo.js.map +1 -1
- package/dist/core/trace/trace-detector.js +4 -0
- package/dist/core/trace/trace-detector.js.map +1 -1
- package/dist/core/trace/trace-store.js +4 -0
- package/dist/core/trace/trace-store.js.map +1 -1
- package/dist/core/trace/types.js +4 -0
- package/dist/core/trace/types.js.map +1 -1
- package/dist/core/types.js +4 -0
- package/dist/core/utils/compression.js +4 -0
- package/dist/core/utils/compression.js.map +1 -1
- package/dist/core/utils/update-checker.js +4 -0
- package/dist/core/utils/update-checker.js.map +1 -1
- package/dist/core/worktree/worktree-manager.js +4 -0
- package/dist/core/worktree/worktree-manager.js.map +1 -1
- package/dist/daemon/session-daemon.js +4 -0
- package/dist/daemon/session-daemon.js.map +1 -1
- package/dist/features/analytics/api/analytics-api.js +4 -0
- package/dist/features/analytics/api/analytics-api.js.map +1 -1
- package/dist/features/analytics/core/analytics-service.js +4 -0
- package/dist/features/analytics/core/analytics-service.js.map +1 -1
- package/dist/features/analytics/index.js +4 -0
- package/dist/features/analytics/index.js.map +1 -1
- package/dist/features/analytics/queries/metrics-queries.js +4 -0
- package/dist/features/analytics/queries/metrics-queries.js.map +1 -1
- package/dist/features/analytics/types/metrics.js +4 -0
- package/dist/features/browser/browser-mcp.js +4 -0
- package/dist/features/browser/browser-mcp.js.map +1 -1
- package/dist/features/tasks/linear-task-manager.js +4 -0
- package/dist/features/tasks/linear-task-manager.js.map +1 -1
- package/dist/features/tasks/task-aware-context.js +4 -0
- package/dist/features/tasks/task-aware-context.js.map +1 -1
- package/dist/features/tui/simple-monitor.js +4 -0
- package/dist/features/tui/simple-monitor.js.map +1 -1
- package/dist/features/tui/swarm-monitor.js +4 -0
- package/dist/features/tui/swarm-monitor.js.map +1 -1
- package/dist/features/web/client/stores/task-store.js +4 -0
- package/dist/features/web/client/stores/task-store.js.map +1 -1
- package/dist/features/web/server/index.js +4 -0
- package/dist/features/web/server/index.js.map +1 -1
- package/dist/hooks/auto-background.js +146 -0
- package/dist/hooks/auto-background.js.map +7 -0
- package/dist/hooks/config.js +4 -0
- package/dist/hooks/config.js.map +1 -1
- package/dist/hooks/daemon.js +4 -0
- package/dist/hooks/daemon.js.map +1 -1
- package/dist/hooks/events.js +4 -0
- package/dist/hooks/events.js.map +1 -1
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/index.js.map +2 -2
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/anthropic/client.js +4 -0
- package/dist/integrations/anthropic/client.js.map +1 -1
- package/dist/integrations/claude-code/agent-bridge.js +4 -0
- package/dist/integrations/claude-code/agent-bridge.js.map +1 -1
- package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js +4 -0
- package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +1 -1
- package/dist/integrations/claude-code/lifecycle-hooks.js +4 -0
- package/dist/integrations/claude-code/lifecycle-hooks.js.map +1 -1
- package/dist/integrations/claude-code/post-task-hooks.js +4 -0
- package/dist/integrations/claude-code/post-task-hooks.js.map +1 -1
- package/dist/integrations/claude-code/subagent-client-stub.js +4 -0
- package/dist/integrations/claude-code/subagent-client-stub.js.map +1 -1
- package/dist/integrations/claude-code/subagent-client.js +4 -0
- package/dist/integrations/claude-code/subagent-client.js.map +1 -1
- package/dist/integrations/claude-code/task-coordinator.js +4 -0
- package/dist/integrations/claude-code/task-coordinator.js.map +1 -1
- package/dist/integrations/linear/auth.js +4 -0
- package/dist/integrations/linear/auth.js.map +1 -1
- package/dist/integrations/linear/auto-sync.js +4 -0
- package/dist/integrations/linear/auto-sync.js.map +1 -1
- package/dist/integrations/linear/client.js +4 -0
- package/dist/integrations/linear/client.js.map +1 -1
- package/dist/integrations/linear/config.js +4 -0
- package/dist/integrations/linear/config.js.map +1 -1
- package/dist/integrations/linear/migration.js +4 -0
- package/dist/integrations/linear/migration.js.map +1 -1
- package/dist/integrations/linear/oauth-server.js +4 -0
- package/dist/integrations/linear/oauth-server.js.map +1 -1
- package/dist/integrations/linear/rest-client.js +4 -0
- package/dist/integrations/linear/rest-client.js.map +1 -1
- package/dist/integrations/linear/sync-manager.js +4 -0
- package/dist/integrations/linear/sync-manager.js.map +1 -1
- package/dist/integrations/linear/sync-service.js +4 -0
- package/dist/integrations/linear/sync-service.js.map +1 -1
- package/dist/integrations/linear/sync.js +4 -0
- package/dist/integrations/linear/sync.js.map +1 -1
- package/dist/integrations/linear/types.js +4 -0
- package/dist/integrations/linear/unified-sync.js +4 -0
- package/dist/integrations/linear/unified-sync.js.map +1 -1
- package/dist/integrations/linear/webhook-handler.js +4 -0
- package/dist/integrations/linear/webhook-handler.js.map +1 -1
- package/dist/integrations/linear/webhook-server.js +4 -0
- package/dist/integrations/linear/webhook-server.js.map +1 -1
- package/dist/integrations/linear/webhook.js +4 -0
- package/dist/integrations/linear/webhook.js.map +1 -1
- package/dist/integrations/mcp/handlers/code-execution-handlers.js +4 -0
- package/dist/integrations/mcp/handlers/code-execution-handlers.js.map +1 -1
- package/dist/integrations/mcp/handlers/context-handlers.js +4 -0
- package/dist/integrations/mcp/handlers/context-handlers.js.map +1 -1
- package/dist/integrations/mcp/handlers/index.js +4 -0
- package/dist/integrations/mcp/handlers/index.js.map +1 -1
- package/dist/integrations/mcp/handlers/linear-handlers.js +4 -0
- package/dist/integrations/mcp/handlers/linear-handlers.js.map +1 -1
- package/dist/integrations/mcp/handlers/skill-handlers.js +4 -0
- package/dist/integrations/mcp/handlers/skill-handlers.js.map +1 -1
- package/dist/integrations/mcp/handlers/task-handlers.js +4 -0
- package/dist/integrations/mcp/handlers/task-handlers.js.map +1 -1
- package/dist/integrations/mcp/handlers/trace-handlers.js +4 -0
- package/dist/integrations/mcp/handlers/trace-handlers.js.map +1 -1
- package/dist/integrations/mcp/index.js +4 -0
- package/dist/integrations/mcp/index.js.map +1 -1
- package/dist/integrations/mcp/middleware/tool-scoring.js +4 -0
- package/dist/integrations/mcp/middleware/tool-scoring.js.map +1 -1
- package/dist/integrations/mcp/refactored-server.js +4 -0
- package/dist/integrations/mcp/refactored-server.js.map +1 -1
- package/dist/integrations/mcp/server.js +4 -0
- package/dist/integrations/mcp/server.js.map +1 -1
- package/dist/integrations/mcp/tool-definitions-code.js +4 -0
- package/dist/integrations/mcp/tool-definitions-code.js.map +1 -1
- package/dist/integrations/mcp/tool-definitions.js +4 -0
- package/dist/integrations/mcp/tool-definitions.js.map +1 -1
- package/dist/integrations/mcp/trace-test.js +4 -0
- package/dist/integrations/mcp/trace-test.js.map +1 -1
- package/dist/integrations/pg-aiguide/embedding-provider.js +4 -0
- package/dist/integrations/pg-aiguide/embedding-provider.js.map +1 -1
- package/dist/integrations/pg-aiguide/semantic-search.js +4 -0
- package/dist/integrations/pg-aiguide/semantic-search.js.map +1 -1
- package/dist/integrations/pg-aiguide/timescale-analytics.js +4 -0
- package/dist/integrations/pg-aiguide/timescale-analytics.js.map +1 -1
- package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js +4 -0
- package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +1 -1
- package/dist/integrations/ralph/context/context-budget-manager.js +4 -0
- package/dist/integrations/ralph/context/context-budget-manager.js.map +1 -1
- package/dist/integrations/ralph/context/stackmemory-context-loader.js +4 -0
- package/dist/integrations/ralph/context/stackmemory-context-loader.js.map +1 -1
- package/dist/integrations/ralph/coordination/enhanced-coordination.js +4 -0
- package/dist/integrations/ralph/coordination/enhanced-coordination.js.map +1 -1
- package/dist/integrations/ralph/index.js +4 -0
- package/dist/integrations/ralph/index.js.map +1 -1
- package/dist/integrations/ralph/learning/pattern-learner.js +4 -0
- package/dist/integrations/ralph/learning/pattern-learner.js.map +1 -1
- package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js +4 -0
- package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js.map +1 -1
- package/dist/integrations/ralph/monitoring/swarm-dashboard.js +4 -0
- package/dist/integrations/ralph/monitoring/swarm-dashboard.js.map +1 -1
- package/dist/integrations/ralph/monitoring/swarm-registry.js +4 -0
- package/dist/integrations/ralph/monitoring/swarm-registry.js.map +1 -1
- package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js +4 -0
- package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +1 -1
- package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js +4 -0
- package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js.map +1 -1
- package/dist/integrations/ralph/patterns/extended-coherence-sessions.js +4 -0
- package/dist/integrations/ralph/patterns/extended-coherence-sessions.js.map +1 -1
- package/dist/integrations/ralph/patterns/oracle-worker-pattern.js +4 -0
- package/dist/integrations/ralph/patterns/oracle-worker-pattern.js.map +1 -1
- package/dist/integrations/ralph/performance/performance-optimizer.js +4 -0
- package/dist/integrations/ralph/performance/performance-optimizer.js.map +1 -1
- package/dist/integrations/ralph/ralph-integration-demo.js +4 -0
- package/dist/integrations/ralph/ralph-integration-demo.js.map +1 -1
- package/dist/integrations/ralph/recovery/crash-recovery.js +4 -0
- package/dist/integrations/ralph/recovery/crash-recovery.js.map +1 -1
- package/dist/integrations/ralph/state/state-reconciler.js +4 -0
- package/dist/integrations/ralph/state/state-reconciler.js.map +1 -1
- package/dist/integrations/ralph/swarm/git-workflow-manager.js +4 -0
- package/dist/integrations/ralph/swarm/git-workflow-manager.js.map +1 -1
- package/dist/integrations/ralph/swarm/swarm-coordinator.js +4 -0
- package/dist/integrations/ralph/swarm/swarm-coordinator.js.map +1 -1
- package/dist/integrations/ralph/types.js +4 -0
- package/dist/integrations/ralph/visualization/ralph-debugger.js +4 -0
- package/dist/integrations/ralph/visualization/ralph-debugger.js.map +1 -1
- package/dist/mcp/stackmemory-mcp-server.js +4 -0
- package/dist/mcp/stackmemory-mcp-server.js.map +1 -1
- package/dist/middleware/exponential-rate-limiter.js +4 -0
- package/dist/middleware/exponential-rate-limiter.js.map +1 -1
- package/dist/models/user.model.js +4 -0
- package/dist/models/user.model.js.map +1 -1
- package/dist/servers/production/auth-middleware.js +4 -0
- package/dist/servers/production/auth-middleware.js.map +1 -1
- package/dist/servers/railway/config.js +4 -0
- package/dist/servers/railway/config.js.map +1 -1
- package/dist/servers/railway/index-enhanced.js +4 -0
- package/dist/servers/railway/index-enhanced.js.map +1 -1
- package/dist/servers/railway/index.js +4 -0
- package/dist/servers/railway/index.js.map +1 -1
- package/dist/servers/railway/simple.js +4 -0
- package/dist/servers/railway/simple.js.map +1 -1
- package/dist/servers/railway/storage-test.js +4 -0
- package/dist/servers/railway/storage-test.js.map +1 -1
- package/dist/services/config-service.js +4 -0
- package/dist/services/config-service.js.map +1 -1
- package/dist/services/context-service.js +4 -0
- package/dist/services/context-service.js.map +1 -1
- package/dist/skills/api-discovery.js +4 -0
- package/dist/skills/api-discovery.js.map +1 -1
- package/dist/skills/api-skill.js +4 -0
- package/dist/skills/api-skill.js.map +1 -1
- package/dist/skills/claude-skills.js +4 -0
- package/dist/skills/claude-skills.js.map +1 -1
- package/dist/skills/dashboard-launcher.js +4 -0
- package/dist/skills/dashboard-launcher.js.map +1 -1
- package/dist/skills/recursive-agent-orchestrator.js +4 -0
- package/dist/skills/recursive-agent-orchestrator.js.map +1 -1
- package/dist/skills/repo-ingestion-skill.js +4 -0
- package/dist/skills/repo-ingestion-skill.js.map +1 -1
- package/dist/skills/security-secrets-scanner.js +4 -0
- package/dist/skills/security-secrets-scanner.js.map +1 -1
- package/dist/skills/unified-rlm-orchestrator.js +4 -0
- package/dist/skills/unified-rlm-orchestrator.js.map +1 -1
- package/dist/types/task.js +4 -0
- package/dist/utils/env.js +4 -0
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/formatting.js +4 -0
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/process-cleanup.js +4 -0
- package/dist/utils/process-cleanup.js.map +1 -1
- package/dist/validation/schemas.js +4 -0
- package/dist/validation/schemas.js.map +1 -1
- package/package.json +1 -1
- package/scripts/install-auto-background-hook.sh +144 -0
- package/templates/claude-hooks/auto-background-hook.js +156 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/recovery/crash-recovery.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Crash Recovery System for Ralph Swarms\n * Handles failures, provides auto-recovery, and maintains swarm resilience\n */\n\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\nimport { logger } from '../../../core/monitoring/logger.js';\nimport { SwarmCoordinator } from '../swarm/swarm-coordinator.js';\nimport { Agent, SwarmState } from '../types.js';\n\nexport interface RecoveryCheckpoint {\n id: string;\n swarmId: string;\n timestamp: number;\n swarmState: SwarmState;\n agents: Agent[];\n tasks: any[];\n errorLog: CrashReport[];\n databaseBackup?: string;\n gitState: {\n currentBranch: string;\n uncommittedChanges: string[];\n activeBranches: string[];\n };\n}\n\nexport interface CrashReport {\n id: string;\n timestamp: number;\n agentId?: string;\n errorType:\n | 'database_failure'\n | 'git_conflict'\n | 'agent_timeout'\n | 'memory_overflow'\n | 'network_error';\n error: Error;\n context: any;\n recoveryAction: string;\n severity: 'low' | 'medium' | 'high' | 'critical';\n resolved: boolean;\n}\n\nexport interface RecoveryStrategy {\n errorType: string;\n condition: (error: Error, context: any) => boolean;\n action: (\n report: CrashReport,\n recovery: CrashRecoverySystem\n ) => Promise<boolean>;\n maxRetries: number;\n backoffMs: number;\n}\n\nexport class CrashRecoverySystem {\n private checkpoints: Map<string, RecoveryCheckpoint> = new Map();\n private crashReports: CrashReport[] = [];\n private recoveryStrategies: RecoveryStrategy[] = [];\n private swarmCoordinator: SwarmCoordinator;\n private checkpointInterval?: NodeJS.Timeout;\n private recoveryDir: string;\n\n constructor(\n swarmCoordinator: SwarmCoordinator,\n recoveryDir: string = '.swarm/recovery'\n ) {\n this.swarmCoordinator = swarmCoordinator;\n this.recoveryDir = recoveryDir;\n this.setupRecoveryStrategies();\n }\n\n /**\n * Initialize crash recovery system\n */\n async initialize(): Promise<void> {\n await this.ensureRecoveryDirectory();\n await this.loadExistingCheckpoints();\n this.startPeriodicCheckpoints();\n\n // Set up global error handlers\n process.on('unhandledRejection', (reason, promise) => {\n this.handleCrash(new Error(`Unhandled Rejection: ${reason}`), {\n type: 'unhandled_rejection',\n promise: promise.toString(),\n });\n });\n\n process.on('uncaughtException', (error) => {\n this.handleCrash(error, { type: 'uncaught_exception' });\n });\n\n logger.info('Crash recovery system initialized');\n }\n\n /**\n * Create recovery checkpoint\n */\n async createCheckpoint(\n swarmId: string,\n reason: string = 'periodic'\n ): Promise<string> {\n try {\n const swarmState = (this.swarmCoordinator as any).swarmState;\n const agents = Array.from(\n (this.swarmCoordinator as any).activeAgents.values()\n );\n\n const checkpoint: RecoveryCheckpoint = {\n id: this.generateId(),\n swarmId,\n timestamp: Date.now(),\n swarmState: { ...swarmState },\n agents: agents.map((agent) => ({ ...agent })),\n tasks: swarmState.tasks || [],\n errorLog: this.crashReports.slice(-10), // Last 10 errors\n gitState: await this.captureGitState(),\n };\n\n // Save to disk\n const checkpointPath = path.join(\n this.recoveryDir,\n `checkpoint-${checkpoint.id}.json`\n );\n await fs.writeFile(checkpointPath, JSON.stringify(checkpoint, null, 2));\n\n this.checkpoints.set(checkpoint.id, checkpoint);\n\n logger.info(\n `Created checkpoint ${checkpoint.id} for swarm ${swarmId} (${reason})`\n );\n return checkpoint.id;\n } catch (error) {\n logger.error('Failed to create checkpoint:', error as Error);\n throw error;\n }\n }\n\n /**\n * Handle crash or error\n */\n async handleCrash(error: Error, context: any = {}): Promise<void> {\n const report: CrashReport = {\n id: this.generateId(),\n timestamp: Date.now(),\n agentId: context.agentId,\n errorType: this.classifyError(error, context),\n error,\n context,\n recoveryAction: '',\n severity: this.assessSeverity(error, context),\n resolved: false,\n };\n\n this.crashReports.push(report);\n logger.error(`Crash detected [${report.id}]:`, error);\n\n // Attempt automatic recovery\n const recovered = await this.attemptRecovery(report);\n\n if (recovered) {\n report.resolved = true;\n report.recoveryAction = 'auto_recovered';\n logger.info(`Successfully recovered from crash ${report.id}`);\n } else {\n logger.error(`Failed to recover from crash ${report.id}`);\n\n if (report.severity === 'critical') {\n await this.escalateCriticalFailure(report);\n }\n }\n\n // Save crash report\n await this.saveCrashReport(report);\n }\n\n /**\n * Restore from checkpoint\n */\n async restoreFromCheckpoint(checkpointId: string): Promise<boolean> {\n try {\n const checkpoint = this.checkpoints.get(checkpointId);\n if (!checkpoint) {\n logger.error(`Checkpoint ${checkpointId} not found`);\n return false;\n }\n\n logger.info(`Restoring from checkpoint ${checkpointId}`);\n\n // Restore git state\n await this.restoreGitState(checkpoint.gitState);\n\n // Restore database if backup exists\n if (checkpoint.databaseBackup) {\n await this.restoreDatabase(checkpoint.databaseBackup);\n }\n\n // Restore swarm state\n await this.restoreSwarmState(checkpoint);\n\n logger.info(`Successfully restored from checkpoint ${checkpointId}`);\n return true;\n } catch (error) {\n logger.error(\n `Failed to restore from checkpoint ${checkpointId}:`,\n error as Error\n );\n return false;\n }\n }\n\n /**\n * Get recovery recommendations\n */\n getRecoveryRecommendations(): {\n recentCheckpoints: RecoveryCheckpoint[];\n frequentErrors: Array<{\n type: string;\n count: number;\n lastOccurrence: number;\n }>;\n recoveryActions: string[];\n systemHealth: 'good' | 'degraded' | 'critical';\n } {\n const recent = Date.now() - 3600000; // Last hour\n const recentCheckpoints = Array.from(this.checkpoints.values())\n .filter((cp) => cp.timestamp > recent)\n .sort((a, b) => b.timestamp - a.timestamp)\n .slice(0, 5);\n\n const errorCounts = new Map<string, number>();\n const errorTimes = new Map<string, number>();\n\n for (const report of this.crashReports.filter(\n (r) => r.timestamp > recent\n )) {\n errorCounts.set(\n report.errorType,\n (errorCounts.get(report.errorType) || 0) + 1\n );\n errorTimes.set(\n report.errorType,\n Math.max(errorTimes.get(report.errorType) || 0, report.timestamp)\n );\n }\n\n const frequentErrors = Array.from(errorCounts.entries())\n .map(([type, count]) => ({\n type,\n count,\n lastOccurrence: errorTimes.get(type) || 0,\n }))\n .sort((a, b) => b.count - a.count);\n\n const criticalErrors = this.crashReports.filter(\n (r) => r.severity === 'critical' && r.timestamp > recent && !r.resolved\n );\n\n const systemHealth =\n criticalErrors.length > 0\n ? 'critical'\n : frequentErrors.length > 3\n ? 'degraded'\n : 'good';\n\n return {\n recentCheckpoints,\n frequentErrors,\n recoveryActions: this.generateRecoveryActions(frequentErrors),\n systemHealth,\n };\n }\n\n /**\n * Auto-recovery from common failures\n */\n async attemptAutoRecovery(swarmId: string): Promise<boolean> {\n logger.info(`Attempting auto-recovery for swarm ${swarmId}`);\n\n try {\n // 1. Check for recent checkpoint\n const recentCheckpoint = this.findRecentCheckpoint(swarmId);\n if (recentCheckpoint) {\n logger.info(`Found recent checkpoint: ${recentCheckpoint.id}`);\n return await this.restoreFromCheckpoint(recentCheckpoint.id);\n }\n\n // 2. Attempt graceful restart\n await this.swarmCoordinator.forceCleanup();\n\n // 3. Clear problematic state\n await this.clearProblematicState();\n\n // 4. Restart with minimal configuration\n logger.info('Restarting swarm with minimal configuration');\n return true;\n } catch (error) {\n logger.error('Auto-recovery failed:', error as Error);\n return false;\n }\n }\n\n private async attemptRecovery(report: CrashReport): Promise<boolean> {\n // Find appropriate recovery strategy\n for (const strategy of this.recoveryStrategies) {\n if (strategy.condition(report.error, report.context)) {\n logger.info(`Applying recovery strategy: ${strategy.errorType}`);\n\n let retries = 0;\n while (retries < strategy.maxRetries) {\n try {\n const success = await strategy.action(report, this);\n if (success) {\n report.recoveryAction = strategy.errorType;\n return true;\n }\n } catch (error) {\n logger.warn(\n `Recovery attempt ${retries + 1} failed:`,\n error as Error\n );\n }\n\n retries++;\n if (retries < strategy.maxRetries) {\n await this.sleep(strategy.backoffMs * Math.pow(2, retries));\n }\n }\n }\n }\n\n return false;\n }\n\n private classifyError(error: Error, context: any): CrashReport['errorType'] {\n const message = error.message.toLowerCase();\n\n if (message.includes('database') || message.includes('sqlite')) {\n return 'database_failure';\n } else if (message.includes('git') || message.includes('branch')) {\n return 'git_conflict';\n } else if (message.includes('timeout') || context.timeout) {\n return 'agent_timeout';\n } else if (message.includes('memory') || message.includes('heap')) {\n return 'memory_overflow';\n } else if (message.includes('network') || message.includes('connect')) {\n return 'network_error';\n }\n\n return 'database_failure'; // Default\n }\n\n private assessSeverity(error: Error, context: any): CrashReport['severity'] {\n if (context.type === 'uncaught_exception') return 'critical';\n if (error.message.includes('unhandled')) return 'high';\n if (error.message.includes('database')) return 'medium';\n return 'low';\n }\n\n private setupRecoveryStrategies(): void {\n this.recoveryStrategies = [\n {\n errorType: 'database_failure',\n condition: (error) =>\n error.message.includes('database') ||\n error.message.includes('sqlite'),\n action: async (report, recovery) => {\n // Reinitialize database connection\n logger.info('Attempting database recovery');\n\n // Create new database adapter\n try {\n await recovery.clearProblematicState();\n return true;\n } catch {\n return false;\n }\n },\n maxRetries: 3,\n backoffMs: 1000,\n },\n {\n errorType: 'git_conflict',\n condition: (error) =>\n error.message.includes('git') || error.message.includes('branch'),\n action: async (report, recovery) => {\n logger.info('Attempting git conflict resolution');\n\n try {\n // Force cleanup git state\n const { execSync } = await import('child_process');\n execSync('git checkout main', { stdio: 'ignore' });\n execSync('git reset --hard HEAD', { stdio: 'ignore' });\n return true;\n } catch {\n return false;\n }\n },\n maxRetries: 2,\n backoffMs: 500,\n },\n {\n errorType: 'agent_timeout',\n condition: (error, context) =>\n error.message.includes('timeout') || context.timeout,\n action: async (report, recovery) => {\n logger.info('Attempting agent timeout recovery');\n\n // Force cleanup stuck agents\n await recovery.swarmCoordinator.forceCleanup();\n return true;\n },\n maxRetries: 1,\n backoffMs: 2000,\n },\n {\n errorType: 'memory_overflow',\n condition: (error) =>\n error.message.includes('memory') || error.message.includes('heap'),\n action: async (report, recovery) => {\n logger.info('Attempting memory recovery');\n\n // Force garbage collection\n if (global.gc) global.gc();\n\n // Cleanup old checkpoints\n await recovery.cleanupOldCheckpoints(5);\n return true;\n },\n maxRetries: 1,\n backoffMs: 5000,\n },\n ];\n }\n\n private async captureGitState(): Promise<RecoveryCheckpoint['gitState']> {\n try {\n const { execSync } = await import('child_process');\n\n const currentBranch = execSync('git branch --show-current', {\n encoding: 'utf8',\n }).trim();\n const statusOutput = execSync('git status --porcelain', {\n encoding: 'utf8',\n });\n const uncommittedChanges = statusOutput\n .trim()\n .split('\\n')\n .filter(Boolean);\n const branchesOutput = execSync('git branch', { encoding: 'utf8' });\n const activeBranches = branchesOutput\n .split('\\n')\n .map((line) => line.trim().replace(/^\\*?\\s*/, ''))\n .filter(Boolean);\n\n return {\n currentBranch,\n uncommittedChanges,\n activeBranches,\n };\n } catch (error) {\n logger.warn('Failed to capture git state:', error as Error);\n return {\n currentBranch: 'unknown',\n uncommittedChanges: [],\n activeBranches: [],\n };\n }\n }\n\n private async restoreGitState(\n gitState: RecoveryCheckpoint['gitState']\n ): Promise<void> {\n try {\n const { execSync } = await import('child_process');\n execSync(`git checkout ${gitState.currentBranch}`, { stdio: 'ignore' });\n logger.info(`Restored git branch: ${gitState.currentBranch}`);\n } catch (error) {\n logger.warn('Failed to restore git state:', error as Error);\n }\n }\n\n private async restoreDatabase(backupPath: string): Promise<void> {\n // Implementation would restore database from backup\n logger.info(`Restoring database from ${backupPath}`);\n }\n\n private async restoreSwarmState(\n checkpoint: RecoveryCheckpoint\n ): Promise<void> {\n // Implementation would restore swarm coordinator state\n logger.info(`Restoring swarm state from checkpoint ${checkpoint.id}`);\n }\n\n private findRecentCheckpoint(swarmId: string): RecoveryCheckpoint | null {\n const recent = Date.now() - 1800000; // 30 minutes\n\n return (\n Array.from(this.checkpoints.values())\n .filter((cp) => cp.swarmId === swarmId && cp.timestamp > recent)\n .sort((a, b) => b.timestamp - a.timestamp)[0] || null\n );\n }\n\n private async clearProblematicState(): Promise<void> {\n try {\n // Clear temporary files\n await this.cleanupTempFiles();\n\n // Reset any stuck locks\n // Implementation specific cleanup\n\n logger.info('Cleared problematic state');\n } catch (error) {\n logger.error('Failed to clear problematic state:', error as Error);\n }\n }\n\n private async cleanupTempFiles(): Promise<void> {\n // Cleanup implementation\n }\n\n private async cleanupOldCheckpoints(keepCount: number): Promise<void> {\n const sorted = Array.from(this.checkpoints.values()).sort(\n (a, b) => b.timestamp - a.timestamp\n );\n\n const toDelete = sorted.slice(keepCount);\n\n for (const checkpoint of toDelete) {\n try {\n const checkpointPath = path.join(\n this.recoveryDir,\n `checkpoint-${checkpoint.id}.json`\n );\n await fs.unlink(checkpointPath);\n this.checkpoints.delete(checkpoint.id);\n } catch (error) {\n logger.warn(\n `Failed to delete checkpoint ${checkpoint.id}:`,\n error as Error\n );\n }\n }\n\n logger.info(`Cleaned up ${toDelete.length} old checkpoints`);\n }\n\n private async escalateCriticalFailure(report: CrashReport): Promise<void> {\n logger.error(`CRITICAL FAILURE [${report.id}]: ${report.error.message}`);\n\n // Create emergency checkpoint\n try {\n const swarmState = (this.swarmCoordinator as any).swarmState;\n if (swarmState?.id) {\n await this.createCheckpoint(swarmState.id, 'critical_failure');\n }\n } catch {\n logger.error('Failed to create emergency checkpoint');\n }\n\n // Graceful shutdown\n await this.swarmCoordinator.forceCleanup();\n }\n\n private generateRecoveryActions(\n frequentErrors: Array<{ type: string; count: number }>\n ): string[] {\n const actions: string[] = [];\n\n for (const { type, count } of frequentErrors) {\n if (count > 3) {\n switch (type) {\n case 'database_failure':\n actions.push('Consider upgrading database configuration');\n break;\n case 'git_conflict':\n actions.push('Review git workflow and branch strategy');\n break;\n case 'agent_timeout':\n actions.push(\n 'Increase agent timeout limits or reduce task complexity'\n );\n break;\n case 'memory_overflow':\n actions.push('Monitor memory usage and consider increasing limits');\n break;\n }\n }\n }\n\n return actions;\n }\n\n private startPeriodicCheckpoints(): void {\n this.checkpointInterval = setInterval(async () => {\n const swarmState = (this.swarmCoordinator as any).swarmState;\n if (swarmState?.id && swarmState.status === 'active') {\n await this.createCheckpoint(swarmState.id, 'periodic');\n }\n }, 300000); // Every 5 minutes\n }\n\n private async ensureRecoveryDirectory(): Promise<void> {\n try {\n await fs.mkdir(this.recoveryDir, { recursive: true });\n } catch (error) {\n logger.error('Failed to create recovery directory:', error as Error);\n }\n }\n\n private async loadExistingCheckpoints(): Promise<void> {\n try {\n const files = await fs.readdir(this.recoveryDir);\n\n for (const file of files) {\n if (file.startsWith('checkpoint-') && file.endsWith('.json')) {\n try {\n const content = await fs.readFile(\n path.join(this.recoveryDir, file),\n 'utf8'\n );\n const checkpoint: RecoveryCheckpoint = JSON.parse(content);\n this.checkpoints.set(checkpoint.id, checkpoint);\n } catch (error) {\n logger.warn(`Failed to load checkpoint ${file}:`, error as Error);\n }\n }\n }\n\n logger.info(`Loaded ${this.checkpoints.size} existing checkpoints`);\n } catch (error) {\n logger.warn('Failed to load existing checkpoints:', error as Error);\n }\n }\n\n private async saveCrashReport(report: CrashReport): Promise<void> {\n try {\n const reportPath = path.join(this.recoveryDir, `crash-${report.id}.json`);\n await fs.writeFile(reportPath, JSON.stringify(report, null, 2));\n } catch (error) {\n logger.error('Failed to save crash report:', error as Error);\n }\n }\n\n private sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n private generateId(): string {\n return `recovery_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n }\n}\n\nexport default CrashRecoverySystem;\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
2
|
+
import { dirname as __pathDirname } from 'path';
|
|
3
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
4
|
+
const __dirname = __pathDirname(__filename);
|
|
1
5
|
import * as fs from "fs/promises";
|
|
2
6
|
import * as path from "path";
|
|
3
7
|
import { execSync } from "child_process";
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/state/state-reconciler.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * State Reconciler for Ralph-StackMemory Integration\n * Handles conflict resolution and state consistency across git, files, and memory\n */\n\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\nimport { execSync } from 'child_process';\nimport { logger } from '../../../core/monitoring/logger.js';\nimport {\n RalphLoopState,\n StateSource,\n Conflict,\n Resolution,\n ValidationResult,\n RalphStackMemoryConfig,\n} from '../types.js';\n\nexport class StateReconciler {\n private config: RalphStackMemoryConfig['stateReconciliation'];\n private readonly ralphDir = '.ralph';\n private reconciliationLog: Resolution[] = [];\n\n constructor(config?: Partial<RalphStackMemoryConfig['stateReconciliation']>) {\n this.config = {\n precedence: config?.precedence || ['git', 'files', 'memory'],\n conflictResolution: config?.conflictResolution || 'automatic',\n syncInterval: config?.syncInterval || 5000,\n validateConsistency: config?.validateConsistency ?? true,\n };\n }\n\n /**\n * Reconcile state from multiple sources\n */\n async reconcile(sources: StateSource[]): Promise<RalphLoopState> {\n logger.info('Reconciling state from sources', {\n sources: sources.map(s => ({ type: s.type, confidence: s.confidence })),\n });\n\n // Sort sources by precedence\n const sortedSources = this.sortByPrecedence(sources);\n \n // Detect conflicts\n const conflicts = this.detectConflicts(sortedSources);\n \n if (conflicts.length > 0) {\n logger.warn('State conflicts detected', {\n count: conflicts.length,\n fields: conflicts.map(c => c.field),\n });\n\n // Resolve conflicts based on configuration\n const resolutions = await this.resolveConflicts(conflicts);\n return this.applyResolutions(sortedSources[0].state as RalphLoopState, resolutions);\n }\n\n // No conflicts, merge states\n return this.mergeStates(sortedSources);\n }\n\n /**\n * Detect conflicts between state sources\n */\n detectConflicts(sources: StateSource[]): Conflict[] {\n const conflicts: Conflict[] = [];\n const fields = new Set<string>();\n\n // Collect all fields across sources\n sources.forEach(source => {\n Object.keys(source.state).forEach(field => fields.add(field));\n });\n\n // Check each field for conflicts\n for (const field of fields) {\n const values = sources\n .filter(s => s.state[field as keyof RalphLoopState] !== undefined)\n .map(s => ({\n source: s,\n value: s.state[field as keyof RalphLoopState],\n }));\n\n if (values.length > 1 && !this.valuesMatch(values.map(v => v.value))) {\n conflicts.push({\n field,\n sources: values.map(v => v.source),\n severity: this.assessConflictSeverity(field),\n suggestedResolution: this.suggestResolution(field, values.map(v => v.source)),\n });\n }\n }\n\n return conflicts;\n }\n\n /**\n * Resolve a single conflict\n */\n async resolveConflict(conflict: Conflict): Promise<Resolution> {\n const resolution = await this.resolveConflictByStrategy(conflict);\n \n this.reconciliationLog.push(resolution);\n \n logger.debug('Conflict resolved', {\n field: conflict.field,\n resolution: resolution.source,\n rationale: resolution.rationale,\n });\n\n return resolution;\n }\n\n /**\n * Validate state consistency\n */\n async validateConsistency(state: RalphLoopState): Promise<ValidationResult> {\n const errors: string[] = [];\n const warnings: string[] = [];\n\n try {\n // Validate file system state\n await this.validateFileSystemState(state, errors, warnings);\n \n // Validate git state\n this.validateGitState(state, errors, warnings);\n \n // Validate logical consistency\n this.validateLogicalConsistency(state, errors, warnings);\n\n return {\n testsPass: errors.length === 0,\n lintClean: true,\n buildSuccess: true,\n errors,\n warnings,\n };\n } catch (error: any) {\n errors.push(`Validation failed: ${error.message}`);\n return {\n testsPass: false,\n lintClean: false,\n buildSuccess: false,\n errors,\n warnings,\n };\n }\n }\n\n /**\n * Get state from git\n */\n async getGitState(): Promise<StateSource> {\n try {\n const currentCommit = execSync('git rev-parse HEAD', { encoding: 'utf8' }).trim();\n const branch = execSync('git branch --show-current', { encoding: 'utf8' }).trim();\n const uncommittedChanges = execSync('git status --porcelain', { encoding: 'utf8' });\n \n // Check for Ralph commits\n const ralphCommits = execSync('git log --oneline --grep=\"Ralph iteration\"', {\n encoding: 'utf8',\n }).split('\\n').filter(Boolean);\n\n const lastRalphCommit = ralphCommits[0]?.split(' ')[0];\n const iteration = ralphCommits.length;\n\n return {\n type: 'git',\n state: {\n currentCommit,\n startCommit: lastRalphCommit,\n iteration,\n status: uncommittedChanges ? 'running' : 'completed',\n },\n timestamp: Date.now(),\n confidence: 0.9,\n };\n } catch (error: any) {\n logger.error('Failed to get git state', { error: error.message });\n return {\n type: 'git',\n state: {},\n timestamp: Date.now(),\n confidence: 0.1,\n };\n }\n }\n\n /**\n * Get state from file system\n */\n async getFileState(): Promise<StateSource> {\n try {\n const statePath = path.join(this.ralphDir, 'state.json');\n const iterationPath = path.join(this.ralphDir, 'iteration.txt');\n const feedbackPath = path.join(this.ralphDir, 'feedback.txt');\n const taskPath = path.join(this.ralphDir, 'task.md');\n const criteriaPath = path.join(this.ralphDir, 'completion-criteria.md');\n\n const [stateData, iteration, feedback, task, criteria] = await Promise.all([\n fs.readFile(statePath, 'utf8').catch(() => '{}'),\n fs.readFile(iterationPath, 'utf8').catch(() => '0'),\n fs.readFile(feedbackPath, 'utf8').catch(() => ''),\n fs.readFile(taskPath, 'utf8').catch(() => ''),\n fs.readFile(criteriaPath, 'utf8').catch(() => ''),\n ]);\n\n const state = JSON.parse(stateData);\n\n return {\n type: 'files',\n state: {\n ...state,\n iteration: parseInt(iteration.trim()),\n feedback: feedback.trim() || undefined,\n task: task.trim(),\n criteria: criteria.trim(),\n },\n timestamp: Date.now(),\n confidence: 0.95,\n };\n } catch (error: any) {\n logger.error('Failed to get file state', { error: error.message });\n return {\n type: 'files',\n state: {},\n timestamp: Date.now(),\n confidence: 0.1,\n };\n }\n }\n\n /**\n * Get state from memory (StackMemory)\n */\n async getMemoryState(loopId: string): Promise<StateSource> {\n try {\n // This would integrate with StackMemory's frame system\n // For now, returning a placeholder\n return {\n type: 'memory',\n state: {\n loopId,\n lastUpdateTime: Date.now(),\n },\n timestamp: Date.now(),\n confidence: 0.8,\n };\n } catch (error: any) {\n logger.error('Failed to get memory state', { error: error.message });\n return {\n type: 'memory',\n state: {},\n timestamp: Date.now(),\n confidence: 0.1,\n };\n }\n }\n\n /**\n * Sort sources by configured precedence\n */\n private sortByPrecedence(sources: StateSource[]): StateSource[] {\n return sources.sort((a, b) => {\n const aIndex = this.config.precedence.indexOf(a.type);\n const bIndex = this.config.precedence.indexOf(b.type);\n \n if (aIndex === -1 && bIndex === -1) {\n return b.confidence - a.confidence;\n }\n if (aIndex === -1) return 1;\n if (bIndex === -1) return -1;\n \n return aIndex - bIndex;\n });\n }\n\n /**\n * Check if values match\n */\n private valuesMatch(values: any[]): boolean {\n if (values.length === 0) return true;\n const first = JSON.stringify(values[0]);\n return values.every(v => JSON.stringify(v) === first);\n }\n\n /**\n * Assess conflict severity\n */\n private assessConflictSeverity(field: string): 'low' | 'medium' | 'high' {\n const highSeverityFields = ['loopId', 'task', 'criteria', 'status'];\n const mediumSeverityFields = ['iteration', 'currentCommit', 'feedback'];\n \n if (highSeverityFields.includes(field)) return 'high';\n if (mediumSeverityFields.includes(field)) return 'medium';\n return 'low';\n }\n\n /**\n * Suggest resolution based on field and sources\n */\n private suggestResolution(field: string, sources: StateSource[]): any {\n // Sort by confidence and precedence\n const sorted = this.sortByPrecedence(sources);\n const highestConfidence = sorted.reduce((max, s) => \n s.confidence > max.confidence ? s : max\n );\n \n return highestConfidence.state[field as keyof RalphLoopState];\n }\n\n /**\n * Resolve conflicts based on configured strategy\n */\n private async resolveConflicts(conflicts: Conflict[]): Promise<Resolution[]> {\n const resolutions: Resolution[] = [];\n\n for (const conflict of conflicts) {\n const resolution = await this.resolveConflictByStrategy(conflict);\n resolutions.push(resolution);\n }\n\n return resolutions;\n }\n\n /**\n * Resolve conflict based on strategy\n */\n private async resolveConflictByStrategy(conflict: Conflict): Promise<Resolution> {\n switch (this.config.conflictResolution) {\n case 'automatic':\n return this.automaticResolution(conflict);\n \n case 'manual':\n return this.manualResolution(conflict);\n \n case 'interactive':\n return this.interactiveResolution(conflict);\n \n default:\n return this.automaticResolution(conflict);\n }\n }\n\n /**\n * Automatic resolution based on precedence and confidence\n */\n private automaticResolution(conflict: Conflict): Resolution {\n const sorted = this.sortByPrecedence(conflict.sources);\n const winner = sorted[0];\n \n return {\n field: conflict.field,\n value: winner.state[conflict.field as keyof RalphLoopState],\n source: winner.type,\n rationale: `Automatic resolution: ${winner.type} has highest precedence (confidence: ${winner.confidence})`,\n };\n }\n\n /**\n * Manual resolution (uses suggested resolution)\n */\n private manualResolution(conflict: Conflict): Resolution {\n return {\n field: conflict.field,\n value: conflict.suggestedResolution,\n source: 'manual',\n rationale: 'Manual resolution: using suggested value',\n };\n }\n\n /**\n * Interactive resolution (would prompt user in real implementation)\n */\n private async interactiveResolution(conflict: Conflict): Promise<Resolution> {\n // In real implementation, this would prompt the user\n logger.info('Interactive resolution required', {\n field: conflict.field,\n options: conflict.sources.map(s => ({\n type: s.type,\n value: s.state[conflict.field as keyof RalphLoopState],\n confidence: s.confidence,\n })),\n });\n\n // For now, fallback to automatic\n return this.automaticResolution(conflict);\n }\n\n /**\n * Apply resolutions to base state\n */\n private applyResolutions(\n baseState: RalphLoopState,\n resolutions: Resolution[]\n ): RalphLoopState {\n const resolvedState = { ...baseState };\n\n for (const resolution of resolutions) {\n (resolvedState as any)[resolution.field] = resolution.value;\n }\n\n return resolvedState;\n }\n\n /**\n * Merge states without conflicts\n */\n private mergeStates(sources: StateSource[]): RalphLoopState {\n const merged: any = {};\n\n // Apply in precedence order\n for (const source of sources) {\n Object.assign(merged, source.state);\n }\n\n return merged as RalphLoopState;\n }\n\n /**\n * Validate file system state\n */\n private async validateFileSystemState(\n state: RalphLoopState,\n errors: string[],\n warnings: string[]\n ): Promise<void> {\n try {\n const ralphDirExists = await fs.stat(this.ralphDir).then(() => true).catch(() => false);\n \n if (!ralphDirExists) {\n warnings.push('Ralph directory does not exist');\n return;\n }\n\n const requiredFiles = ['task.md', 'state.json', 'iteration.txt'];\n for (const file of requiredFiles) {\n const filePath = path.join(this.ralphDir, file);\n const exists = await fs.stat(filePath).then(() => true).catch(() => false);\n \n if (!exists) {\n warnings.push(`Missing file: ${file}`);\n }\n }\n } catch (error: any) {\n errors.push(`File system validation failed: ${error.message}`);\n }\n }\n\n /**\n * Validate git state\n */\n private validateGitState(\n state: RalphLoopState,\n errors: string[],\n warnings: string[]\n ): void {\n try {\n const isGitRepo = execSync('git rev-parse --is-inside-work-tree', {\n encoding: 'utf8',\n }).trim() === 'true';\n \n if (!isGitRepo) {\n warnings.push('Not in a git repository');\n }\n\n if (state.currentCommit && state.startCommit) {\n try {\n execSync(`git rev-parse ${state.currentCommit}`, { encoding: 'utf8' });\n } catch {\n errors.push(`Invalid current commit: ${state.currentCommit}`);\n }\n\n try {\n execSync(`git rev-parse ${state.startCommit}`, { encoding: 'utf8' });\n } catch {\n warnings.push(`Invalid start commit: ${state.startCommit}`);\n }\n }\n } catch (error: any) {\n warnings.push(`Git validation failed: ${error.message}`);\n }\n }\n\n /**\n * Validate logical consistency\n */\n private validateLogicalConsistency(\n state: RalphLoopState,\n errors: string[],\n warnings: string[]\n ): void {\n // Check iteration number\n if (state.iteration < 0) {\n errors.push('Invalid iteration number: cannot be negative');\n }\n\n // Check status consistency\n if (state.status === 'completed' && !state.completionData) {\n warnings.push('Status is completed but no completion data');\n }\n\n // Check time consistency\n if (state.lastUpdateTime && state.startTime && state.lastUpdateTime < state.startTime) {\n errors.push('Last update time is before start time');\n }\n\n // Check task and criteria\n if (!state.task) {\n errors.push('No task defined');\n }\n\n if (!state.criteria) {\n warnings.push('No completion criteria defined');\n }\n }\n}"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
2
|
+
import { dirname as __pathDirname } from 'path';
|
|
3
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
4
|
+
const __dirname = __pathDirname(__filename);
|
|
1
5
|
import { execSync } from "child_process";
|
|
2
6
|
import { logger } from "../../../core/monitoring/logger.js";
|
|
3
7
|
class GitWorkflowManager {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/swarm/git-workflow-manager.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Git Workflow Manager for Swarm Agents\n * Manages git operations, branching, and commits for each agent\n */\n\nimport { execSync } from 'child_process';\nimport { logger } from '../../../core/monitoring/logger.js';\nimport { Agent, SwarmTask } from '../types.js';\n\nexport interface GitConfig {\n enableGitWorkflow: boolean;\n branchStrategy: 'feature' | 'agent' | 'task';\n autoCommit: boolean;\n commitFrequency: number; // minutes\n mergStrategy: 'squash' | 'merge' | 'rebase';\n requirePR: boolean;\n}\n\nexport class GitWorkflowManager {\n private config: GitConfig;\n private agentBranches: Map<string, string> = new Map();\n private baselineBranch: string;\n private mainBranch: string;\n\n constructor(config?: Partial<GitConfig>) {\n this.config = {\n enableGitWorkflow: true,\n branchStrategy: 'agent',\n autoCommit: true,\n commitFrequency: 5,\n mergStrategy: 'squash',\n requirePR: false,\n ...config,\n };\n\n // Get current branch as baseline\n try {\n this.baselineBranch = this.getCurrentBranch();\n this.mainBranch = this.getMainBranch();\n } catch (error) {\n logger.warn('Git not initialized, workflow features disabled');\n this.config.enableGitWorkflow = false;\n }\n }\n\n /**\n * Initialize git workflow for an agent\n */\n async initializeAgentWorkflow(agent: Agent, task: SwarmTask): Promise<void> {\n if (!this.config.enableGitWorkflow) return;\n\n let branchName = this.generateBranchName(agent, task);\n\n try {\n // Check if branch already exists and handle accordingly\n if (this.branchExists(branchName)) {\n // Branch exists, either reuse or create unique name\n const existingHasChanges = this.branchHasUnmergedChanges(branchName);\n\n if (existingHasChanges) {\n // Create a unique branch name by adding timestamp\n const timestamp = Date.now();\n branchName = `${branchName}-${timestamp}`;\n logger.info(\n `Branch already exists with changes, creating unique branch: ${branchName}`\n );\n this.createBranch(branchName);\n } else {\n // Reuse existing branch\n logger.info(\n `Reusing existing branch for agent ${agent.role}: ${branchName}`\n );\n this.checkoutBranch(branchName);\n }\n } else {\n // Create new branch\n this.createBranch(branchName);\n logger.info(\n `Created git branch for agent ${agent.role}: ${branchName}`\n );\n }\n\n this.agentBranches.set(agent.id, branchName);\n\n // Set up commit timer if auto-commit enabled\n if (this.config.autoCommit) {\n this.scheduleAutoCommit(agent, task);\n }\n } catch (error: unknown) {\n logger.error(\n `Failed to initialize git workflow for agent ${agent.role}`,\n error as Error\n );\n }\n }\n\n /**\n * Commit agent work\n */\n async commitAgentWork(\n agent: Agent,\n task: SwarmTask,\n message?: string\n ): Promise<void> {\n if (!this.config.enableGitWorkflow) return;\n\n const branchName = this.agentBranches.get(agent.id);\n if (!branchName) {\n logger.warn(`No branch found for agent ${agent.id}`);\n return;\n }\n\n try {\n // Ensure we're on the agent's branch\n this.checkoutBranch(branchName);\n\n // Check for changes\n const hasChanges = this.hasUncommittedChanges();\n if (!hasChanges) {\n logger.debug(`No changes to commit for agent ${agent.role}`);\n return;\n }\n\n // Stage all changes\n execSync('git add -A', { encoding: 'utf8' });\n\n // Generate commit message\n const commitMessage = message || this.generateCommitMessage(agent, task);\n\n // Commit changes\n execSync(`git commit -m \"${commitMessage}\"`, { encoding: 'utf8' });\n\n logger.info(`Agent ${agent.role} committed: ${commitMessage}`);\n\n // Push if remote exists\n if (this.hasRemote()) {\n try {\n execSync(`git push origin ${branchName}`, { encoding: 'utf8' });\n logger.info(`Pushed branch ${branchName} to remote`);\n } catch (error) {\n logger.warn(`Could not push to remote: ${error}`);\n }\n }\n } catch (error: unknown) {\n logger.error(`Failed to commit agent work`, error as Error);\n }\n }\n\n /**\n * Merge agent work back to baseline\n */\n async mergeAgentWork(agent: Agent, task: SwarmTask): Promise<void> {\n if (!this.config.enableGitWorkflow) return;\n\n const branchName = this.agentBranches.get(agent.id);\n if (!branchName) {\n logger.warn(`No branch found for agent ${agent.id}`);\n return;\n }\n\n try {\n // Switch to baseline branch\n this.checkoutBranch(this.baselineBranch);\n\n if (this.config.requirePR) {\n // Create pull request\n await this.createPullRequest(agent, task, branchName);\n } else {\n // Direct merge based on strategy\n this.mergeBranch(branchName);\n logger.info(`Merged agent ${agent.role} work from ${branchName}`);\n }\n\n // Clean up branch\n this.deleteBranch(branchName);\n this.agentBranches.delete(agent.id);\n } catch (error: unknown) {\n logger.error(`Failed to merge agent work`, error as Error);\n }\n }\n\n /**\n * Coordinate merges between multiple agents\n */\n async coordinateMerges(agents: Agent[]): Promise<void> {\n if (!this.config.enableGitWorkflow) return;\n\n logger.info('Coordinating merges from all agents');\n\n // Create integration branch\n const integrationBranch = `swarm-integration-${Date.now()}`;\n this.createBranch(integrationBranch);\n\n // Merge each agent's work\n for (const agent of agents) {\n const branchName = this.agentBranches.get(agent.id);\n if (branchName && this.branchExists(branchName)) {\n try {\n this.mergeBranch(branchName);\n logger.info(`Integrated ${agent.role} work`);\n } catch (error) {\n logger.error(`Failed to integrate ${agent.role} work: ${error}`);\n }\n }\n }\n\n // Run tests on integration branch\n const testsPass = await this.runIntegrationTests();\n\n if (testsPass) {\n // Merge to baseline\n this.checkoutBranch(this.baselineBranch);\n this.mergeBranch(integrationBranch);\n logger.info('Successfully integrated all agent work');\n } else {\n logger.warn(\n 'Integration tests failed, keeping changes in branch: ' +\n integrationBranch\n );\n }\n }\n\n /**\n * Handle merge conflicts\n */\n async resolveConflicts(agent: Agent): Promise<void> {\n const conflicts = this.getConflictedFiles();\n\n if (conflicts.length === 0) return;\n\n logger.warn(\n `Agent ${agent.role} encountering merge conflicts: ${conflicts.join(', ')}`\n );\n\n // Strategy 1: Try to auto-resolve\n for (const file of conflicts) {\n try {\n // Accept current changes for agent's own files\n if (this.isAgentFile(file, agent)) {\n execSync(`git checkout --ours ${file}`, { encoding: 'utf8' });\n execSync(`git add ${file}`, { encoding: 'utf8' });\n } else {\n // Accept incoming changes for other files\n execSync(`git checkout --theirs ${file}`, { encoding: 'utf8' });\n execSync(`git add ${file}`, { encoding: 'utf8' });\n }\n } catch (error) {\n logger.error(`Could not auto-resolve conflict in ${file}`);\n }\n }\n\n // Complete merge if all conflicts resolved\n const remainingConflicts = this.getConflictedFiles();\n if (remainingConflicts.length === 0) {\n execSync('git commit --no-edit', { encoding: 'utf8' });\n logger.info('All conflicts resolved automatically');\n } else {\n logger.error(\n `Manual intervention needed for: ${remainingConflicts.join(', ')}`\n );\n }\n }\n\n // Private helper methods\n private getCurrentBranch(): string {\n return execSync('git rev-parse --abbrev-ref HEAD', {\n encoding: 'utf8',\n }).trim();\n }\n\n private getMainBranch(): string {\n try {\n // Try to detect main branch\n const branches = execSync('git branch -r', { encoding: 'utf8' });\n if (branches.includes('origin/main')) return 'main';\n if (branches.includes('origin/master')) return 'master';\n } catch (error) {\n // Fallback to current branch\n }\n return this.getCurrentBranch();\n }\n\n private generateBranchName(agent: Agent, task: SwarmTask): string {\n const sanitizedTitle = task.title\n .toLowerCase()\n .replace(/\\s+/g, '-')\n .replace(/[^a-z0-9-]/g, '')\n .substring(0, 30);\n\n switch (this.config.branchStrategy) {\n case 'feature':\n return `feature/${sanitizedTitle}`;\n case 'task':\n return `task/${task.id}`;\n case 'agent':\n default:\n return `swarm/${agent.role}-${sanitizedTitle}`;\n }\n }\n\n private createBranch(branchName: string): void {\n execSync(`git checkout -b ${branchName}`, { encoding: 'utf8' });\n }\n\n private checkoutBranch(branchName: string): void {\n execSync(`git checkout ${branchName}`, { encoding: 'utf8' });\n }\n\n private branchExists(branchName: string): boolean {\n try {\n execSync(`git rev-parse --verify ${branchName}`, {\n encoding: 'utf8',\n stdio: 'pipe',\n });\n return true;\n } catch {\n return false;\n }\n }\n\n private deleteBranch(branchName: string): void {\n try {\n execSync(`git branch -d ${branchName}`, { encoding: 'utf8' });\n } catch (error) {\n // Force delete if needed\n execSync(`git branch -D ${branchName}`, { encoding: 'utf8' });\n }\n }\n\n private mergeBranch(branchName: string): void {\n const strategy = this.config.mergStrategy;\n\n switch (strategy) {\n case 'squash':\n execSync(`git merge --squash ${branchName}`, { encoding: 'utf8' });\n execSync('git commit -m \"Squashed agent changes\"', {\n encoding: 'utf8',\n });\n break;\n case 'rebase':\n execSync(`git rebase ${branchName}`, { encoding: 'utf8' });\n break;\n case 'merge':\n default:\n execSync(`git merge ${branchName}`, { encoding: 'utf8' });\n break;\n }\n }\n\n private hasUncommittedChanges(): boolean {\n const status = execSync('git status --porcelain', { encoding: 'utf8' });\n return status.trim().length > 0;\n }\n\n private hasRemote(): boolean {\n try {\n execSync('git remote get-url origin', { encoding: 'utf8' });\n return true;\n } catch {\n return false;\n }\n }\n\n private getConflictedFiles(): string[] {\n try {\n const conflicts = execSync('git diff --name-only --diff-filter=U', {\n encoding: 'utf8',\n });\n return conflicts\n .trim()\n .split('\\n')\n .filter((f) => f.length > 0);\n } catch {\n return [];\n }\n }\n\n private isAgentFile(file: string, agent: Agent): boolean {\n // Simple heuristic: check if file is in agent's working directory\n return file.includes(agent.role) || file.includes(agent.id);\n }\n\n private generateCommitMessage(agent: Agent, task: SwarmTask): string {\n return `[${agent.role}] ${task.title} - Iteration ${agent.performance?.tasksCompleted || 1}`;\n }\n\n private scheduleAutoCommit(agent: Agent, task: SwarmTask): void {\n const intervalMs = this.config.commitFrequency * 60 * 1000;\n\n setInterval(async () => {\n await this.commitAgentWork(\n agent,\n task,\n `[${agent.role}] Auto-commit: ${task.title}`\n );\n }, intervalMs);\n }\n\n private async createPullRequest(\n agent: Agent,\n task: SwarmTask,\n branchName: string\n ): Promise<void> {\n try {\n const title = `[Swarm ${agent.role}] ${task.title}`;\n const body = `\n## Agent: ${agent.role}\n## Task: ${task.title}\n\n### Acceptance Criteria:\n${task.acceptanceCriteria.map((c) => `- ${c}`).join('\\n')}\n\n### Status:\n- Tasks Completed: ${agent.performance?.tasksCompleted || 0}\n- Success Rate: ${agent.performance?.successRate || 0}%\n\nGenerated by Swarm Coordinator\n `;\n\n execSync(\n `gh pr create --title \"${title}\" --body \"${body}\" --base ${this.baselineBranch}`,\n {\n encoding: 'utf8',\n }\n );\n\n logger.info(`Created PR for agent ${agent.role}`);\n } catch (error) {\n logger.warn(`Could not create PR: ${error}`);\n }\n }\n\n private async runIntegrationTests(): Promise<boolean> {\n try {\n // Try to run tests\n execSync('npm test', { encoding: 'utf8' });\n return true;\n } catch {\n // Tests failed or not available\n return false;\n }\n }\n\n private branchHasUnmergedChanges(branchName: string): boolean {\n try {\n // Check if branch has commits not in the current branch\n const currentBranch = this.getCurrentBranch();\n const unmerged = execSync(\n `git log ${currentBranch}..${branchName} --oneline`,\n { encoding: 'utf8', stdio: 'pipe' }\n );\n return unmerged.trim().length > 0;\n } catch {\n // If we can't determine, assume it has changes to be safe\n return true;\n }\n }\n\n /**\n * Get status of all agent branches\n */\n getGitStatus(): object {\n const status: any = {\n enabled: this.config.enableGitWorkflow,\n currentBranch: this.getCurrentBranch(),\n agentBranches: Array.from(this.agentBranches.entries()).map(\n ([agentId, branch]) => ({\n agentId,\n branch,\n exists: this.branchExists(branch),\n })\n ),\n hasUncommittedChanges: this.hasUncommittedChanges(),\n };\n\n return status;\n }\n}\n\nexport const gitWorkflowManager = new GitWorkflowManager();\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
2
|
+
import { dirname as __pathDirname } from 'path';
|
|
3
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
4
|
+
const __dirname = __pathDirname(__filename);
|
|
1
5
|
import { v4 as uuidv4 } from "uuid";
|
|
2
6
|
import * as fs from "fs/promises";
|
|
3
7
|
import * as path from "path";
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/swarm/swarm-coordinator.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Swarm Coordination System for StackMemory\n * Orchestrates multiple specialized agents working together on the same codebase\n * Addresses multi-agent coordination challenges with role specialization and dynamic planning\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\nimport { logger } from '../../../core/monitoring/logger.js';\nimport { FrameManager } from '../../../core/context/frame-manager.js';\nimport { sessionManager } from '../../../core/session/index.js';\nimport { sharedContextLayer } from '../../../core/context/shared-context-layer.js';\nimport { RalphStackMemoryBridge } from '../bridge/ralph-stackmemory-bridge.js';\nimport { GitWorkflowManager } from './git-workflow-manager.js';\nimport { SwarmRegistry } from '../monitoring/swarm-registry.js';\nimport {\n SwarmConfiguration,\n Agent,\n AgentRole,\n SwarmTask,\n CoordinationEvent,\n SwarmState,\n TaskAllocation,\n AgentSpecialization,\n} from '../types.js';\n\nexport interface SwarmCoordinatorConfig {\n maxAgents: number;\n coordinationInterval: number;\n driftDetectionThreshold: number;\n freshStartInterval: number;\n conflictResolutionStrategy: 'democratic' | 'hierarchical' | 'expertise';\n enableDynamicPlanning: boolean;\n pathologicalBehaviorDetection: boolean;\n}\n\nexport class SwarmCoordinator {\n private frameManager?: FrameManager;\n private activeAgents: Map<string, Agent> = new Map();\n private swarmState: SwarmState;\n private config: SwarmCoordinatorConfig;\n private coordinationTimer?: NodeJS.Timeout;\n private plannerWakeupQueue: Map<string, () => void> = new Map();\n private gitWorkflowManager: GitWorkflowManager;\n private registeredSwarmId?: string;\n\n get swarmId(): string | undefined {\n return this.registeredSwarmId;\n }\n\n get agents(): Agent[] {\n return Array.from(this.activeAgents.values());\n }\n\n constructor(config?: Partial<SwarmCoordinatorConfig>) {\n this.config = {\n maxAgents: 10,\n coordinationInterval: 30000, // 30 seconds\n driftDetectionThreshold: 5, // 5 failed iterations before considering drift\n freshStartInterval: 3600000, // 1 hour\n conflictResolutionStrategy: 'expertise',\n enableDynamicPlanning: true,\n pathologicalBehaviorDetection: true,\n ...config,\n };\n\n this.swarmState = {\n id: uuidv4(),\n status: 'idle',\n startTime: Date.now(),\n activeTaskCount: 0,\n completedTaskCount: 0,\n coordination: {\n events: [],\n conflicts: [],\n resolutions: [],\n },\n performance: {\n throughput: 0,\n efficiency: 0,\n coordination_overhead: 0,\n },\n };\n\n // Initialize git workflow manager\n this.gitWorkflowManager = new GitWorkflowManager({\n enableGitWorkflow: true,\n branchStrategy: 'agent',\n autoCommit: true,\n commitFrequency: 5,\n mergStrategy: 'squash',\n });\n\n logger.info('Swarm coordinator initialized', this.config);\n }\n\n async initialize(): Promise<void> {\n try {\n await sessionManager.initialize();\n await sharedContextLayer.initialize();\n\n const session = await sessionManager.getOrCreateSession({});\n if (session.database) {\n this.frameManager = new FrameManager(\n session.database,\n session.projectId\n );\n }\n\n // Start coordination monitoring\n this.startCoordinationLoop();\n\n // Register with global swarm registry for TUI monitoring\n const registry = SwarmRegistry.getInstance();\n this.registeredSwarmId = registry.registerSwarm(\n this,\n `Swarm ${this.swarmState.id.substring(0, 8)}`\n );\n\n logger.info('Swarm coordinator initialized successfully');\n } catch (error: unknown) {\n logger.error('Failed to initialize swarm coordinator', error as Error);\n throw error;\n }\n }\n\n /**\n * Launch a swarm of agents to work on a complex project\n */\n async launchSwarm(\n projectDescription: string,\n agents: AgentSpecialization[],\n coordination?: SwarmConfiguration\n ): Promise<string> {\n logger.info('Launching swarm', {\n project: projectDescription.substring(0, 100),\n agentCount: agents.length,\n });\n\n const swarmId = uuidv4();\n\n try {\n // 1. Validate swarm configuration\n if (agents.length > this.config.maxAgents) {\n throw new Error(\n `Too many agents requested: ${agents.length} > ${this.config.maxAgents}`\n );\n }\n\n // 2. Break down project into swarm tasks\n const swarmTasks =\n await this.decomposeProjectIntoSwarmTasks(projectDescription);\n\n // 3. Initialize specialized agents\n const initializedAgents = await this.initializeSpecializedAgents(\n agents,\n swarmTasks\n );\n\n // 4. Create task allocation plan\n const allocation = await this.allocateTasksToAgents(\n swarmTasks,\n initializedAgents\n );\n\n // 5. Begin swarm execution\n this.swarmState = {\n ...this.swarmState,\n id: swarmId,\n status: 'active',\n activeTaskCount: swarmTasks.length,\n project: projectDescription,\n agents: initializedAgents,\n tasks: swarmTasks,\n allocation,\n };\n\n // 6. Start agent execution\n await this.executeSwarmTasks(allocation);\n\n logger.info('Swarm launched successfully', {\n swarmId,\n agentCount: initializedAgents.length,\n });\n return swarmId;\n } catch (error: unknown) {\n logger.error('Failed to launch swarm', error as Error);\n throw error;\n }\n }\n\n /**\n * Decompose project into tasks suitable for swarm execution\n */\n private async decomposeProjectIntoSwarmTasks(\n projectDescription: string\n ): Promise<SwarmTask[]> {\n const tasks: SwarmTask[] = [];\n\n // Analyze project complexity and decompose based on patterns\n const complexity = this.analyzeProjectComplexity(projectDescription);\n\n // Pattern 1: Architecture and Planning\n if (complexity.needsArchitecture) {\n tasks.push({\n id: uuidv4(),\n type: 'architecture',\n title: 'System Architecture Design',\n description:\n 'Design overall system architecture and component relationships',\n priority: 1,\n estimatedEffort: 'high',\n requiredRoles: ['architect', 'system_designer'],\n dependencies: [],\n acceptanceCriteria: [\n 'Architecture diagram created',\n 'Component interfaces defined',\n 'Data flow documented',\n ],\n });\n }\n\n // Pattern 2: Core Implementation Tasks\n const coreFeatures = this.extractCoreFeatures(projectDescription);\n for (const feature of coreFeatures) {\n tasks.push({\n id: uuidv4(),\n type: 'implementation',\n title: `Implement ${feature.name}`,\n description: feature.description,\n priority: 2,\n estimatedEffort: feature.complexity,\n requiredRoles: ['developer', feature.specialization || 'fullstack'],\n dependencies: complexity.needsArchitecture ? [tasks[0].id] : [],\n acceptanceCriteria: feature.criteria,\n });\n }\n\n // Pattern 3: Testing and Validation\n if (complexity.needsTesting) {\n tasks.push({\n id: uuidv4(),\n type: 'testing',\n title: 'Comprehensive Testing Suite',\n description: 'Create unit, integration, and end-to-end tests',\n priority: 3,\n estimatedEffort: 'medium',\n requiredRoles: ['qa_engineer', 'test_automation'],\n dependencies: tasks\n .filter((t) => t.type === 'implementation')\n .map((t) => t.id),\n acceptanceCriteria: [\n 'Unit tests achieve >90% coverage',\n 'Integration tests pass',\n 'Performance benchmarks met',\n ],\n });\n }\n\n // Pattern 4: Documentation and Polish\n if (complexity.needsDocumentation) {\n tasks.push({\n id: uuidv4(),\n type: 'documentation',\n title: 'Documentation and Examples',\n description: 'Create user documentation, API docs, and usage examples',\n priority: 4,\n estimatedEffort: 'low',\n requiredRoles: ['technical_writer', 'developer'],\n dependencies: [], // Can run in parallel\n acceptanceCriteria: [\n 'README with setup instructions',\n 'API documentation complete',\n 'Usage examples provided',\n ],\n });\n }\n\n return tasks;\n }\n\n /**\n * Initialize specialized agents with role-specific configurations\n */\n private async initializeSpecializedAgents(\n specifications: AgentSpecialization[],\n tasks: SwarmTask[]\n ): Promise<Agent[]> {\n const agents: Agent[] = [];\n\n for (const spec of specifications) {\n const agent: Agent = {\n id: uuidv4(),\n role: spec.role,\n specialization: spec,\n status: 'initializing',\n capabilities: this.defineCapabilities(spec.role),\n workingDirectory: `.swarm/${spec.role}-${Date.now()}`,\n currentTask: null,\n performance: {\n tasksCompleted: 0,\n successRate: 1.0,\n averageTaskTime: 0,\n driftDetected: false,\n lastFreshStart: Date.now(),\n },\n coordination: {\n communicationStyle: this.defineCommuncationStyle(spec.role),\n conflictResolution: spec.conflictResolution || 'defer_to_expertise',\n collaborationPreferences: spec.collaborationPreferences || [],\n },\n };\n\n // Initialize agent's working environment\n await this.setupAgentEnvironment(agent);\n\n // Configure role-specific prompting strategies\n await this.configureAgentPrompts(agent);\n\n agents.push(agent);\n this.activeAgents.set(agent.id, agent);\n }\n\n logger.info(`Initialized ${agents.length} specialized agents`);\n return agents;\n }\n\n /**\n * Allocate tasks to agents based on specialization and workload\n */\n private async allocateTasksToAgents(\n tasks: SwarmTask[],\n agents: Agent[]\n ): Promise<TaskAllocation> {\n const allocation: TaskAllocation = {\n assignments: new Map(),\n loadBalancing: 'capability_based',\n conflictResolution: this.config.conflictResolutionStrategy,\n };\n\n // Sort tasks by priority and dependencies\n const sortedTasks = this.topologicalSort(tasks);\n\n for (const task of sortedTasks) {\n // Find best-suited agents for this task\n const suitableAgents = agents.filter((agent) =>\n task.requiredRoles.some((role) => this.agentCanHandle(agent, role))\n );\n\n if (suitableAgents.length === 0) {\n logger.warn(`No suitable agents found for task: ${task.title}`);\n continue;\n }\n\n // Select agent based on workload and expertise\n const selectedAgent = this.selectOptimalAgent(suitableAgents, task);\n\n allocation.assignments.set(task.id, {\n agentId: selectedAgent.id,\n taskId: task.id,\n assignedAt: Date.now(),\n estimatedCompletion: Date.now() + this.estimateTaskDuration(task),\n coordination: {\n collaborators: this.findCollaborators(selectedAgent, task, agents),\n reviewers: this.findReviewers(selectedAgent, task, agents),\n },\n });\n\n // Update agent workload\n selectedAgent.currentTask = task.id;\n }\n\n return allocation;\n }\n\n /**\n * Execute swarm tasks with coordination\n */\n private async executeSwarmTasks(allocation: TaskAllocation): Promise<void> {\n const executionPromises: Promise<void>[] = [];\n\n for (const [taskId, assignment] of allocation.assignments) {\n const agent = this.activeAgents.get(assignment.agentId);\n const task = this.swarmState.tasks?.find((t) => t.id === taskId);\n\n if (!agent || !task) continue;\n\n // Create execution promise for each agent\n const executionPromise = this.executeAgentTask(agent, task, assignment);\n executionPromises.push(executionPromise);\n }\n\n // Monitor all executions\n await Promise.allSettled(executionPromises);\n }\n\n /**\n * Execute a single agent task with coordination\n */\n private async executeAgentTask(\n agent: Agent,\n task: SwarmTask,\n assignment: any\n ): Promise<void> {\n logger.info(`Agent ${agent.role} starting task: ${task.title}`);\n\n try {\n agent.status = 'active';\n\n // Initialize git workflow for this agent\n await this.gitWorkflowManager.initializeAgentWorkflow(agent, task);\n\n // Create Ralph loop for this agent/task\n const ralph = new RalphStackMemoryBridge({\n baseDir: path.join(agent.workingDirectory, task.id),\n maxIterations: this.calculateMaxIterations(task),\n useStackMemory: true,\n });\n\n // Initialize with context from other agents\n const contextualPrompt = await this.synthesizeContextualPrompt(\n agent,\n task\n );\n\n await ralph.initialize({\n task: contextualPrompt,\n criteria: task.acceptanceCriteria.join('\\n'),\n });\n\n // Set up coordination hooks\n this.setupAgentCoordination(agent, ralph, assignment);\n\n // Run the task\n await ralph.run();\n\n // Commit agent's work\n await this.gitWorkflowManager.commitAgentWork(agent, task);\n\n // Update performance metrics\n this.updateAgentPerformance(agent, true);\n\n // Merge agent's work back\n await this.gitWorkflowManager.mergeAgentWork(agent, task);\n\n // Notify planners and collaborators\n await this.notifyTaskCompletion(agent, task, true);\n\n agent.status = 'idle';\n logger.info(`Agent ${agent.role} completed task: ${task.title}`);\n } catch (error: unknown) {\n logger.error(\n `Agent ${agent.role} failed task: ${task.title}`,\n error as Error\n );\n\n // Update performance metrics\n this.updateAgentPerformance(agent, false);\n\n // Trigger conflict resolution or reassignment\n await this.handleTaskFailure(agent, task, error as Error);\n\n agent.status = 'error';\n }\n }\n\n /**\n * Synthesize contextual prompt incorporating swarm knowledge\n */\n private async synthesizeContextualPrompt(\n agent: Agent,\n task: SwarmTask\n ): Promise<string> {\n const basePrompt = task.description;\n const roleSpecificInstructions = this.getRoleSpecificInstructions(\n agent.role\n );\n const swarmContext = await this.getSwarmContext(task);\n const coordinationInstructions = this.getCoordinationInstructions(agent);\n\n return `\n${roleSpecificInstructions}\n\nTASK: ${basePrompt}\n\nSWARM CONTEXT:\n${swarmContext}\n\nCOORDINATION GUIDELINES:\n${coordinationInstructions}\n\nRemember:\n- You are part of a swarm working on: ${this.swarmState.project}\n- Other agents are working on related tasks\n- Communicate findings through StackMemory shared context\n- Focus on your specialization while being aware of the bigger picture\n- Detect and avoid pathological behaviors (infinite loops, tunnel vision)\n- Request fresh starts if you detect drift in your approach\n\nACCEPTANCE CRITERIA:\n${task.acceptanceCriteria.map((c) => `- ${c}`).join('\\n')}\n`;\n }\n\n /**\n * Start coordination monitoring loop\n */\n private startCoordinationLoop(): void {\n this.coordinationTimer = setInterval(() => {\n this.performCoordinationCycle().catch((error) => {\n logger.error('Coordination cycle failed', error as Error);\n });\n }, this.config.coordinationInterval);\n }\n\n /**\n * Perform coordination cycle\n */\n private async performCoordinationCycle(): Promise<void> {\n if (this.swarmState.status !== 'active') return;\n\n logger.debug('Performing coordination cycle');\n\n // 1. Detect pathological behaviors\n if (this.config.pathologicalBehaviorDetection) {\n await this.detectPathologicalBehaviors();\n }\n\n // 2. Check for task completion and wake planners\n if (this.config.enableDynamicPlanning) {\n await this.wakeUpPlanners();\n }\n\n // 3. Resolve conflicts\n await this.resolveActiveConflicts();\n\n // 4. Rebalance workload if needed\n await this.rebalanceWorkload();\n\n // 5. Trigger fresh starts if needed\n await this.triggerFreshStartsIfNeeded();\n\n // 6. Update swarm performance metrics\n this.updateSwarmMetrics();\n }\n\n /**\n * Detect pathological behaviors in agents\n */\n private async detectPathologicalBehaviors(): Promise<void> {\n for (const agent of this.activeAgents.values()) {\n if (agent.status !== 'active') continue;\n\n // Check for drift (repeated failures)\n if (agent.performance.driftDetected) {\n logger.warn(\n `Drift detected in agent ${agent.role}, triggering fresh start`\n );\n await this.triggerFreshStart(agent);\n continue;\n }\n\n // Check for tunnel vision (same approach repeated)\n if (await this.detectTunnelVision(agent)) {\n logger.warn(\n `Tunnel vision detected in agent ${agent.role}, providing alternative approach`\n );\n await this.provideAlternativeApproach(agent);\n }\n\n // Check for excessive runtime (running too long)\n if (await this.detectExcessiveRuntime(agent)) {\n logger.warn(\n `Excessive runtime detected in agent ${agent.role}, requesting checkpoint`\n );\n await this.requestCheckpoint(agent);\n }\n }\n }\n\n /**\n * Wake up planners when their tasks complete\n */\n private async wakeUpPlanners(): Promise<void> {\n for (const [agentId, wakeupCallback] of this.plannerWakeupQueue) {\n const agent = this.activeAgents.get(agentId);\n if (!agent || agent.status !== 'idle') continue;\n\n logger.info(`Waking up planner agent: ${agent.role}`);\n wakeupCallback();\n this.plannerWakeupQueue.delete(agentId);\n }\n }\n\n /**\n * Get status of a specific swarm\n */\n getSwarmStatus(swarmId: string): any {\n const registry = SwarmRegistry.getInstance();\n const swarm = registry.getSwarm(swarmId);\n\n if (!swarm) {\n return null;\n }\n\n return {\n id: swarmId,\n state: swarm.status || 'running',\n activeAgents: swarm.agents?.length || 0,\n startTime: swarm.startTime || Date.now(),\n agents: swarm.agents?.map((agent: any) => ({\n role: agent.role,\n status: agent.status || 'active',\n task: agent.task || 'Working',\n })),\n };\n }\n\n /**\n * Get all active swarms\n */\n getAllActiveSwarms(): any[] {\n const registry = SwarmRegistry.getInstance();\n const activeSwarms = registry.listActiveSwarms();\n\n return activeSwarms.map((swarm) => ({\n id: swarm.id,\n description: swarm.description,\n agentCount: swarm.agents?.length || 0,\n status: swarm.status || 'running',\n startTime: swarm.startTime || Date.now(),\n }));\n }\n\n /**\n * Stop a specific swarm gracefully\n */\n async stopSwarm(swarmId?: string): Promise<void> {\n const targetId = swarmId || this.swarmId;\n\n if (!targetId) {\n throw new Error('No swarm ID provided');\n }\n\n logger.info('Stopping swarm', { swarmId: targetId });\n\n // Stop all agents\n for (const agent of this.agents) {\n try {\n await this.stopAgent(agent);\n } catch (error: any) {\n logger.error('Failed to stop agent', {\n agent: agent.id,\n error: error.message,\n });\n }\n }\n\n // Cleanup git workflow if enabled\n if (this.gitWorkflowManager) {\n try {\n await this.gitWorkflowManager.cleanup();\n } catch (error: any) {\n logger.error('Git cleanup failed', { error: error.message });\n }\n }\n\n // Unregister from registry\n const registry = SwarmRegistry.getInstance();\n registry.unregisterSwarm(targetId);\n\n logger.info('Swarm stopped', { swarmId: targetId });\n }\n\n /**\n * Force stop a swarm without saving state\n */\n async forceStopSwarm(swarmId: string): Promise<void> {\n logger.info('Force stopping swarm', { swarmId });\n\n const registry = SwarmRegistry.getInstance();\n\n // Force unregister\n registry.unregisterSwarm(swarmId);\n\n // Kill all agent processes if any\n this.activeAgents.clear();\n\n logger.info('Swarm force stopped', { swarmId });\n }\n\n /**\n * Cleanup all resources\n */\n async cleanup(): Promise<void> {\n logger.info('Cleaning up SwarmCoordinator resources');\n\n // Stop all active swarms\n const activeSwarms = this.getAllActiveSwarms();\n for (const swarm of activeSwarms) {\n try {\n await this.stopSwarm(swarm.id);\n } catch (error: any) {\n logger.error('Failed to stop swarm during cleanup', {\n swarmId: swarm.id,\n error: error.message,\n });\n }\n }\n\n // Clear registries\n const registry = SwarmRegistry.getInstance();\n registry.cleanup();\n\n // Clear agent list\n this.activeAgents.clear();\n\n logger.info('SwarmCoordinator cleanup completed');\n }\n\n /**\n * Stop an individual agent\n */\n private async stopAgent(agent: any): Promise<void> {\n logger.debug('Stopping agent', { agentId: agent.id, role: agent.role });\n\n // Mark agent as stopped\n agent.status = 'stopped';\n\n // Clean up any agent-specific resources\n if (agent.ralphBridge) {\n try {\n await agent.ralphBridge.cleanup();\n } catch (error: any) {\n logger.error('Failed to cleanup agent bridge', {\n error: error.message,\n });\n }\n }\n }\n\n // Helper methods for role specialization and coordination\n private defineCapabilities(role: AgentRole): string[] {\n const capabilityMap: Record<AgentRole, string[]> = {\n architect: [\n 'system_design',\n 'component_modeling',\n 'architecture_validation',\n ],\n planner: [\n 'task_decomposition',\n 'dependency_analysis',\n 'resource_planning',\n ],\n developer: ['code_implementation', 'debugging', 'refactoring'],\n reviewer: [\n 'code_review',\n 'quality_assessment',\n 'best_practice_enforcement',\n ],\n tester: ['test_design', 'automation', 'validation'],\n optimizer: [\n 'performance_analysis',\n 'resource_optimization',\n 'bottleneck_identification',\n ],\n documenter: [\n 'technical_writing',\n 'api_documentation',\n 'example_creation',\n ],\n coordinator: [\n 'task_coordination',\n 'conflict_resolution',\n 'progress_tracking',\n ],\n };\n\n return capabilityMap[role] || [];\n }\n\n private defineCommuncationStyle(role: AgentRole): string {\n const styleMap: Record<AgentRole, string> = {\n architect: 'high_level_design_focused',\n planner: 'structured_and_methodical',\n developer: 'implementation_focused',\n reviewer: 'quality_focused_constructive',\n tester: 'validation_focused',\n optimizer: 'performance_metrics_focused',\n documenter: 'clarity_focused',\n coordinator: 'facilitative_and_diplomatic',\n };\n\n return styleMap[role] || 'collaborative';\n }\n\n private getRoleSpecificInstructions(role: AgentRole): string {\n const instructionMap: Record<AgentRole, string> = {\n architect: `\nYou are a SYSTEM ARCHITECT. Your role is to:\n- Design high-level system architecture\n- Define component interfaces and relationships\n- Ensure architectural consistency across the project\n- Think in terms of scalability, maintainability, and extensibility\n- Collaborate with developers to validate feasibility`,\n\n planner: `\nYou are a PROJECT PLANNER. Your role is to:\n- Break down complex tasks into manageable steps\n- Identify dependencies and critical path\n- Coordinate with other agents on sequencing\n- Wake up when tasks complete to plan next steps\n- Adapt plans based on actual progress`,\n\n developer: `\nYou are a SPECIALIZED DEVELOPER. Your role is to:\n- Implement features according to specifications\n- Write clean, maintainable code\n- Follow established patterns and conventions\n- Integrate with other components\n- Communicate implementation details clearly`,\n\n reviewer: `\nYou are a CODE REVIEWER. Your role is to:\n- Review code for quality, correctness, and best practices\n- Provide constructive feedback\n- Ensure consistency with project standards\n- Identify potential issues before they become problems\n- Approve or request changes`,\n\n tester: `\nYou are a QA ENGINEER. Your role is to:\n- Design comprehensive test strategies\n- Implement automated tests\n- Validate functionality and performance\n- Report bugs clearly and reproducibly\n- Ensure quality gates are met`,\n\n optimizer: `\nYou are a PERFORMANCE OPTIMIZER. Your role is to:\n- Analyze system performance and identify bottlenecks\n- Implement optimizations\n- Monitor resource usage\n- Establish performance benchmarks\n- Ensure scalability requirements are met`,\n\n documenter: `\nYou are a TECHNICAL WRITER. Your role is to:\n- Create clear, comprehensive documentation\n- Write API documentation and usage examples\n- Ensure documentation stays up-to-date\n- Focus on user experience and clarity\n- Collaborate with developers to understand features`,\n\n coordinator: `\nYou are a PROJECT COORDINATOR. Your role is to:\n- Facilitate communication between agents\n- Resolve conflicts and blockers\n- Track overall project progress\n- Ensure no tasks fall through cracks\n- Maintain project timeline and quality`,\n };\n\n return (\n instructionMap[role] ||\n 'You are a specialized agent contributing to a larger project.'\n );\n }\n\n // Additional helper methods would be implemented here...\n private analyzeProjectComplexity(description: string): any {\n // Analyze project description to determine decomposition strategy\n return {\n needsArchitecture:\n description.length > 500 ||\n description.includes('system') ||\n description.includes('platform'),\n needsTesting: true, // Almost all projects need testing\n needsDocumentation:\n description.includes('API') || description.includes('library'),\n complexity: 'medium',\n };\n }\n\n private extractCoreFeatures(description: string): any[] {\n // Extract core features from project description\n // This would use NLP in a real implementation\n return [\n {\n name: 'Core Feature',\n description: 'Main functionality implementation',\n complexity: 'medium',\n criteria: [\n 'Feature works correctly',\n 'Handles edge cases',\n 'Follows coding standards',\n ],\n },\n ];\n }\n\n // Implement remaining helper methods...\n private async setupAgentEnvironment(agent: Agent): Promise<void> {\n // Create working directory for agent\n try {\n await fs.mkdir(agent.workingDirectory, { recursive: true });\n logger.debug(\n `Created working directory for agent ${agent.id}: ${agent.workingDirectory}`\n );\n } catch (error: unknown) {\n logger.warn(\n `Could not create working directory for agent ${agent.id}`,\n error as Error\n );\n }\n }\n\n private async configureAgentPrompts(agent: Agent): Promise<void> {\n // Configure agent with role-specific prompts\n // This would be expanded with actual prompt templates\n logger.debug(`Configured prompts for agent ${agent.role}`);\n }\n\n private topologicalSort(tasks: SwarmTask[]): SwarmTask[] {\n // Simple topological sort for task dependencies\n const sorted: SwarmTask[] = [];\n const visited = new Set<string>();\n const visiting = new Set<string>();\n\n const visit = (task: SwarmTask) => {\n if (visited.has(task.id)) return;\n if (visiting.has(task.id)) {\n logger.warn(`Circular dependency detected for task: ${task.id}`);\n return;\n }\n\n visiting.add(task.id);\n\n for (const depId of task.dependencies) {\n const depTask = tasks.find((t) => t.id === depId);\n if (depTask) visit(depTask);\n }\n\n visiting.delete(task.id);\n visited.add(task.id);\n sorted.push(task);\n };\n\n tasks.forEach(visit);\n return sorted;\n }\n\n private agentCanHandle(agent: Agent, role: string): boolean {\n return agent.role === role || agent.capabilities.includes(role);\n }\n\n private selectOptimalAgent(agents: Agent[], task: SwarmTask): Agent {\n // Select agent with lowest workload\n return agents.reduce((best, current) => {\n const bestLoad = best.currentTask ? 1 : 0;\n const currentLoad = current.currentTask ? 1 : 0;\n return currentLoad < bestLoad ? current : best;\n });\n }\n\n private estimateTaskDuration(task: SwarmTask): number {\n // Estimate based on complexity\n const durations: Record<string, number> = {\n low: 60000, // 1 minute\n medium: 300000, // 5 minutes\n high: 900000, // 15 minutes\n };\n return durations[task.estimatedEffort] || 300000;\n }\n\n private findCollaborators(\n agent: Agent,\n task: SwarmTask,\n agents: Agent[]\n ): string[] {\n // Find other agents working on related tasks\n return agents\n .filter((a) => a.id !== agent.id && a.currentTask)\n .map((a) => a.id)\n .slice(0, 2); // Limit to 2 collaborators\n }\n\n private findReviewers(\n agent: Agent,\n task: SwarmTask,\n agents: Agent[]\n ): string[] {\n // Find agents with reviewer role\n return agents\n .filter((a) => a.role === 'reviewer' && a.id !== agent.id)\n .map((a) => a.id);\n }\n\n private calculateMaxIterations(task: SwarmTask): number {\n // Calculate based on task complexity\n const iterations: Record<string, number> = {\n low: 5,\n medium: 10,\n high: 20,\n };\n return iterations[task.estimatedEffort] || 10;\n }\n\n private async getSwarmContext(task: SwarmTask): Promise<string> {\n // Get relevant context from other swarm members\n const relatedTasks = Array.from(this.activeAgents.values())\n .filter((a) => a.currentTask)\n .map((a) => `- Agent ${a.role} is working on task ${a.currentTask}`)\n .join('\\n');\n\n return relatedTasks || 'No other agents currently active';\n }\n\n private getCoordinationInstructions(agent: Agent): string {\n return `\n- Save progress to shared context regularly\n- Check for updates from collaborators\n- Request help if blocked for more than 2 iterations\n- Report completion immediately`;\n }\n\n private setupAgentCoordination(\n agent: Agent,\n ralph: any,\n assignment: any\n ): void {\n // Setup coordination hooks\n logger.debug(`Setting up coordination for agent ${agent.id}`);\n }\n\n private updateAgentPerformance(agent: Agent, success: boolean): void {\n agent.performance.tasksCompleted++;\n if (!success) {\n agent.performance.successRate =\n (agent.performance.successRate *\n (agent.performance.tasksCompleted - 1)) /\n agent.performance.tasksCompleted;\n }\n }\n\n private async notifyTaskCompletion(\n agent: Agent,\n task: SwarmTask,\n success: boolean\n ): Promise<void> {\n const event: CoordinationEvent = {\n type: 'task_completion',\n agentId: agent.id,\n timestamp: Date.now(),\n data: {\n taskId: task.id,\n success,\n agent: agent.role,\n },\n };\n\n this.swarmState.coordination?.events.push(event);\n logger.info(\n `Task ${task.id} completed by agent ${agent.role}: ${success ? 'SUCCESS' : 'FAILED'}`\n );\n }\n\n private async handleTaskFailure(\n agent: Agent,\n task: SwarmTask,\n error: Error\n ): Promise<void> {\n logger.error(`Agent ${agent.role} failed task ${task.id}`, error);\n\n // Record conflict\n if (this.swarmState.coordination) {\n this.swarmState.coordination.conflicts.push({\n type: 'task_failure',\n agents: [agent.id],\n timestamp: Date.now(),\n description: error.message,\n });\n }\n }\n\n private async detectTunnelVision(agent: Agent): Promise<boolean> {\n // Check if agent is stuck in same approach\n // Simplified implementation\n return false;\n }\n\n private async provideAlternativeApproach(agent: Agent): Promise<void> {\n logger.info(`Providing alternative approach to agent ${agent.role}`);\n }\n\n private async detectExcessiveRuntime(agent: Agent): Promise<boolean> {\n // Check if agent has been running too long\n if (!agent.performance.lastFreshStart) return false;\n return Date.now() - agent.performance.lastFreshStart > 3600000; // 1 hour\n }\n\n private async requestCheckpoint(agent: Agent): Promise<void> {\n logger.info(`Requesting checkpoint from agent ${agent.role}`);\n }\n\n private async triggerFreshStart(agent: Agent): Promise<void> {\n logger.info(`Triggering fresh start for agent ${agent.role}`);\n agent.performance.lastFreshStart = Date.now();\n agent.performance.driftDetected = false;\n }\n\n private async resolveActiveConflicts(): Promise<void> {\n // Resolve any active conflicts\n if (this.swarmState.coordination?.conflicts.length) {\n logger.debug(\n `Resolving ${this.swarmState.coordination.conflicts.length} conflicts`\n );\n }\n }\n\n private async rebalanceWorkload(): Promise<void> {\n // Rebalance workload among agents\n const activeAgents = Array.from(this.activeAgents.values()).filter(\n (a) => a.status === 'active'\n );\n if (activeAgents.length > 0) {\n logger.debug(\n `Rebalancing workload among ${activeAgents.length} active agents`\n );\n }\n }\n\n private async triggerFreshStartsIfNeeded(): Promise<void> {\n for (const agent of this.activeAgents.values()) {\n if (agent.performance.driftDetected) {\n await this.triggerFreshStart(agent);\n }\n }\n }\n\n private updateSwarmMetrics(): void {\n if (!this.swarmState.performance) return;\n\n const activeCount = Array.from(this.activeAgents.values()).filter(\n (a) => a.status === 'active'\n ).length;\n\n this.swarmState.performance.throughput =\n this.swarmState.completedTaskCount /\n ((Date.now() - this.swarmState.startTime) / 1000);\n\n this.swarmState.performance.efficiency =\n activeCount > 0 ? this.swarmState.completedTaskCount / activeCount : 0;\n }\n\n [Symbol.toStringTag] = 'SwarmCoordinator';\n}\n\n// Export default instance\nexport const swarmCoordinator = new SwarmCoordinator();\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
2
|
+
import { dirname as __pathDirname } from 'path';
|
|
3
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
4
|
+
const __dirname = __pathDirname(__filename);
|
|
1
5
|
import * as fs from "fs/promises";
|
|
2
6
|
import * as path from "path";
|
|
3
7
|
import { logger } from "../../../core/monitoring/logger.js";
|