@stackmemoryai/stackmemory 0.5.57 → 0.5.59
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/bin/codex-smd +6 -0
- package/dist/cli/codex-sm-danger.js +21 -0
- package/dist/cli/codex-sm-danger.js.map +7 -0
- package/dist/cli/commands/handoff.js +33 -3
- package/dist/cli/commands/handoff.js.map +2 -2
- package/dist/cli/commands/search.js +20 -3
- package/dist/cli/commands/search.js.map +2 -2
- package/dist/core/database/sqlite-adapter.js +13 -3
- package/dist/core/database/sqlite-adapter.js.map +2 -2
- package/dist/core/errors/error-utils.js +208 -0
- package/dist/core/errors/error-utils.js.map +7 -0
- package/dist/core/errors/index.js +13 -4
- package/dist/core/errors/index.js.map +2 -2
- package/dist/core/merge/unified-merge-resolver.js +303 -0
- package/dist/core/merge/unified-merge-resolver.js.map +7 -0
- package/dist/core/monitoring/logger.js +61 -9
- package/dist/core/monitoring/logger.js.map +2 -2
- package/dist/core/security/index.js +35 -0
- package/dist/core/security/index.js.map +7 -0
- package/dist/core/security/input-sanitizer.js +321 -0
- package/dist/core/security/input-sanitizer.js.map +7 -0
- package/dist/core/session/enhanced-handoff.js +136 -2
- package/dist/core/session/enhanced-handoff.js.map +3 -3
- package/dist/integrations/linear/client.js +5 -1
- package/dist/integrations/linear/client.js.map +2 -2
- package/dist/integrations/mcp/remote-server.js +27 -36
- package/dist/integrations/mcp/remote-server.js.map +2 -2
- package/dist/integrations/mcp/server.js +44 -29
- package/dist/integrations/mcp/server.js.map +3 -3
- package/dist/scripts/benchmark-performance.js +48 -0
- package/dist/scripts/benchmark-performance.js.map +7 -0
- package/dist/scripts/check-redis.js +42 -0
- package/dist/scripts/check-redis.js.map +7 -0
- package/dist/scripts/initialize.js +116 -0
- package/dist/scripts/initialize.js.map +7 -0
- package/dist/scripts/list-linear-tasks.js +124 -0
- package/dist/scripts/list-linear-tasks.js.map +7 -0
- package/dist/scripts/measure-handoff-impact.js +340 -0
- package/dist/scripts/measure-handoff-impact.js.map +7 -0
- package/dist/scripts/query-chromadb.js +160 -0
- package/dist/scripts/query-chromadb.js.map +7 -0
- package/dist/scripts/show-linear-summary.js +119 -0
- package/dist/scripts/show-linear-summary.js.map +7 -0
- package/dist/scripts/simple-swarm-demo.js +90 -0
- package/dist/scripts/simple-swarm-demo.js.map +7 -0
- package/dist/scripts/status.js +155 -0
- package/dist/scripts/status.js.map +7 -0
- package/dist/scripts/test-chromadb-sync.js +192 -0
- package/dist/scripts/test-chromadb-sync.js.map +7 -0
- package/dist/scripts/test-ralph-iteration-fix.js +86 -0
- package/dist/scripts/test-ralph-iteration-fix.js.map +7 -0
- package/dist/scripts/test-ralph-iterations.js +121 -0
- package/dist/scripts/test-ralph-iterations.js.map +7 -0
- package/dist/scripts/test-redis-storage.js +389 -0
- package/dist/scripts/test-redis-storage.js.map +7 -0
- package/dist/scripts/test-simple-ralph-state-sync.js +115 -0
- package/dist/scripts/test-simple-ralph-state-sync.js.map +7 -0
- package/dist/scripts/test-swarm-fixes.js +125 -0
- package/dist/scripts/test-swarm-fixes.js.map +7 -0
- package/dist/scripts/test-swarm-tui.js +23 -0
- package/dist/scripts/test-swarm-tui.js.map +7 -0
- package/dist/scripts/test-tui-shortcuts.js +52 -0
- package/dist/scripts/test-tui-shortcuts.js.map +7 -0
- package/dist/scripts/validate-tui-shortcuts.js +60 -0
- package/dist/scripts/validate-tui-shortcuts.js.map +7 -0
- package/dist/src/agents/core/agent-task-manager.js +527 -0
- package/dist/src/agents/core/agent-task-manager.js.map +7 -0
- package/dist/src/agents/verifiers/base-verifier.js +133 -0
- package/dist/src/agents/verifiers/base-verifier.js.map +7 -0
- package/dist/src/agents/verifiers/formatter-verifier.js +130 -0
- package/dist/src/agents/verifiers/formatter-verifier.js.map +7 -0
- package/dist/src/agents/verifiers/llm-judge.js +252 -0
- package/dist/src/agents/verifiers/llm-judge.js.map +7 -0
- package/dist/src/cli/auto-detect.js +321 -0
- package/dist/src/cli/auto-detect.js.map +7 -0
- package/dist/src/cli/claude-sm-danger.js +21 -0
- package/dist/src/cli/claude-sm-danger.js.map +7 -0
- package/dist/src/cli/claude-sm.js +1156 -0
- package/dist/src/cli/claude-sm.js.map +7 -0
- package/dist/src/cli/codex-sm-danger.js +21 -0
- package/dist/src/cli/codex-sm-danger.js.map +7 -0
- package/dist/src/cli/codex-sm.js +349 -0
- package/dist/src/cli/codex-sm.js.map +7 -0
- package/dist/src/cli/commands/api.js +232 -0
- package/dist/src/cli/commands/api.js.map +7 -0
- package/dist/src/cli/commands/auto-background.js +180 -0
- package/dist/src/cli/commands/auto-background.js.map +7 -0
- package/dist/src/cli/commands/cleanup-processes.js +68 -0
- package/dist/src/cli/commands/cleanup-processes.js.map +7 -0
- package/dist/src/cli/commands/clear.js +202 -0
- package/dist/src/cli/commands/clear.js.map +7 -0
- package/dist/src/cli/commands/config.js +445 -0
- package/dist/src/cli/commands/config.js.map +7 -0
- package/dist/src/cli/commands/context-rehydrate.js +751 -0
- package/dist/src/cli/commands/context-rehydrate.js.map +7 -0
- package/dist/src/cli/commands/context.js +343 -0
- package/dist/src/cli/commands/context.js.map +7 -0
- package/dist/src/cli/commands/daemon.js +392 -0
- package/dist/src/cli/commands/daemon.js.map +7 -0
- package/dist/src/cli/commands/dashboard.js +210 -0
- package/dist/src/cli/commands/dashboard.js.map +7 -0
- package/dist/src/cli/commands/db.js +147 -0
- package/dist/src/cli/commands/db.js.map +7 -0
- package/dist/src/cli/commands/decision.js +266 -0
- package/dist/src/cli/commands/decision.js.map +7 -0
- package/dist/src/cli/commands/discovery.js +279 -0
- package/dist/src/cli/commands/discovery.js.map +7 -0
- package/dist/src/cli/commands/handoff.js +624 -0
- package/dist/src/cli/commands/handoff.js.map +7 -0
- package/dist/src/cli/commands/hooks.js +298 -0
- package/dist/src/cli/commands/hooks.js.map +7 -0
- package/dist/src/cli/commands/linear.js +529 -0
- package/dist/src/cli/commands/linear.js.map +7 -0
- package/dist/src/cli/commands/log.js +169 -0
- package/dist/src/cli/commands/log.js.map +7 -0
- package/dist/src/cli/commands/login.js +172 -0
- package/dist/src/cli/commands/login.js.map +7 -0
- package/dist/src/cli/commands/migrate.js +240 -0
- package/dist/src/cli/commands/migrate.js.map +7 -0
- package/dist/src/cli/commands/model.js +533 -0
- package/dist/src/cli/commands/model.js.map +7 -0
- package/dist/src/cli/commands/onboard.js +536 -0
- package/dist/src/cli/commands/onboard.js.map +7 -0
- package/dist/src/cli/commands/projects.js +199 -0
- package/dist/src/cli/commands/projects.js.map +7 -0
- package/dist/src/cli/commands/ralph.js +909 -0
- package/dist/src/cli/commands/ralph.js.map +7 -0
- package/dist/src/cli/commands/retrieval.js +248 -0
- package/dist/src/cli/commands/retrieval.js.map +7 -0
- package/dist/src/cli/commands/search.js +173 -0
- package/dist/src/cli/commands/search.js.map +7 -0
- package/dist/src/cli/commands/service.js +749 -0
- package/dist/src/cli/commands/service.js.map +7 -0
- package/dist/src/cli/commands/session.js +200 -0
- package/dist/src/cli/commands/session.js.map +7 -0
- package/dist/src/cli/commands/settings.js +306 -0
- package/dist/src/cli/commands/settings.js.map +7 -0
- package/dist/src/cli/commands/setup.js +701 -0
- package/dist/src/cli/commands/setup.js.map +7 -0
- package/dist/src/cli/commands/shell.js +249 -0
- package/dist/src/cli/commands/shell.js.map +7 -0
- package/dist/src/cli/commands/signup.js +50 -0
- package/dist/src/cli/commands/signup.js.map +7 -0
- package/dist/src/cli/commands/skills.js +470 -0
- package/dist/src/cli/commands/skills.js.map +7 -0
- package/dist/src/cli/commands/sms-notify.js +795 -0
- package/dist/src/cli/commands/sms-notify.js.map +7 -0
- package/dist/src/cli/commands/storage-tier.js +183 -0
- package/dist/src/cli/commands/storage-tier.js.map +7 -0
- package/dist/src/cli/commands/sweep.js +249 -0
- package/dist/src/cli/commands/sweep.js.map +7 -0
- package/dist/src/cli/commands/tasks.js +213 -0
- package/dist/src/cli/commands/tasks.js.map +7 -0
- package/dist/src/cli/commands/worktree.js +319 -0
- package/dist/src/cli/commands/worktree.js.map +7 -0
- package/dist/src/cli/index.js +594 -0
- package/dist/src/cli/index.js.map +7 -0
- package/dist/src/cli/opencode-sm.js +448 -0
- package/dist/src/cli/opencode-sm.js.map +7 -0
- package/dist/src/cli/utils/viewer.js +96 -0
- package/dist/src/cli/utils/viewer.js.map +7 -0
- package/dist/src/core/config/config-manager.js +398 -0
- package/dist/src/core/config/config-manager.js.map +7 -0
- package/dist/src/core/config/feature-flags.js +76 -0
- package/dist/src/core/config/feature-flags.js.map +7 -0
- package/dist/src/core/config/storage-config.js +115 -0
- package/dist/src/core/config/storage-config.js.map +7 -0
- package/dist/src/core/config/types.js +144 -0
- package/dist/src/core/config/types.js.map +7 -0
- package/dist/src/core/context/auto-context.js +80 -0
- package/dist/src/core/context/auto-context.js.map +7 -0
- package/dist/src/core/context/dual-stack-manager.js +870 -0
- package/dist/src/core/context/dual-stack-manager.js.map +7 -0
- package/dist/src/core/context/enhanced-rehydration.js +994 -0
- package/dist/src/core/context/enhanced-rehydration.js.map +7 -0
- package/dist/src/core/context/frame-database.js +479 -0
- package/dist/src/core/context/frame-database.js.map +7 -0
- package/dist/src/core/context/frame-digest.js +250 -0
- package/dist/src/core/context/frame-digest.js.map +7 -0
- package/dist/src/core/context/frame-handoff-manager.js +778 -0
- package/dist/src/core/context/frame-handoff-manager.js.map +7 -0
- package/dist/src/core/context/frame-lifecycle-hooks.js +119 -0
- package/dist/src/core/context/frame-lifecycle-hooks.js.map +7 -0
- package/dist/src/core/context/frame-recovery.js +302 -0
- package/dist/src/core/context/frame-recovery.js.map +7 -0
- package/dist/src/core/context/frame-stack.js +314 -0
- package/dist/src/core/context/frame-stack.js.map +7 -0
- package/dist/src/core/context/frame-types.js +5 -0
- package/dist/src/core/context/frame-types.js.map +7 -0
- package/dist/src/core/context/index.js +25 -0
- package/dist/src/core/context/index.js.map +7 -0
- package/dist/src/core/context/permission-manager.js +185 -0
- package/dist/src/core/context/permission-manager.js.map +7 -0
- package/dist/src/core/context/recursive-context-manager.js +592 -0
- package/dist/src/core/context/recursive-context-manager.js.map +7 -0
- package/dist/src/core/context/refactored-frame-manager.js +754 -0
- package/dist/src/core/context/refactored-frame-manager.js.map +7 -0
- package/dist/src/core/context/shared-context-layer.js +621 -0
- package/dist/src/core/context/shared-context-layer.js.map +7 -0
- package/dist/src/core/context/stack-merge-resolver.js +749 -0
- package/dist/src/core/context/stack-merge-resolver.js.map +7 -0
- package/dist/src/core/context/validation.js +130 -0
- package/dist/src/core/context/validation.js.map +7 -0
- package/dist/src/core/database/batch-operations.js +384 -0
- package/dist/src/core/database/batch-operations.js.map +7 -0
- package/dist/src/core/database/connection-pool.js +330 -0
- package/dist/src/core/database/connection-pool.js.map +7 -0
- package/dist/src/core/database/database-adapter.js +60 -0
- package/dist/src/core/database/database-adapter.js.map +7 -0
- package/dist/src/core/database/migration-manager.js +614 -0
- package/dist/src/core/database/migration-manager.js.map +7 -0
- package/dist/src/core/database/query-cache.js +298 -0
- package/dist/src/core/database/query-cache.js.map +7 -0
- package/dist/src/core/database/query-router.js +430 -0
- package/dist/src/core/database/query-router.js.map +7 -0
- package/dist/src/core/database/sqlite-adapter.js +738 -0
- package/dist/src/core/database/sqlite-adapter.js.map +7 -0
- package/dist/src/core/digest/enhanced-hybrid-digest.js +277 -0
- package/dist/src/core/digest/enhanced-hybrid-digest.js.map +7 -0
- package/dist/src/core/digest/frame-digest-integration.js +176 -0
- package/dist/src/core/digest/frame-digest-integration.js.map +7 -0
- package/dist/src/core/digest/hybrid-digest-generator.js +553 -0
- package/dist/src/core/digest/hybrid-digest-generator.js.map +7 -0
- package/dist/src/core/digest/index.js +9 -0
- package/dist/src/core/digest/index.js.map +7 -0
- package/dist/src/core/digest/types.js +25 -0
- package/dist/src/core/digest/types.js.map +7 -0
- package/dist/src/core/errors/error-utils.js +208 -0
- package/dist/src/core/errors/error-utils.js.map +7 -0
- package/dist/src/core/errors/index.js +521 -0
- package/dist/src/core/errors/index.js.map +7 -0
- package/dist/src/core/errors/recovery.js +269 -0
- package/dist/src/core/errors/recovery.js.map +7 -0
- package/dist/src/core/execution/parallel-executor.js +258 -0
- package/dist/src/core/execution/parallel-executor.js.map +7 -0
- package/dist/src/core/frame/workflow-templates.js +319 -0
- package/dist/src/core/frame/workflow-templates.js.map +7 -0
- package/dist/src/core/merge/conflict-detector.js +431 -0
- package/dist/src/core/merge/conflict-detector.js.map +7 -0
- package/dist/src/core/merge/index.js +9 -0
- package/dist/src/core/merge/index.js.map +7 -0
- package/dist/src/core/merge/resolution-engine.js +558 -0
- package/dist/src/core/merge/resolution-engine.js.map +7 -0
- package/dist/src/core/merge/stack-diff.js +532 -0
- package/dist/src/core/merge/stack-diff.js.map +7 -0
- package/dist/src/core/merge/types.js +5 -0
- package/dist/src/core/merge/types.js.map +7 -0
- package/dist/src/core/merge/unified-merge-resolver.js +303 -0
- package/dist/src/core/merge/unified-merge-resolver.js.map +7 -0
- package/dist/src/core/models/fallback-monitor.js +232 -0
- package/dist/src/core/models/fallback-monitor.js.map +7 -0
- package/dist/src/core/models/model-router.js +340 -0
- package/dist/src/core/models/model-router.js.map +7 -0
- package/dist/src/core/monitoring/error-handler.js +49 -0
- package/dist/src/core/monitoring/error-handler.js.map +7 -0
- package/dist/src/core/monitoring/logger.js +202 -0
- package/dist/src/core/monitoring/logger.js.map +7 -0
- package/dist/src/core/monitoring/metrics.js +172 -0
- package/dist/src/core/monitoring/metrics.js.map +7 -0
- package/dist/src/core/monitoring/progress-tracker.js +189 -0
- package/dist/src/core/monitoring/progress-tracker.js.map +7 -0
- package/dist/src/core/monitoring/session-monitor.js +300 -0
- package/dist/src/core/monitoring/session-monitor.js.map +7 -0
- package/dist/src/core/performance/context-cache.js +273 -0
- package/dist/src/core/performance/context-cache.js.map +7 -0
- package/dist/src/core/performance/index.js +11 -0
- package/dist/src/core/performance/index.js.map +7 -0
- package/dist/src/core/performance/lazy-context-loader.js +327 -0
- package/dist/src/core/performance/lazy-context-loader.js.map +7 -0
- package/dist/src/core/performance/monitor.js +221 -0
- package/dist/src/core/performance/monitor.js.map +7 -0
- package/dist/src/core/performance/optimized-frame-context.js +345 -0
- package/dist/src/core/performance/optimized-frame-context.js.map +7 -0
- package/dist/src/core/performance/performance-benchmark.js +277 -0
- package/dist/src/core/performance/performance-benchmark.js.map +7 -0
- package/dist/src/core/performance/performance-profiler.js +370 -0
- package/dist/src/core/performance/performance-profiler.js.map +7 -0
- package/dist/src/core/performance/streaming-jsonl-parser.js +195 -0
- package/dist/src/core/performance/streaming-jsonl-parser.js.map +7 -0
- package/dist/src/core/persistence/postgres-adapter.js +349 -0
- package/dist/src/core/persistence/postgres-adapter.js.map +7 -0
- package/dist/src/core/projects/project-isolation.js +201 -0
- package/dist/src/core/projects/project-isolation.js.map +7 -0
- package/dist/src/core/projects/project-manager.js +697 -0
- package/dist/src/core/projects/project-manager.js.map +7 -0
- package/dist/src/core/query/query-parser.js +370 -0
- package/dist/src/core/query/query-parser.js.map +7 -0
- package/dist/src/core/query/query-templates.js +321 -0
- package/dist/src/core/query/query-templates.js.map +7 -0
- package/dist/src/core/retrieval/context-retriever.js +479 -0
- package/dist/src/core/retrieval/context-retriever.js.map +7 -0
- package/dist/src/core/retrieval/index.js +8 -0
- package/dist/src/core/retrieval/index.js.map +7 -0
- package/dist/src/core/retrieval/llm-context-retrieval.js +613 -0
- package/dist/src/core/retrieval/llm-context-retrieval.js.map +7 -0
- package/dist/src/core/retrieval/llm-provider.js +151 -0
- package/dist/src/core/retrieval/llm-provider.js.map +7 -0
- package/dist/src/core/retrieval/retrieval-audit.js +236 -0
- package/dist/src/core/retrieval/retrieval-audit.js.map +7 -0
- package/dist/src/core/retrieval/summary-generator.js +589 -0
- package/dist/src/core/retrieval/summary-generator.js.map +7 -0
- package/dist/src/core/retrieval/types.js +21 -0
- package/dist/src/core/retrieval/types.js.map +7 -0
- package/dist/src/core/security/index.js +35 -0
- package/dist/src/core/security/index.js.map +7 -0
- package/dist/src/core/security/input-sanitizer.js +321 -0
- package/dist/src/core/security/input-sanitizer.js.map +7 -0
- package/dist/src/core/session/clear-survival.js +465 -0
- package/dist/src/core/session/clear-survival.js.map +7 -0
- package/dist/src/core/session/enhanced-handoff.js +792 -0
- package/dist/src/core/session/enhanced-handoff.js.map +7 -0
- package/dist/src/core/session/handoff-generator.js +343 -0
- package/dist/src/core/session/handoff-generator.js.map +7 -0
- package/dist/src/core/session/index.js +15 -0
- package/dist/src/core/session/index.js.map +7 -0
- package/dist/src/core/session/session-manager.js +347 -0
- package/dist/src/core/session/session-manager.js.map +7 -0
- package/dist/src/core/skills/index.js +7 -0
- package/dist/src/core/skills/index.js.map +7 -0
- package/dist/src/core/skills/skill-storage.js +764 -0
- package/dist/src/core/skills/skill-storage.js.map +7 -0
- package/dist/src/core/skills/types.js +193 -0
- package/dist/src/core/skills/types.js.map +7 -0
- package/dist/src/core/storage/chromadb-adapter.js +354 -0
- package/dist/src/core/storage/chromadb-adapter.js.map +7 -0
- package/dist/src/core/storage/infinite-storage.js +510 -0
- package/dist/src/core/storage/infinite-storage.js.map +7 -0
- package/dist/src/core/storage/remote-storage.js +489 -0
- package/dist/src/core/storage/remote-storage.js.map +7 -0
- package/dist/src/core/storage/two-tier-storage.js +766 -0
- package/dist/src/core/storage/two-tier-storage.js.map +7 -0
- package/dist/src/core/trace/cli-trace-wrapper.js +132 -0
- package/dist/src/core/trace/cli-trace-wrapper.js.map +7 -0
- package/dist/src/core/trace/db-trace-wrapper.js +247 -0
- package/dist/src/core/trace/db-trace-wrapper.js.map +7 -0
- package/dist/src/core/trace/debug-trace.js +417 -0
- package/dist/src/core/trace/debug-trace.js.map +7 -0
- package/dist/src/core/trace/index.js +109 -0
- package/dist/src/core/trace/index.js.map +7 -0
- package/dist/src/core/trace/linear-api-wrapper.js +178 -0
- package/dist/src/core/trace/linear-api-wrapper.js.map +7 -0
- package/dist/src/core/trace/trace-detector.js +528 -0
- package/dist/src/core/trace/trace-detector.js.map +7 -0
- package/dist/src/core/trace/trace-store.js +345 -0
- package/dist/src/core/trace/trace-store.js.map +7 -0
- package/dist/src/core/trace/types.js +77 -0
- package/dist/src/core/trace/types.js.map +7 -0
- package/dist/src/core/types.js +5 -0
- package/dist/src/core/types.js.map +7 -0
- package/dist/src/core/utils/async-mutex.js +114 -0
- package/dist/src/core/utils/async-mutex.js.map +7 -0
- package/dist/src/core/utils/compression.js +83 -0
- package/dist/src/core/utils/compression.js.map +7 -0
- package/dist/src/core/utils/update-checker.js +218 -0
- package/dist/src/core/utils/update-checker.js.map +7 -0
- package/dist/src/core/worktree/worktree-manager.js +465 -0
- package/dist/src/core/worktree/worktree-manager.js.map +7 -0
- package/dist/src/daemon/daemon-config.js +149 -0
- package/dist/src/daemon/daemon-config.js.map +7 -0
- package/dist/src/daemon/services/context-service.js +122 -0
- package/dist/src/daemon/services/context-service.js.map +7 -0
- package/dist/src/daemon/services/linear-service.js +136 -0
- package/dist/src/daemon/services/linear-service.js.map +7 -0
- package/dist/src/daemon/session-daemon.js +312 -0
- package/dist/src/daemon/session-daemon.js.map +7 -0
- package/dist/src/daemon/unified-daemon.js +276 -0
- package/dist/src/daemon/unified-daemon.js.map +7 -0
- package/dist/src/features/analytics/api/analytics-api.js +287 -0
- package/dist/src/features/analytics/api/analytics-api.js.map +7 -0
- package/dist/src/features/analytics/core/analytics-service.js +282 -0
- package/dist/src/features/analytics/core/analytics-service.js.map +7 -0
- package/dist/src/features/analytics/index.js +18 -0
- package/dist/src/features/analytics/index.js.map +7 -0
- package/dist/src/features/analytics/queries/metrics-queries.js +277 -0
- package/dist/src/features/analytics/queries/metrics-queries.js.map +7 -0
- package/dist/src/features/analytics/types/metrics.js +5 -0
- package/dist/src/features/analytics/types/metrics.js.map +7 -0
- package/dist/src/features/browser/browser-mcp.js +492 -0
- package/dist/src/features/browser/browser-mcp.js.map +7 -0
- package/dist/src/features/sweep/index.js +20 -0
- package/dist/src/features/sweep/index.js.map +7 -0
- package/dist/src/features/sweep/prediction-client.js +155 -0
- package/dist/src/features/sweep/prediction-client.js.map +7 -0
- package/dist/src/features/sweep/prompt-builder.js +85 -0
- package/dist/src/features/sweep/prompt-builder.js.map +7 -0
- package/dist/src/features/sweep/pty-wrapper.js +171 -0
- package/dist/src/features/sweep/pty-wrapper.js.map +7 -0
- package/dist/src/features/sweep/state-watcher.js +87 -0
- package/dist/src/features/sweep/state-watcher.js.map +7 -0
- package/dist/src/features/sweep/status-bar.js +88 -0
- package/dist/src/features/sweep/status-bar.js.map +7 -0
- package/dist/src/features/sweep/sweep-server-manager.js +226 -0
- package/dist/src/features/sweep/sweep-server-manager.js.map +7 -0
- package/dist/src/features/sweep/tab-interceptor.js +38 -0
- package/dist/src/features/sweep/tab-interceptor.js.map +7 -0
- package/dist/src/features/sweep/types.js +18 -0
- package/dist/src/features/sweep/types.js.map +7 -0
- package/dist/src/features/tasks/linear-task-manager.js +487 -0
- package/dist/src/features/tasks/linear-task-manager.js.map +7 -0
- package/dist/src/features/tasks/task-aware-context.js +410 -0
- package/dist/src/features/tasks/task-aware-context.js.map +7 -0
- package/dist/src/features/tui/simple-monitor.js +116 -0
- package/dist/src/features/tui/simple-monitor.js.map +7 -0
- package/dist/src/features/tui/swarm-monitor.js +648 -0
- package/dist/src/features/tui/swarm-monitor.js.map +7 -0
- package/dist/src/features/web/client/stores/task-store.js +26 -0
- package/dist/src/features/web/client/stores/task-store.js.map +7 -0
- package/dist/src/features/web/server/index.js +194 -0
- package/dist/src/features/web/server/index.js.map +7 -0
- package/dist/src/hooks/auto-background.js +151 -0
- package/dist/src/hooks/auto-background.js.map +7 -0
- package/dist/src/hooks/claude-code-whatsapp-hook.js +197 -0
- package/dist/src/hooks/claude-code-whatsapp-hook.js.map +7 -0
- package/dist/src/hooks/config.js +150 -0
- package/dist/src/hooks/config.js.map +7 -0
- package/dist/src/hooks/daemon.js +364 -0
- package/dist/src/hooks/daemon.js.map +7 -0
- package/dist/src/hooks/events.js +58 -0
- package/dist/src/hooks/events.js.map +7 -0
- package/dist/src/hooks/index.js +12 -0
- package/dist/src/hooks/index.js.map +7 -0
- package/dist/src/hooks/linear-task-picker.js +186 -0
- package/dist/src/hooks/linear-task-picker.js.map +7 -0
- package/dist/src/hooks/schemas.js +197 -0
- package/dist/src/hooks/schemas.js.map +7 -0
- package/dist/src/hooks/secure-fs.js +49 -0
- package/dist/src/hooks/secure-fs.js.map +7 -0
- package/dist/src/hooks/security-logger.js +155 -0
- package/dist/src/hooks/security-logger.js.map +7 -0
- package/dist/src/hooks/session-summary.js +222 -0
- package/dist/src/hooks/session-summary.js.map +7 -0
- package/dist/src/hooks/sms-action-runner.js +371 -0
- package/dist/src/hooks/sms-action-runner.js.map +7 -0
- package/dist/src/hooks/sms-notify.js +506 -0
- package/dist/src/hooks/sms-notify.js.map +7 -0
- package/dist/src/hooks/sms-watcher.js +93 -0
- package/dist/src/hooks/sms-watcher.js.map +7 -0
- package/dist/src/hooks/sms-webhook.js +555 -0
- package/dist/src/hooks/sms-webhook.js.map +7 -0
- package/dist/src/hooks/whatsapp-commands.js +479 -0
- package/dist/src/hooks/whatsapp-commands.js.map +7 -0
- package/dist/src/hooks/whatsapp-scheduler.js +317 -0
- package/dist/src/hooks/whatsapp-scheduler.js.map +7 -0
- package/dist/src/hooks/whatsapp-sync.js +409 -0
- package/dist/src/hooks/whatsapp-sync.js.map +7 -0
- package/dist/src/index.js +25 -0
- package/dist/src/index.js.map +7 -0
- package/dist/src/integrations/anthropic/client.js +263 -0
- package/dist/src/integrations/anthropic/client.js.map +7 -0
- package/dist/src/integrations/claude-code/agent-bridge.js +768 -0
- package/dist/src/integrations/claude-code/agent-bridge.js.map +7 -0
- package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js +459 -0
- package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js.map +7 -0
- package/dist/src/integrations/claude-code/lifecycle-hooks.js +254 -0
- package/dist/src/integrations/claude-code/lifecycle-hooks.js.map +7 -0
- package/dist/src/integrations/claude-code/post-task-hooks.js +545 -0
- package/dist/src/integrations/claude-code/post-task-hooks.js.map +7 -0
- package/dist/src/integrations/claude-code/subagent-client-stub.js +20 -0
- package/dist/src/integrations/claude-code/subagent-client-stub.js.map +7 -0
- package/dist/src/integrations/claude-code/subagent-client.js +511 -0
- package/dist/src/integrations/claude-code/subagent-client.js.map +7 -0
- package/dist/src/integrations/claude-code/task-coordinator.js +360 -0
- package/dist/src/integrations/claude-code/task-coordinator.js.map +7 -0
- package/dist/src/integrations/linear/auth.js +337 -0
- package/dist/src/integrations/linear/auth.js.map +7 -0
- package/dist/src/integrations/linear/auto-sync.js +258 -0
- package/dist/src/integrations/linear/auto-sync.js.map +7 -0
- package/dist/src/integrations/linear/client.js +634 -0
- package/dist/src/integrations/linear/client.js.map +7 -0
- package/dist/src/integrations/linear/config.js +130 -0
- package/dist/src/integrations/linear/config.js.map +7 -0
- package/dist/src/integrations/linear/migration.js +361 -0
- package/dist/src/integrations/linear/migration.js.map +7 -0
- package/dist/src/integrations/linear/oauth-server.js +454 -0
- package/dist/src/integrations/linear/oauth-server.js.map +7 -0
- package/dist/src/integrations/linear/rest-client.js +213 -0
- package/dist/src/integrations/linear/rest-client.js.map +7 -0
- package/dist/src/integrations/linear/sync-manager.js +236 -0
- package/dist/src/integrations/linear/sync-manager.js.map +7 -0
- package/dist/src/integrations/linear/sync-service.js +231 -0
- package/dist/src/integrations/linear/sync-service.js.map +7 -0
- package/dist/src/integrations/linear/sync.js +782 -0
- package/dist/src/integrations/linear/sync.js.map +7 -0
- package/dist/src/integrations/linear/types.js +5 -0
- package/dist/src/integrations/linear/types.js.map +7 -0
- package/dist/src/integrations/linear/unified-sync.js +589 -0
- package/dist/src/integrations/linear/unified-sync.js.map +7 -0
- package/dist/src/integrations/linear/webhook-handler.js +219 -0
- package/dist/src/integrations/linear/webhook-handler.js.map +7 -0
- package/dist/src/integrations/linear/webhook-server.js +218 -0
- package/dist/src/integrations/linear/webhook-server.js.map +7 -0
- package/dist/src/integrations/linear/webhook.js +291 -0
- package/dist/src/integrations/linear/webhook.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/code-execution-handlers.js +266 -0
- package/dist/src/integrations/mcp/handlers/code-execution-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/context-handlers.js +257 -0
- package/dist/src/integrations/mcp/handlers/context-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/discovery-handlers.js +497 -0
- package/dist/src/integrations/mcp/handlers/discovery-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/index.js +166 -0
- package/dist/src/integrations/mcp/handlers/index.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/linear-handlers.js +247 -0
- package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/skill-handlers.js +529 -0
- package/dist/src/integrations/mcp/handlers/skill-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/task-handlers.js +239 -0
- package/dist/src/integrations/mcp/handlers/task-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/trace-handlers.js +308 -0
- package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/index.js +23 -0
- package/dist/src/integrations/mcp/index.js.map +7 -0
- package/dist/src/integrations/mcp/middleware/tool-scoring.js +356 -0
- package/dist/src/integrations/mcp/middleware/tool-scoring.js.map +7 -0
- package/dist/src/integrations/mcp/refactored-server.js +374 -0
- package/dist/src/integrations/mcp/refactored-server.js.map +7 -0
- package/dist/src/integrations/mcp/remote-server.js +682 -0
- package/dist/src/integrations/mcp/remote-server.js.map +7 -0
- package/dist/src/integrations/mcp/schemas.js +147 -0
- package/dist/src/integrations/mcp/schemas.js.map +7 -0
- package/dist/src/integrations/mcp/server.js +1975 -0
- package/dist/src/integrations/mcp/server.js.map +7 -0
- package/dist/src/integrations/mcp/tool-definitions-code.js +125 -0
- package/dist/src/integrations/mcp/tool-definitions-code.js.map +7 -0
- package/dist/src/integrations/mcp/tool-definitions.js +702 -0
- package/dist/src/integrations/mcp/tool-definitions.js.map +7 -0
- package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js +860 -0
- package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +7 -0
- package/dist/src/integrations/ralph/context/context-budget-manager.js +301 -0
- package/dist/src/integrations/ralph/context/context-budget-manager.js.map +7 -0
- package/dist/src/integrations/ralph/context/stackmemory-context-loader.js +360 -0
- package/dist/src/integrations/ralph/context/stackmemory-context-loader.js.map +7 -0
- package/dist/src/integrations/ralph/coordination/enhanced-coordination.js +410 -0
- package/dist/src/integrations/ralph/coordination/enhanced-coordination.js.map +7 -0
- package/dist/src/integrations/ralph/index.js +18 -0
- package/dist/src/integrations/ralph/index.js.map +7 -0
- package/dist/src/integrations/ralph/learning/pattern-learner.js +401 -0
- package/dist/src/integrations/ralph/learning/pattern-learner.js.map +7 -0
- package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js +448 -0
- package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js.map +7 -0
- package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js +294 -0
- package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js.map +7 -0
- package/dist/src/integrations/ralph/monitoring/swarm-registry.js +108 -0
- package/dist/src/integrations/ralph/monitoring/swarm-registry.js.map +7 -0
- package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js +463 -0
- package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +7 -0
- package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js +400 -0
- package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js.map +7 -0
- package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js +473 -0
- package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js.map +7 -0
- package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js +388 -0
- package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js.map +7 -0
- package/dist/src/integrations/ralph/performance/performance-optimizer.js +358 -0
- package/dist/src/integrations/ralph/performance/performance-optimizer.js.map +7 -0
- package/dist/src/integrations/ralph/recovery/crash-recovery.js +462 -0
- package/dist/src/integrations/ralph/recovery/crash-recovery.js.map +7 -0
- package/dist/src/integrations/ralph/state/state-reconciler.js +404 -0
- package/dist/src/integrations/ralph/state/state-reconciler.js.map +7 -0
- package/dist/src/integrations/ralph/swarm/git-workflow-manager.js +428 -0
- package/dist/src/integrations/ralph/swarm/git-workflow-manager.js.map +7 -0
- package/dist/src/integrations/ralph/swarm/swarm-coordinator.js +996 -0
- package/dist/src/integrations/ralph/swarm/swarm-coordinator.js.map +7 -0
- package/dist/src/integrations/ralph/types.js +5 -0
- package/dist/src/integrations/ralph/types.js.map +7 -0
- package/dist/src/integrations/ralph/visualization/ralph-debugger.js +585 -0
- package/dist/src/integrations/ralph/visualization/ralph-debugger.js.map +7 -0
- package/dist/src/mcp/stackmemory-mcp-server.js +554 -0
- package/dist/src/mcp/stackmemory-mcp-server.js.map +7 -0
- package/dist/src/middleware/exponential-rate-limiter.js +289 -0
- package/dist/src/middleware/exponential-rate-limiter.js.map +7 -0
- package/dist/src/models/user.model.js +358 -0
- package/dist/src/models/user.model.js.map +7 -0
- package/dist/src/servers/production/auth-middleware.js +528 -0
- package/dist/src/servers/production/auth-middleware.js.map +7 -0
- package/dist/src/services/config-service.js +65 -0
- package/dist/src/services/config-service.js.map +7 -0
- package/dist/src/services/context-service.js +194 -0
- package/dist/src/services/context-service.js.map +7 -0
- package/dist/src/skills/api-discovery.js +354 -0
- package/dist/src/skills/api-discovery.js.map +7 -0
- package/dist/src/skills/api-skill.js +475 -0
- package/dist/src/skills/api-skill.js.map +7 -0
- package/dist/src/skills/claude-skills.js +1061 -0
- package/dist/src/skills/claude-skills.js.map +7 -0
- package/dist/src/skills/dashboard-launcher.js +216 -0
- package/dist/src/skills/dashboard-launcher.js.map +7 -0
- package/dist/src/skills/recursive-agent-orchestrator.js +575 -0
- package/dist/src/skills/recursive-agent-orchestrator.js.map +7 -0
- package/dist/src/skills/repo-ingestion-skill.js +609 -0
- package/dist/src/skills/repo-ingestion-skill.js.map +7 -0
- package/dist/src/skills/unified-rlm-orchestrator.js +404 -0
- package/dist/src/skills/unified-rlm-orchestrator.js.map +7 -0
- package/dist/src/types/task.js +5 -0
- package/dist/src/types/task.js.map +7 -0
- package/dist/src/utils/env.js +50 -0
- package/dist/src/utils/env.js.map +7 -0
- package/dist/src/utils/formatting.js +62 -0
- package/dist/src/utils/formatting.js.map +7 -0
- package/dist/src/utils/process-cleanup.js +136 -0
- package/dist/src/utils/process-cleanup.js.map +7 -0
- package/package.json +4 -3
- package/scripts/create-cleanup-issues.js +302 -0
- package/scripts/demos/browser-test.ts +39 -0
- package/scripts/demos/ralph-integration-demo.ts +244 -0
- package/scripts/demos/trace-demo.ts +214 -0
- package/scripts/demos/trace-detector.demo.ts +171 -0
- package/scripts/demos/trace-test.ts +67 -0
- package/scripts/initialize.ts +16 -7
- package/scripts/install.sh +14 -62
- package/scripts/status.ts +111 -46
- package/scripts/test-claude-config.sh +123 -0
- package/scripts/validate-claude-config.sh +155 -0
|
@@ -0,0 +1,410 @@
|
|
|
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);
|
|
5
|
+
import { EventEmitter } from "events";
|
|
6
|
+
import { logger } from "../../../core/monitoring/logger.js";
|
|
7
|
+
class EnhancedCoordinationSystem extends EventEmitter {
|
|
8
|
+
agents = /* @__PURE__ */ new Map();
|
|
9
|
+
messageQueue = [];
|
|
10
|
+
dependencies = /* @__PURE__ */ new Map();
|
|
11
|
+
conflicts = /* @__PURE__ */ new Map();
|
|
12
|
+
coordinationRules = [];
|
|
13
|
+
constructor() {
|
|
14
|
+
super();
|
|
15
|
+
this.setupDefaultRules();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Register an agent with the coordination system
|
|
19
|
+
*/
|
|
20
|
+
registerAgent(agent) {
|
|
21
|
+
this.agents.set(agent.id, agent);
|
|
22
|
+
logger.info(`Agent ${agent.role} registered for coordination`);
|
|
23
|
+
this.broadcastMessage({
|
|
24
|
+
id: this.generateId(),
|
|
25
|
+
from: "system",
|
|
26
|
+
to: "broadcast",
|
|
27
|
+
type: "status_update",
|
|
28
|
+
content: { type: "agent_joined", agent: agent.role },
|
|
29
|
+
timestamp: Date.now(),
|
|
30
|
+
priority: "normal"
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Send message between agents
|
|
35
|
+
*/
|
|
36
|
+
sendMessage(message) {
|
|
37
|
+
const fullMessage = {
|
|
38
|
+
...message,
|
|
39
|
+
id: this.generateId(),
|
|
40
|
+
timestamp: Date.now()
|
|
41
|
+
};
|
|
42
|
+
this.messageQueue.push(fullMessage);
|
|
43
|
+
this.routeMessage(fullMessage);
|
|
44
|
+
this.emit("messageReceived", fullMessage);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Broadcast message to all agents
|
|
48
|
+
*/
|
|
49
|
+
broadcastMessage(message) {
|
|
50
|
+
this.sendMessage({
|
|
51
|
+
...message,
|
|
52
|
+
to: "broadcast"
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Request help from other agents
|
|
57
|
+
*/
|
|
58
|
+
requestHelp(fromAgent, helpType, context) {
|
|
59
|
+
const suitableAgents = this.findSuitableHelpers(helpType);
|
|
60
|
+
this.sendMessage({
|
|
61
|
+
from: fromAgent,
|
|
62
|
+
to: suitableAgents,
|
|
63
|
+
type: "help_request",
|
|
64
|
+
content: {
|
|
65
|
+
helpType,
|
|
66
|
+
context,
|
|
67
|
+
requesterCapabilities: this.agents.get(fromAgent)?.capabilities || []
|
|
68
|
+
},
|
|
69
|
+
priority: "high"
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Add task dependency
|
|
74
|
+
*/
|
|
75
|
+
addDependency(dependency) {
|
|
76
|
+
this.dependencies.set(dependency.taskId, dependency);
|
|
77
|
+
this.updateCriticalPath();
|
|
78
|
+
logger.info(
|
|
79
|
+
`Added dependency: ${dependency.taskId} depends on ${dependency.dependsOn.join(", ")}`
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Resolve conflicts automatically
|
|
84
|
+
*/
|
|
85
|
+
async resolveConflict(conflictId) {
|
|
86
|
+
const conflict = this.conflicts.get(conflictId);
|
|
87
|
+
if (!conflict) return false;
|
|
88
|
+
try {
|
|
89
|
+
switch (conflict.resolutionStrategy) {
|
|
90
|
+
case "voting":
|
|
91
|
+
conflict.resolution = await this.resolveByVoting(conflict);
|
|
92
|
+
break;
|
|
93
|
+
case "expertise_based":
|
|
94
|
+
conflict.resolution = await this.resolveByExpertise(conflict);
|
|
95
|
+
break;
|
|
96
|
+
case "random":
|
|
97
|
+
conflict.resolution = await this.resolveRandomly(conflict);
|
|
98
|
+
break;
|
|
99
|
+
case "manager_override":
|
|
100
|
+
conflict.resolution = await this.resolveByManagerOverride(conflict);
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
conflict.status = "resolved";
|
|
104
|
+
this.conflicts.set(conflictId, conflict);
|
|
105
|
+
this.broadcastMessage({
|
|
106
|
+
from: "system",
|
|
107
|
+
to: conflict.involvedAgents,
|
|
108
|
+
type: "status_update",
|
|
109
|
+
content: {
|
|
110
|
+
type: "conflict_resolved",
|
|
111
|
+
conflictId,
|
|
112
|
+
resolution: conflict.resolution
|
|
113
|
+
},
|
|
114
|
+
priority: "high"
|
|
115
|
+
});
|
|
116
|
+
return true;
|
|
117
|
+
} catch (error) {
|
|
118
|
+
conflict.status = "escalated";
|
|
119
|
+
logger.error(`Failed to resolve conflict ${conflictId}:`, error);
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Get optimal task execution order considering dependencies
|
|
125
|
+
*/
|
|
126
|
+
getOptimalExecutionOrder(tasks) {
|
|
127
|
+
const graph = this.buildDependencyGraph(tasks);
|
|
128
|
+
return this.topologicalSort(graph, tasks);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Detect and report coordination patterns
|
|
132
|
+
*/
|
|
133
|
+
analyzeCoordinationPatterns() {
|
|
134
|
+
const patterns = {
|
|
135
|
+
communicationFrequency: /* @__PURE__ */ new Map(),
|
|
136
|
+
helpRequestPatterns: [],
|
|
137
|
+
conflictFrequency: /* @__PURE__ */ new Map(),
|
|
138
|
+
bottlenecks: this.identifyBottlenecks()
|
|
139
|
+
};
|
|
140
|
+
for (const message of this.messageQueue) {
|
|
141
|
+
const key = `${message.from}-${message.type}`;
|
|
142
|
+
patterns.communicationFrequency.set(
|
|
143
|
+
key,
|
|
144
|
+
(patterns.communicationFrequency.get(key) || 0) + 1
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
for (const conflict of this.conflicts.values()) {
|
|
148
|
+
patterns.conflictFrequency.set(
|
|
149
|
+
conflict.type,
|
|
150
|
+
(patterns.conflictFrequency.get(conflict.type) || 0) + 1
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
return patterns;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Load balancing recommendations
|
|
157
|
+
*/
|
|
158
|
+
getLoadBalancingRecommendations() {
|
|
159
|
+
const recommendations = {
|
|
160
|
+
overloadedAgents: [],
|
|
161
|
+
underutilizedAgents: [],
|
|
162
|
+
suggestedReassignments: []
|
|
163
|
+
};
|
|
164
|
+
for (const agent of this.agents.values()) {
|
|
165
|
+
const workload = this.calculateAgentWorkload(agent);
|
|
166
|
+
if (workload > 0.8) {
|
|
167
|
+
recommendations.overloadedAgents.push(agent.id);
|
|
168
|
+
} else if (workload < 0.3) {
|
|
169
|
+
recommendations.underutilizedAgents.push(agent.id);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
for (const overloaded of recommendations.overloadedAgents) {
|
|
173
|
+
for (const underutilized of recommendations.underutilizedAgents) {
|
|
174
|
+
const compatibility = this.checkAgentCompatibility(
|
|
175
|
+
overloaded,
|
|
176
|
+
underutilized
|
|
177
|
+
);
|
|
178
|
+
if (compatibility.score > 0.7) {
|
|
179
|
+
recommendations.suggestedReassignments.push({
|
|
180
|
+
fromAgent: overloaded,
|
|
181
|
+
toAgent: underutilized,
|
|
182
|
+
taskType: compatibility.bestTaskType,
|
|
183
|
+
reason: `Load balancing: ${compatibility.reason}`
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return recommendations;
|
|
189
|
+
}
|
|
190
|
+
routeMessage(message) {
|
|
191
|
+
if (message.to === "broadcast") {
|
|
192
|
+
for (const agentId of this.agents.keys()) {
|
|
193
|
+
if (agentId !== message.from) {
|
|
194
|
+
this.deliverMessage(agentId, message);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
} else {
|
|
198
|
+
for (const agentId of message.to) {
|
|
199
|
+
this.deliverMessage(agentId, message);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
this.applyCoordinationRules(message);
|
|
203
|
+
}
|
|
204
|
+
deliverMessage(agentId, message) {
|
|
205
|
+
const agent = this.agents.get(agentId);
|
|
206
|
+
if (agent) {
|
|
207
|
+
logger.debug(`Message delivered to ${agent.role}: ${message.type}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
findSuitableHelpers(helpType) {
|
|
211
|
+
const helpers = [];
|
|
212
|
+
for (const agent of this.agents.values()) {
|
|
213
|
+
if (this.canProvideHelp(agent, helpType)) {
|
|
214
|
+
helpers.push(agent.id);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return helpers;
|
|
218
|
+
}
|
|
219
|
+
canProvideHelp(agent, helpType) {
|
|
220
|
+
const capabilities = agent.capabilities || [];
|
|
221
|
+
switch (helpType) {
|
|
222
|
+
case "code_review":
|
|
223
|
+
return capabilities.includes("code_review") || agent.role === "reviewer";
|
|
224
|
+
case "debugging":
|
|
225
|
+
return capabilities.includes("debugging") || agent.role === "developer";
|
|
226
|
+
case "testing":
|
|
227
|
+
return capabilities.includes("testing") || agent.role === "tester";
|
|
228
|
+
case "optimization":
|
|
229
|
+
return capabilities.includes("optimization") || agent.role === "optimizer";
|
|
230
|
+
default:
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
async resolveByVoting(conflict) {
|
|
235
|
+
const votes = /* @__PURE__ */ new Map();
|
|
236
|
+
for (const agentId of conflict.involvedAgents) {
|
|
237
|
+
const agent = this.agents.get(agentId);
|
|
238
|
+
if (agent) {
|
|
239
|
+
votes.set(agentId, Math.random() > 0.5 ? "option_a" : "option_b");
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
const results = /* @__PURE__ */ new Map();
|
|
243
|
+
for (const vote of votes.values()) {
|
|
244
|
+
results.set(vote, (results.get(vote) || 0) + 1);
|
|
245
|
+
}
|
|
246
|
+
return Array.from(results.entries()).reduce(
|
|
247
|
+
(a, b) => a[1] > b[1] ? a : b
|
|
248
|
+
)[0];
|
|
249
|
+
}
|
|
250
|
+
async resolveByExpertise(conflict) {
|
|
251
|
+
let bestAgent = null;
|
|
252
|
+
let bestExpertise = 0;
|
|
253
|
+
for (const agentId of conflict.involvedAgents) {
|
|
254
|
+
const agent = this.agents.get(agentId);
|
|
255
|
+
if (agent) {
|
|
256
|
+
const expertise = this.calculateExpertise(agent, conflict.type);
|
|
257
|
+
if (expertise > bestExpertise) {
|
|
258
|
+
bestExpertise = expertise;
|
|
259
|
+
bestAgent = agent;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return {
|
|
264
|
+
resolutionSource: bestAgent?.id,
|
|
265
|
+
method: "expertise_based",
|
|
266
|
+
expertiseScore: bestExpertise
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
async resolveRandomly(conflict) {
|
|
270
|
+
const options = ["option_a", "option_b", "compromise"];
|
|
271
|
+
return options[Math.floor(Math.random() * options.length)];
|
|
272
|
+
}
|
|
273
|
+
async resolveByManagerOverride(conflict) {
|
|
274
|
+
const manager = Array.from(this.agents.values()).find(
|
|
275
|
+
(agent) => agent.role === "coordinator" || agent.role === "architect"
|
|
276
|
+
);
|
|
277
|
+
return {
|
|
278
|
+
resolutionSource: manager?.id || "system",
|
|
279
|
+
method: "manager_override"
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
calculateExpertise(agent, conflictType) {
|
|
283
|
+
const capabilities = agent.capabilities || [];
|
|
284
|
+
const performance = agent.performance;
|
|
285
|
+
let expertise = 0;
|
|
286
|
+
switch (conflictType) {
|
|
287
|
+
case "resource":
|
|
288
|
+
expertise += capabilities.includes("resource_optimization") ? 0.5 : 0;
|
|
289
|
+
break;
|
|
290
|
+
case "task_overlap":
|
|
291
|
+
expertise += capabilities.includes("coordination") ? 0.5 : 0;
|
|
292
|
+
break;
|
|
293
|
+
}
|
|
294
|
+
if (performance) {
|
|
295
|
+
expertise += performance.successRate * 0.3;
|
|
296
|
+
expertise += Math.min(performance.tasksCompleted / 10, 0.2);
|
|
297
|
+
}
|
|
298
|
+
return Math.min(expertise, 1);
|
|
299
|
+
}
|
|
300
|
+
buildDependencyGraph(tasks) {
|
|
301
|
+
const graph = /* @__PURE__ */ new Map();
|
|
302
|
+
for (const task of tasks) {
|
|
303
|
+
const deps = this.dependencies.get(task.id);
|
|
304
|
+
graph.set(task.id, deps?.dependsOn || []);
|
|
305
|
+
}
|
|
306
|
+
return graph;
|
|
307
|
+
}
|
|
308
|
+
topologicalSort(graph, tasks) {
|
|
309
|
+
const result = [];
|
|
310
|
+
const visited = /* @__PURE__ */ new Set();
|
|
311
|
+
const visiting = /* @__PURE__ */ new Set();
|
|
312
|
+
const visit = (taskId) => {
|
|
313
|
+
if (visited.has(taskId)) return;
|
|
314
|
+
if (visiting.has(taskId)) {
|
|
315
|
+
logger.warn(`Circular dependency detected involving task: ${taskId}`);
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
visiting.add(taskId);
|
|
319
|
+
const deps = graph.get(taskId) || [];
|
|
320
|
+
for (const dep of deps) {
|
|
321
|
+
visit(dep);
|
|
322
|
+
}
|
|
323
|
+
visiting.delete(taskId);
|
|
324
|
+
visited.add(taskId);
|
|
325
|
+
const task = tasks.find((t) => t.id === taskId);
|
|
326
|
+
if (task) result.push(task);
|
|
327
|
+
};
|
|
328
|
+
for (const task of tasks) {
|
|
329
|
+
visit(task.id);
|
|
330
|
+
}
|
|
331
|
+
return result;
|
|
332
|
+
}
|
|
333
|
+
updateCriticalPath() {
|
|
334
|
+
logger.debug("Critical path updated");
|
|
335
|
+
}
|
|
336
|
+
identifyBottlenecks() {
|
|
337
|
+
const bottlenecks = [];
|
|
338
|
+
for (const [taskId, dep] of this.dependencies) {
|
|
339
|
+
if (dep.blockingFor.length > 2) {
|
|
340
|
+
bottlenecks.push(taskId);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
return bottlenecks;
|
|
344
|
+
}
|
|
345
|
+
calculateAgentWorkload(agent) {
|
|
346
|
+
let workload = 0;
|
|
347
|
+
if (agent.status === "active") workload += 0.5;
|
|
348
|
+
if (agent.currentTask) workload += 0.3;
|
|
349
|
+
const recentMessages = this.messageQueue.filter(
|
|
350
|
+
(m) => (m.from === agent.id || Array.isArray(m.to) && m.to.includes(agent.id)) && Date.now() - m.timestamp < 3e5
|
|
351
|
+
// 5 minutes
|
|
352
|
+
);
|
|
353
|
+
workload += Math.min(recentMessages.length * 0.05, 0.2);
|
|
354
|
+
return Math.min(workload, 1);
|
|
355
|
+
}
|
|
356
|
+
checkAgentCompatibility(agent1Id, agent2Id) {
|
|
357
|
+
const agent1 = this.agents.get(agent1Id);
|
|
358
|
+
const agent2 = this.agents.get(agent2Id);
|
|
359
|
+
if (!agent1 || !agent2) {
|
|
360
|
+
return { score: 0, bestTaskType: "", reason: "Agent not found" };
|
|
361
|
+
}
|
|
362
|
+
const caps1 = new Set(agent1.capabilities || []);
|
|
363
|
+
const caps2 = new Set(agent2.capabilities || []);
|
|
364
|
+
const overlap = new Set([...caps1].filter((x) => caps2.has(x)));
|
|
365
|
+
const score = overlap.size / Math.max(caps1.size, caps2.size, 1);
|
|
366
|
+
return {
|
|
367
|
+
score,
|
|
368
|
+
bestTaskType: Array.from(overlap)[0] || "general",
|
|
369
|
+
reason: `Capability overlap: ${overlap.size} common skills`
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
applyCoordinationRules(message) {
|
|
373
|
+
for (const rule of this.coordinationRules) {
|
|
374
|
+
if (rule.condition(message)) {
|
|
375
|
+
rule.action(message, this);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
setupDefaultRules() {
|
|
380
|
+
this.coordinationRules = [
|
|
381
|
+
{
|
|
382
|
+
id: "help_request_timeout",
|
|
383
|
+
condition: (msg) => msg.type === "help_request",
|
|
384
|
+
action: (msg, system) => {
|
|
385
|
+
setTimeout(() => {
|
|
386
|
+
system.broadcastMessage({
|
|
387
|
+
from: "system",
|
|
388
|
+
to: "broadcast",
|
|
389
|
+
type: "status_update",
|
|
390
|
+
content: {
|
|
391
|
+
type: "help_request_timeout",
|
|
392
|
+
originalRequest: msg.id
|
|
393
|
+
},
|
|
394
|
+
priority: "urgent"
|
|
395
|
+
});
|
|
396
|
+
}, 3e5);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
];
|
|
400
|
+
}
|
|
401
|
+
generateId() {
|
|
402
|
+
return `coord_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
var enhanced_coordination_default = EnhancedCoordinationSystem;
|
|
406
|
+
export {
|
|
407
|
+
EnhancedCoordinationSystem,
|
|
408
|
+
enhanced_coordination_default as default
|
|
409
|
+
};
|
|
410
|
+
//# sourceMappingURL=enhanced-coordination.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/integrations/ralph/coordination/enhanced-coordination.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Enhanced Agent Coordination System\n * Provides advanced coordination patterns, conflict resolution, and inter-agent communication\n */\n\nimport { EventEmitter } from 'events';\nimport { logger } from '../../../core/monitoring/logger.js';\nimport { Agent, SwarmTask, CoordinationEvent } from '../types.js';\n\nexport interface CoordinationMessage {\n id: string;\n from: string; // agent ID\n to: string[] | 'broadcast'; // agent IDs or broadcast\n type:\n | 'status_update'\n | 'help_request'\n | 'resource_conflict'\n | 'task_handoff'\n | 'knowledge_share';\n content: any;\n timestamp: number;\n priority: 'low' | 'normal' | 'high' | 'urgent';\n}\n\nexport interface TaskDependency {\n taskId: string;\n dependsOn: string[];\n blockingFor: string[];\n estimatedCompletionTime: number;\n criticalPath: boolean;\n}\n\nexport interface ConflictResolution {\n id: string;\n type: 'resource' | 'task_overlap' | 'knowledge_conflict' | 'priority_dispute';\n involvedAgents: string[];\n description: string;\n resolutionStrategy:\n | 'voting'\n | 'expertise_based'\n | 'random'\n | 'manager_override';\n resolution: any;\n timestamp: number;\n status: 'pending' | 'resolved' | 'escalated';\n}\n\nexport class EnhancedCoordinationSystem extends EventEmitter {\n private agents: Map<string, Agent> = new Map();\n private messageQueue: CoordinationMessage[] = [];\n private dependencies: Map<string, TaskDependency> = new Map();\n private conflicts: Map<string, ConflictResolution> = new Map();\n private coordinationRules: CoordinationRule[] = [];\n\n constructor() {\n super();\n this.setupDefaultRules();\n }\n\n /**\n * Register an agent with the coordination system\n */\n registerAgent(agent: Agent): void {\n this.agents.set(agent.id, agent);\n logger.info(`Agent ${agent.role} registered for coordination`);\n\n // Notify other agents\n this.broadcastMessage({\n id: this.generateId(),\n from: 'system',\n to: 'broadcast',\n type: 'status_update',\n content: { type: 'agent_joined', agent: agent.role },\n timestamp: Date.now(),\n priority: 'normal',\n });\n }\n\n /**\n * Send message between agents\n */\n sendMessage(message: Omit<CoordinationMessage, 'id' | 'timestamp'>): void {\n const fullMessage: CoordinationMessage = {\n ...message,\n id: this.generateId(),\n timestamp: Date.now(),\n };\n\n this.messageQueue.push(fullMessage);\n this.routeMessage(fullMessage);\n this.emit('messageReceived', fullMessage);\n }\n\n /**\n * Broadcast message to all agents\n */\n broadcastMessage(\n message: Omit<CoordinationMessage, 'id' | 'timestamp'>\n ): void {\n this.sendMessage({\n ...message,\n to: 'broadcast',\n });\n }\n\n /**\n * Request help from other agents\n */\n requestHelp(fromAgent: string, helpType: string, context: any): void {\n const suitableAgents = this.findSuitableHelpers(helpType);\n\n this.sendMessage({\n from: fromAgent,\n to: suitableAgents,\n type: 'help_request',\n content: {\n helpType,\n context,\n requesterCapabilities: this.agents.get(fromAgent)?.capabilities || [],\n },\n priority: 'high',\n });\n }\n\n /**\n * Add task dependency\n */\n addDependency(dependency: TaskDependency): void {\n this.dependencies.set(dependency.taskId, dependency);\n this.updateCriticalPath();\n logger.info(\n `Added dependency: ${dependency.taskId} depends on ${dependency.dependsOn.join(', ')}`\n );\n }\n\n /**\n * Resolve conflicts automatically\n */\n async resolveConflict(conflictId: string): Promise<boolean> {\n const conflict = this.conflicts.get(conflictId);\n if (!conflict) return false;\n\n try {\n switch (conflict.resolutionStrategy) {\n case 'voting':\n conflict.resolution = await this.resolveByVoting(conflict);\n break;\n case 'expertise_based':\n conflict.resolution = await this.resolveByExpertise(conflict);\n break;\n case 'random':\n conflict.resolution = await this.resolveRandomly(conflict);\n break;\n case 'manager_override':\n conflict.resolution = await this.resolveByManagerOverride(conflict);\n break;\n }\n\n conflict.status = 'resolved';\n this.conflicts.set(conflictId, conflict);\n\n // Notify agents of resolution\n this.broadcastMessage({\n from: 'system',\n to: conflict.involvedAgents,\n type: 'status_update',\n content: {\n type: 'conflict_resolved',\n conflictId,\n resolution: conflict.resolution,\n },\n priority: 'high',\n });\n\n return true;\n } catch (error) {\n conflict.status = 'escalated';\n logger.error(`Failed to resolve conflict ${conflictId}:`, error as Error);\n return false;\n }\n }\n\n /**\n * Get optimal task execution order considering dependencies\n */\n getOptimalExecutionOrder(tasks: SwarmTask[]): SwarmTask[] {\n const graph = this.buildDependencyGraph(tasks);\n return this.topologicalSort(graph, tasks);\n }\n\n /**\n * Detect and report coordination patterns\n */\n analyzeCoordinationPatterns(): {\n communicationFrequency: Map<string, number>;\n helpRequestPatterns: any[];\n conflictFrequency: Map<string, number>;\n bottlenecks: string[];\n } {\n const patterns = {\n communicationFrequency: new Map<string, number>(),\n helpRequestPatterns: [],\n conflictFrequency: new Map<string, number>(),\n bottlenecks: this.identifyBottlenecks(),\n };\n\n // Analyze message patterns\n for (const message of this.messageQueue) {\n const key = `${message.from}-${message.type}`;\n patterns.communicationFrequency.set(\n key,\n (patterns.communicationFrequency.get(key) || 0) + 1\n );\n }\n\n // Analyze conflicts\n for (const conflict of this.conflicts.values()) {\n patterns.conflictFrequency.set(\n conflict.type,\n (patterns.conflictFrequency.get(conflict.type) || 0) + 1\n );\n }\n\n return patterns;\n }\n\n /**\n * Load balancing recommendations\n */\n getLoadBalancingRecommendations(): {\n overloadedAgents: string[];\n underutilizedAgents: string[];\n suggestedReassignments: Array<{\n fromAgent: string;\n toAgent: string;\n taskType: string;\n reason: string;\n }>;\n } {\n const recommendations = {\n overloadedAgents: [],\n underutilizedAgents: [],\n suggestedReassignments: [],\n };\n\n // Analyze agent workloads\n for (const agent of this.agents.values()) {\n const workload = this.calculateAgentWorkload(agent);\n\n if (workload > 0.8) {\n recommendations.overloadedAgents.push(agent.id);\n } else if (workload < 0.3) {\n recommendations.underutilizedAgents.push(agent.id);\n }\n }\n\n // Generate reassignment suggestions\n for (const overloaded of recommendations.overloadedAgents) {\n for (const underutilized of recommendations.underutilizedAgents) {\n const compatibility = this.checkAgentCompatibility(\n overloaded,\n underutilized\n );\n if (compatibility.score > 0.7) {\n recommendations.suggestedReassignments.push({\n fromAgent: overloaded,\n toAgent: underutilized,\n taskType: compatibility.bestTaskType,\n reason: `Load balancing: ${compatibility.reason}`,\n });\n }\n }\n }\n\n return recommendations;\n }\n\n private routeMessage(message: CoordinationMessage): void {\n if (message.to === 'broadcast') {\n // Route to all agents except sender\n for (const agentId of this.agents.keys()) {\n if (agentId !== message.from) {\n this.deliverMessage(agentId, message);\n }\n }\n } else {\n // Route to specific agents\n for (const agentId of message.to as string[]) {\n this.deliverMessage(agentId, message);\n }\n }\n\n // Apply coordination rules\n this.applyCoordinationRules(message);\n }\n\n private deliverMessage(agentId: string, message: CoordinationMessage): void {\n const agent = this.agents.get(agentId);\n if (agent) {\n // Store message for agent (in real implementation, would integrate with agent's message handler)\n logger.debug(`Message delivered to ${agent.role}: ${message.type}`);\n }\n }\n\n private findSuitableHelpers(helpType: string): string[] {\n const helpers: string[] = [];\n\n for (const agent of this.agents.values()) {\n if (this.canProvideHelp(agent, helpType)) {\n helpers.push(agent.id);\n }\n }\n\n return helpers;\n }\n\n private canProvideHelp(agent: Agent, helpType: string): boolean {\n // Check if agent has relevant capabilities\n const capabilities = agent.capabilities || [];\n\n switch (helpType) {\n case 'code_review':\n return (\n capabilities.includes('code_review') || agent.role === 'reviewer'\n );\n case 'debugging':\n return capabilities.includes('debugging') || agent.role === 'developer';\n case 'testing':\n return capabilities.includes('testing') || agent.role === 'tester';\n case 'optimization':\n return (\n capabilities.includes('optimization') || agent.role === 'optimizer'\n );\n default:\n return false;\n }\n }\n\n private async resolveByVoting(conflict: ConflictResolution): Promise<any> {\n // Simulate voting resolution\n const votes = new Map();\n for (const agentId of conflict.involvedAgents) {\n const agent = this.agents.get(agentId);\n if (agent) {\n // In real implementation, would request vote from agent\n votes.set(agentId, Math.random() > 0.5 ? 'option_a' : 'option_b');\n }\n }\n\n // Count votes\n const results = new Map();\n for (const vote of votes.values()) {\n results.set(vote, (results.get(vote) || 0) + 1);\n }\n\n // Return winning option\n return Array.from(results.entries()).reduce((a, b) =>\n a[1] > b[1] ? a : b\n )[0];\n }\n\n private async resolveByExpertise(conflict: ConflictResolution): Promise<any> {\n // Find most expert agent for the conflict type\n let bestAgent = null;\n let bestExpertise = 0;\n\n for (const agentId of conflict.involvedAgents) {\n const agent = this.agents.get(agentId);\n if (agent) {\n const expertise = this.calculateExpertise(agent, conflict.type);\n if (expertise > bestExpertise) {\n bestExpertise = expertise;\n bestAgent = agent;\n }\n }\n }\n\n return {\n resolutionSource: bestAgent?.id,\n method: 'expertise_based',\n expertiseScore: bestExpertise,\n };\n }\n\n private async resolveRandomly(conflict: ConflictResolution): Promise<any> {\n const options = ['option_a', 'option_b', 'compromise'];\n return options[Math.floor(Math.random() * options.length)];\n }\n\n private async resolveByManagerOverride(\n conflict: ConflictResolution\n ): Promise<any> {\n // Find coordinator or architect agent\n const manager = Array.from(this.agents.values()).find(\n (agent) => agent.role === 'coordinator' || agent.role === 'architect'\n );\n\n return {\n resolutionSource: manager?.id || 'system',\n method: 'manager_override',\n };\n }\n\n private calculateExpertise(agent: Agent, conflictType: string): number {\n // Calculate agent expertise for specific conflict type\n const capabilities = agent.capabilities || [];\n const performance = agent.performance;\n\n let expertise = 0;\n\n // Base expertise from capabilities\n switch (conflictType) {\n case 'resource':\n expertise += capabilities.includes('resource_optimization') ? 0.5 : 0;\n break;\n case 'task_overlap':\n expertise += capabilities.includes('coordination') ? 0.5 : 0;\n break;\n }\n\n // Add performance-based expertise\n if (performance) {\n expertise += performance.successRate * 0.3;\n expertise += Math.min(performance.tasksCompleted / 10, 0.2);\n }\n\n return Math.min(expertise, 1.0);\n }\n\n private buildDependencyGraph(tasks: SwarmTask[]): Map<string, string[]> {\n const graph = new Map<string, string[]>();\n\n for (const task of tasks) {\n const deps = this.dependencies.get(task.id);\n graph.set(task.id, deps?.dependsOn || []);\n }\n\n return graph;\n }\n\n private topologicalSort(\n graph: Map<string, string[]>,\n tasks: SwarmTask[]\n ): SwarmTask[] {\n const result: SwarmTask[] = [];\n const visited = new Set<string>();\n const visiting = new Set<string>();\n\n const visit = (taskId: string) => {\n if (visited.has(taskId)) return;\n if (visiting.has(taskId)) {\n logger.warn(`Circular dependency detected involving task: ${taskId}`);\n return;\n }\n\n visiting.add(taskId);\n const deps = graph.get(taskId) || [];\n\n for (const dep of deps) {\n visit(dep);\n }\n\n visiting.delete(taskId);\n visited.add(taskId);\n\n const task = tasks.find((t) => t.id === taskId);\n if (task) result.push(task);\n };\n\n for (const task of tasks) {\n visit(task.id);\n }\n\n return result;\n }\n\n private updateCriticalPath(): void {\n // Identify critical path through dependencies\n // Implementation would use network analysis algorithms\n logger.debug('Critical path updated');\n }\n\n private identifyBottlenecks(): string[] {\n const bottlenecks: string[] = [];\n\n // Find tasks with many dependencies\n for (const [taskId, dep] of this.dependencies) {\n if (dep.blockingFor.length > 2) {\n bottlenecks.push(taskId);\n }\n }\n\n return bottlenecks;\n }\n\n private calculateAgentWorkload(agent: Agent): number {\n // Calculate workload based on current tasks, message frequency, etc.\n let workload = 0;\n\n if (agent.status === 'active') workload += 0.5;\n if (agent.currentTask) workload += 0.3;\n\n // Add message handling workload\n const recentMessages = this.messageQueue.filter(\n (m) =>\n (m.from === agent.id ||\n (Array.isArray(m.to) && m.to.includes(agent.id))) &&\n Date.now() - m.timestamp < 300000 // 5 minutes\n );\n\n workload += Math.min(recentMessages.length * 0.05, 0.2);\n\n return Math.min(workload, 1.0);\n }\n\n private checkAgentCompatibility(\n agent1Id: string,\n agent2Id: string\n ): {\n score: number;\n bestTaskType: string;\n reason: string;\n } {\n const agent1 = this.agents.get(agent1Id);\n const agent2 = this.agents.get(agent2Id);\n\n if (!agent1 || !agent2) {\n return { score: 0, bestTaskType: '', reason: 'Agent not found' };\n }\n\n // Check capability overlap\n const caps1 = new Set(agent1.capabilities || []);\n const caps2 = new Set(agent2.capabilities || []);\n const overlap = new Set([...caps1].filter((x) => caps2.has(x)));\n\n const score = overlap.size / Math.max(caps1.size, caps2.size, 1);\n\n return {\n score,\n bestTaskType: Array.from(overlap)[0] || 'general',\n reason: `Capability overlap: ${overlap.size} common skills`,\n };\n }\n\n private applyCoordinationRules(message: CoordinationMessage): void {\n for (const rule of this.coordinationRules) {\n if (rule.condition(message)) {\n rule.action(message, this);\n }\n }\n }\n\n private setupDefaultRules(): void {\n this.coordinationRules = [\n {\n id: 'help_request_timeout',\n condition: (msg) => msg.type === 'help_request',\n action: (msg, system) => {\n // Auto-escalate help requests after timeout\n setTimeout(() => {\n system.broadcastMessage({\n from: 'system',\n to: 'broadcast',\n type: 'status_update',\n content: {\n type: 'help_request_timeout',\n originalRequest: msg.id,\n },\n priority: 'urgent',\n });\n }, 300000); // 5 minutes\n },\n },\n ];\n }\n\n private generateId(): string {\n return `coord_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n }\n}\n\ninterface CoordinationRule {\n id: string;\n condition: (message: CoordinationMessage) => boolean;\n action: (\n message: CoordinationMessage,\n system: EnhancedCoordinationSystem\n ) => void;\n}\n\nexport default EnhancedCoordinationSystem;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
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);
|
|
5
|
+
import { RalphStackMemoryBridge } from "./bridge/ralph-stackmemory-bridge.js";
|
|
6
|
+
import { ContextBudgetManager } from "./context/context-budget-manager.js";
|
|
7
|
+
import { StateReconciler } from "./state/state-reconciler.js";
|
|
8
|
+
import { IterationLifecycle } from "./lifecycle/iteration-lifecycle.js";
|
|
9
|
+
import { PerformanceOptimizer } from "./performance/performance-optimizer.js";
|
|
10
|
+
export * from "./types.js";
|
|
11
|
+
export {
|
|
12
|
+
ContextBudgetManager,
|
|
13
|
+
IterationLifecycle,
|
|
14
|
+
PerformanceOptimizer,
|
|
15
|
+
RalphStackMemoryBridge,
|
|
16
|
+
StateReconciler
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/integrations/ralph/index.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Ralph Wiggum Loop - StackMemory Integration\n * Core module for bridging Ralph's iteration-based loops with StackMemory's persistence\n */\n\nexport { RalphStackMemoryBridge } from './bridge/ralph-stackmemory-bridge.js';\nexport { ContextBudgetManager } from './context/context-budget-manager.js';\nexport { StateReconciler } from './state/state-reconciler.js';\nexport { IterationLifecycle } from './lifecycle/iteration-lifecycle.js';\nexport { PerformanceOptimizer } from './performance/performance-optimizer.js';\nexport * from './types.js';"],
|
|
5
|
+
"mappings": ";;;;AAKA,SAAS,8BAA8B;AACvC,SAAS,4BAA4B;AACrC,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AACnC,SAAS,4BAA4B;AACrC,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|