@stackmemoryai/stackmemory 0.5.4 → 0.5.6
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/claude-sm +6 -0
- package/bin/claude-smd +6 -0
- 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 +21 -0
- package/dist/cli/claude-sm-danger.js.map +7 -0
- 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 +232 -0
- package/dist/cli/commands/api.js.map +7 -0
- package/dist/cli/commands/cleanup-processes.js +68 -0
- package/dist/cli/commands/cleanup-processes.js.map +7 -0
- 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 +298 -0
- package/dist/cli/commands/hooks.js.map +7 -0
- 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 +249 -0
- package/dist/cli/commands/shell.js.map +7 -0
- 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 +13 -1
- 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/config.js +150 -0
- package/dist/hooks/config.js.map +7 -0
- package/dist/hooks/daemon.js +364 -0
- package/dist/hooks/daemon.js.map +7 -0
- package/dist/hooks/events.js +55 -0
- package/dist/hooks/events.js.map +7 -0
- package/dist/hooks/index.js +8 -0
- package/dist/hooks/index.js.map +7 -0
- 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 +353 -0
- package/dist/skills/api-discovery.js.map +7 -0
- package/dist/skills/api-skill.js +475 -0
- package/dist/skills/api-skill.js.map +7 -0
- package/dist/skills/claude-skills.js +53 -1
- package/dist/skills/claude-skills.js.map +2 -2
- 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 +136 -0
- package/dist/utils/process-cleanup.js.map +7 -0
- package/dist/validation/schemas.js +4 -0
- package/dist/validation/schemas.js.map +1 -1
- package/package.json +4 -2
- package/templates/shell/sweep-complete.zsh +116 -0
- package/templates/shell/sweep-suggest.js +161 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/learning/pattern-learner.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Pattern Learning Engine for Ralph Loops\n * Analyzes completed loops to extract reusable patterns and strategies\n */\n\nimport { logger } from '../../../core/monitoring/logger.js';\nimport { FrameManager } from '../../../core/context/frame-manager.js';\nimport { sharedContextLayer } from '../../../core/context/shared-context-layer.js';\nimport { sessionManager } from '../../../core/session/index.js';\nimport {\n LearnedPattern,\n LoopAnalysis,\n PatternType,\n SuccessMetrics,\n FailureAnalysis,\n RalphLoopState\n} from '../types.js';\n\nexport interface PatternLearningConfig {\n minLoopCountForPattern: number;\n confidenceThreshold: number;\n maxPatternsPerType: number;\n analysisDepth: 'shallow' | 'deep' | 'comprehensive';\n}\n\nexport class PatternLearner {\n private frameManager?: FrameManager;\n private config: PatternLearningConfig;\n\n constructor(config?: Partial<PatternLearningConfig>) {\n this.config = {\n minLoopCountForPattern: 3,\n confidenceThreshold: 0.7,\n maxPatternsPerType: 10,\n analysisDepth: 'deep',\n ...config\n };\n\n logger.info('Pattern learner 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(session.database, session.projectId);\n }\n\n logger.info('Pattern learner initialized successfully');\n } catch (error: unknown) {\n logger.error('Failed to initialize pattern learner', error as Error);\n throw error;\n }\n }\n\n /**\n * Learn patterns from all completed Ralph loops\n */\n async learnFromCompletedLoops(): Promise<LearnedPattern[]> {\n logger.info('Starting pattern learning from completed loops');\n\n try {\n const completedLoops = await this.getCompletedRalphLoops();\n logger.info(`Found ${completedLoops.length} completed loops for analysis`);\n\n if (completedLoops.length < this.config.minLoopCountForPattern) {\n logger.info('Not enough loops for pattern extraction');\n return [];\n }\n\n const patterns: LearnedPattern[] = [];\n\n // Learn success patterns\n const successPatterns = await this.extractSuccessPatterns(completedLoops);\n patterns.push(...successPatterns);\n\n // Learn failure patterns (to avoid)\n const failurePatterns = await this.extractFailurePatterns(completedLoops);\n patterns.push(...failurePatterns);\n\n // Learn iteration patterns\n const iterationPatterns = await this.extractIterationPatterns(completedLoops);\n patterns.push(...iterationPatterns);\n\n // Learn task-specific patterns\n const taskPatterns = await this.extractTaskPatterns(completedLoops);\n patterns.push(...taskPatterns);\n\n // Save patterns to shared context\n await this.saveLearnedPatterns(patterns);\n\n logger.info(`Learned ${patterns.length} patterns from ${completedLoops.length} loops`);\n return patterns;\n\n } catch (error: unknown) {\n logger.error('Failed to learn patterns', error as Error);\n throw error;\n }\n }\n\n /**\n * Learn patterns specific to a task type\n */\n async learnForTaskType(taskType: string): Promise<LearnedPattern[]> {\n logger.info(`Learning patterns for task type: ${taskType}`);\n\n const completedLoops = await this.getCompletedRalphLoops();\n const relevantLoops = completedLoops.filter(loop => \n this.classifyTaskType(loop.task) === taskType\n );\n\n if (relevantLoops.length < this.config.minLoopCountForPattern) {\n return [];\n }\n\n return this.extractSpecializedPatterns(relevantLoops, taskType);\n }\n\n /**\n * Get all completed Ralph loops from StackMemory\n */\n private async getCompletedRalphLoops(): Promise<LoopAnalysis[]> {\n if (!this.frameManager) {\n throw new Error('Frame manager not initialized');\n }\n\n try {\n // Get all Ralph loop frames\n const ralphFrames = await this.frameManager.searchFrames({\n type: 'task',\n namePattern: 'ralph-*',\n state: 'closed'\n });\n\n const analyses: LoopAnalysis[] = [];\n\n for (const frame of ralphFrames) {\n try {\n const analysis = await this.analyzeCompletedLoop(frame);\n if (analysis) {\n analyses.push(analysis);\n }\n } catch (error: unknown) {\n logger.warn(`Failed to analyze loop ${frame.frame_id}`, error as Error);\n }\n }\n\n return analyses;\n\n } catch (error: unknown) {\n logger.error('Failed to get completed loops', error as Error);\n return [];\n }\n }\n\n /**\n * Analyze a completed loop for patterns\n */\n private async analyzeCompletedLoop(ralphFrame: any): Promise<LoopAnalysis | null> {\n if (!this.frameManager) return null;\n\n try {\n // Get loop state from frame inputs\n const loopState = ralphFrame.inputs as RalphLoopState;\n \n // Get all iteration frames for this loop\n const iterationFrames = await this.frameManager.searchFrames({\n type: 'subtask',\n namePattern: 'iteration-*',\n parentId: ralphFrame.frame_id\n });\n\n // Calculate success metrics\n const successMetrics = this.calculateSuccessMetrics(iterationFrames);\n \n // Analyze iteration patterns\n const iterationAnalysis = this.analyzeIterations(iterationFrames);\n \n // Determine outcome\n const outcome = this.determineLoopOutcome(ralphFrame, iterationFrames);\n\n return {\n loopId: loopState.loopId,\n task: loopState.task,\n criteria: loopState.criteria,\n taskType: this.classifyTaskType(loopState.task),\n iterationCount: iterationFrames.length,\n outcome,\n successMetrics,\n iterationAnalysis,\n duration: ralphFrame.updated_at - ralphFrame.created_at,\n startTime: ralphFrame.created_at,\n endTime: ralphFrame.updated_at\n };\n\n } catch (error: unknown) {\n logger.error('Failed to analyze loop', error as Error);\n return null;\n }\n }\n\n /**\n * Extract patterns from successful loops\n */\n private async extractSuccessPatterns(loops: LoopAnalysis[]): Promise<LearnedPattern[]> {\n const successfulLoops = loops.filter(l => l.outcome === 'success');\n \n if (successfulLoops.length < this.config.minLoopCountForPattern) {\n return [];\n }\n\n const patterns: LearnedPattern[] = [];\n\n // Pattern: Optimal iteration count\n const avgIterations = successfulLoops.reduce((sum, l) => sum + l.iterationCount, 0) / successfulLoops.length;\n patterns.push({\n id: 'optimal-iterations',\n type: 'iteration_strategy',\n pattern: `Successful tasks typically complete in ${Math.round(avgIterations)} iterations`,\n confidence: this.calculateConfidence(successfulLoops.length),\n frequency: successfulLoops.length,\n strategy: `Target ${Math.round(avgIterations)} iterations for similar tasks`,\n examples: successfulLoops.slice(0, 3).map(l => l.task),\n metadata: {\n avgIterations,\n minIterations: Math.min(...successfulLoops.map(l => l.iterationCount)),\n maxIterations: Math.max(...successfulLoops.map(l => l.iterationCount))\n }\n });\n\n // Pattern: Task completion criteria\n const criteriaPatterns = this.extractCriteriaPatterns(successfulLoops);\n patterns.push(...criteriaPatterns);\n\n // Pattern: Common success factors\n const successFactors = this.extractSuccessFactors(successfulLoops);\n patterns.push(...successFactors);\n\n return patterns.filter(p => p.confidence >= this.config.confidenceThreshold);\n }\n\n /**\n * Extract patterns from failed loops to avoid\n */\n private async extractFailurePatterns(loops: LoopAnalysis[]): Promise<LearnedPattern[]> {\n const failedLoops = loops.filter(l => l.outcome === 'failure');\n \n if (failedLoops.length < this.config.minLoopCountForPattern) {\n return [];\n }\n\n const patterns: LearnedPattern[] = [];\n\n // Pattern: Common failure points\n const commonFailures = this.analyzeFailurePoints(failedLoops);\n for (const failure of commonFailures) {\n patterns.push({\n id: `avoid-${failure.type}`,\n type: 'failure_avoidance',\n pattern: `Avoid: ${failure.pattern}`,\n confidence: this.calculateConfidence(failure.frequency),\n frequency: failure.frequency,\n strategy: failure.avoidanceStrategy,\n examples: failure.examples,\n metadata: { failureType: failure.type }\n });\n }\n\n return patterns.filter(p => p.confidence >= this.config.confidenceThreshold);\n }\n\n /**\n * Extract iteration-specific patterns\n */\n private async extractIterationPatterns(loops: LoopAnalysis[]): Promise<LearnedPattern[]> {\n const patterns: LearnedPattern[] = [];\n\n // Analyze iteration sequences\n const iterationSequences = this.analyzeIterationSequences(loops);\n \n for (const sequence of iterationSequences) {\n if (sequence.frequency >= this.config.minLoopCountForPattern) {\n patterns.push({\n id: `iteration-sequence-${sequence.id}`,\n type: 'iteration_sequence',\n pattern: sequence.description,\n confidence: this.calculateConfidence(sequence.frequency),\n frequency: sequence.frequency,\n strategy: sequence.strategy,\n examples: sequence.examples,\n metadata: { sequenceType: sequence.type }\n });\n }\n }\n\n return patterns;\n }\n\n /**\n * Extract task-specific patterns\n */\n private async extractTaskPatterns(loops: LoopAnalysis[]): Promise<LearnedPattern[]> {\n const taskGroups = this.groupByTaskType(loops);\n const patterns: LearnedPattern[] = [];\n\n for (const [taskType, taskLoops] of Object.entries(taskGroups)) {\n if (taskLoops.length >= this.config.minLoopCountForPattern) {\n const taskSpecificPatterns = await this.extractSpecializedPatterns(taskLoops, taskType);\n patterns.push(...taskSpecificPatterns);\n }\n }\n\n return patterns;\n }\n\n /**\n * Extract specialized patterns for specific task types\n */\n private async extractSpecializedPatterns(loops: LoopAnalysis[], taskType: string): Promise<LearnedPattern[]> {\n const patterns: LearnedPattern[] = [];\n const successful = loops.filter(l => l.outcome === 'success');\n\n if (successful.length === 0) return patterns;\n\n // Task-specific success pattern\n patterns.push({\n id: `${taskType}-success-pattern`,\n type: 'task_specific',\n pattern: `${taskType} tasks: ${this.summarizeSuccessPattern(successful)}`,\n confidence: this.calculateConfidence(successful.length),\n frequency: successful.length,\n strategy: this.generateTaskStrategy(successful),\n examples: successful.slice(0, 2).map(l => l.task),\n metadata: { taskType, totalAttempts: loops.length }\n });\n\n return patterns;\n }\n\n /**\n * Calculate success metrics for iterations\n */\n private calculateSuccessMetrics(iterations: any[]): SuccessMetrics {\n const total = iterations.length;\n const successful = iterations.filter(i => i.outputs?.success).length;\n \n return {\n iterationCount: total,\n successRate: total > 0 ? successful / total : 0,\n averageProgress: this.calculateAverageProgress(iterations),\n timeToCompletion: total > 0 ? iterations[total - 1].updated_at - iterations[0].created_at : 0\n };\n }\n\n /**\n * Classify task type based on description\n */\n private classifyTaskType(task: string): string {\n const taskLower = task.toLowerCase();\n \n if (taskLower.includes('test') || taskLower.includes('unit')) return 'testing';\n if (taskLower.includes('fix') || taskLower.includes('bug')) return 'bugfix';\n if (taskLower.includes('refactor')) return 'refactoring';\n if (taskLower.includes('add') || taskLower.includes('implement')) return 'feature';\n if (taskLower.includes('document')) return 'documentation';\n if (taskLower.includes('optimize') || taskLower.includes('performance')) return 'optimization';\n \n return 'general';\n }\n\n /**\n * Determine loop outcome\n */\n private determineLoopOutcome(ralphFrame: any, iterations: any[]): 'success' | 'failure' | 'unknown' {\n if (ralphFrame.digest_json?.status === 'completed') return 'success';\n if (iterations.length === 0) return 'unknown';\n \n const lastIteration = iterations[iterations.length - 1];\n if (lastIteration.outputs?.success) return 'success';\n \n return 'failure';\n }\n\n /**\n * Calculate confidence based on frequency\n */\n private calculateConfidence(frequency: number): number {\n // Simple confidence calculation based on sample size\n return Math.min(0.95, Math.log(frequency + 1) / Math.log(10));\n }\n\n /**\n * Save learned patterns to shared context\n */\n private async saveLearnedPatterns(patterns: LearnedPattern[]): Promise<void> {\n try {\n const context = await sharedContextLayer.getSharedContext();\n if (!context) return;\n\n // Convert to shared context format\n const contextPatterns = patterns.map(p => ({\n pattern: p.pattern,\n type: this.mapPatternType(p.type),\n frequency: p.frequency,\n lastSeen: Date.now(),\n resolution: p.strategy\n }));\n\n // Add to global patterns\n context.globalPatterns.push(...contextPatterns);\n\n // Keep only the most relevant patterns\n context.globalPatterns.sort((a, b) => b.frequency - a.frequency);\n context.globalPatterns = context.globalPatterns.slice(0, 100);\n\n await sharedContextLayer.updateSharedContext(context);\n \n logger.info(`Saved ${patterns.length} patterns to shared context`);\n\n } catch (error: unknown) {\n logger.error('Failed to save patterns', error as Error);\n }\n }\n\n /**\n * Map pattern types to shared context types\n */\n private mapPatternType(patternType: PatternType): 'error' | 'success' | 'decision' | 'learning' {\n switch (patternType) {\n case 'failure_avoidance': return 'error';\n case 'success_strategy': return 'success';\n case 'task_specific': return 'learning';\n default: return 'learning';\n }\n }\n\n // Additional helper methods for pattern analysis\n private analyzeIterations(iterations: any[]): any {\n return {\n avgDuration: iterations.length > 0 ? \n iterations.reduce((sum, i) => sum + (i.updated_at - i.created_at), 0) / iterations.length : 0,\n progressPattern: this.extractProgressPattern(iterations),\n commonIssues: this.extractCommonIssues(iterations)\n };\n }\n\n private extractProgressPattern(iterations: any[]): string {\n // Analyze how progress typically unfolds\n const progressSteps = iterations.map((_, i) => {\n const progress = i / iterations.length;\n return Math.round(progress * 100);\n });\n \n return progressSteps.join(' \u2192 ') + '%';\n }\n\n private extractCommonIssues(iterations: any[]): string[] {\n // Extract common error patterns from iteration outputs\n return iterations\n .filter(i => i.outputs?.errors?.length > 0)\n .flatMap(i => i.outputs.errors)\n .slice(0, 3);\n }\n\n private extractCriteriaPatterns(loops: LoopAnalysis[]): LearnedPattern[] {\n // Analyze common successful completion criteria\n const criteriaWords = loops.flatMap(l => l.criteria.toLowerCase().split(/\\s+/));\n const wordCounts = criteriaWords.reduce((acc, word) => {\n acc[word] = (acc[word] || 0) + 1;\n return acc;\n }, {} as Record<string, number>);\n\n const commonCriteria = Object.entries(wordCounts)\n .filter(([_, count]) => count >= this.config.minLoopCountForPattern)\n .sort((a, b) => b[1] - a[1])\n .slice(0, 3);\n\n return commonCriteria.map(([word, count]) => ({\n id: `criteria-${word}`,\n type: 'success_strategy' as PatternType,\n pattern: `Successful tasks often include \"${word}\" in completion criteria`,\n confidence: this.calculateConfidence(count),\n frequency: count,\n strategy: `Consider including \"${word}\" in task completion criteria`,\n examples: loops.filter(l => l.criteria.toLowerCase().includes(word)).slice(0, 2).map(l => l.task),\n metadata: { criteriaWord: word }\n }));\n }\n\n private extractSuccessFactors(loops: LoopAnalysis[]): LearnedPattern[] {\n // Placeholder for success factor analysis\n return [];\n }\n\n private analyzeFailurePoints(loops: LoopAnalysis[]): FailureAnalysis[] {\n // Placeholder for failure analysis\n return [];\n }\n\n private analyzeIterationSequences(loops: LoopAnalysis[]): any[] {\n // Placeholder for iteration sequence analysis\n return [];\n }\n\n private groupByTaskType(loops: LoopAnalysis[]): Record<string, LoopAnalysis[]> {\n return loops.reduce((acc, loop) => {\n const type = loop.taskType;\n if (!acc[type]) acc[type] = [];\n acc[type].push(loop);\n return acc;\n }, {} as Record<string, LoopAnalysis[]>);\n }\n\n private summarizeSuccessPattern(loops: LoopAnalysis[]): string {\n const avgIterations = loops.reduce((sum, l) => sum + l.iterationCount, 0) / loops.length;\n return `typically complete in ${Math.round(avgIterations)} iterations with ${Math.round(loops[0]?.successMetrics?.successRate * 100 || 0)}% success rate`;\n }\n\n private generateTaskStrategy(loops: LoopAnalysis[]): string {\n const avgIterations = loops.reduce((sum, l) => sum + l.iterationCount, 0) / loops.length;\n return `Plan for approximately ${Math.round(avgIterations)} iterations and focus on iterative improvement`;\n }\n\n private calculateAverageProgress(iterations: any[]): number {\n // Simple progress calculation\n return iterations.length > 0 ? iterations.length / 10 : 0; // Assume 10 iterations is 100% progress\n }\n}\n\n// Export default instance\nexport const patternLearner = new PatternLearner();"],
|
|
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 { EventEmitter } from "events";
|
|
2
6
|
import { execSync } from "child_process";
|
|
3
7
|
import { logger } from "../../../core/monitoring/logger.js";
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/lifecycle/iteration-lifecycle.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Iteration Lifecycle Manager for Ralph-StackMemory Integration\n * Provides lifecycle hooks and event management for clean integration points\n */\n\nimport { EventEmitter } from 'events';\nimport { execSync } from 'child_process';\nimport { logger } from '../../../core/monitoring/logger.js';\nimport {\n RalphLoopState,\n RalphIteration,\n IterationEvent,\n IterationEventType,\n RalphStackMemoryConfig,\n Checkpoint,\n IterationContext,\n} from '../types.js';\n\nexport interface LifecycleHooks {\n preIteration?: (context: IterationContext) => Promise<IterationContext>;\n postIteration?: (iteration: RalphIteration) => Promise<void>;\n onStateChange?: (oldState: RalphLoopState, newState: RalphLoopState) => Promise<void>;\n onError?: (error: Error, context: any) => Promise<void>;\n onComplete?: (state: RalphLoopState) => Promise<void>;\n onCheckpoint?: (checkpoint: Checkpoint) => Promise<void>;\n}\n\nexport class IterationLifecycle extends EventEmitter {\n private config: RalphStackMemoryConfig['lifecycle'];\n private hooks: LifecycleHooks = {};\n private checkpoints: Checkpoint[] = [];\n private currentIteration?: RalphIteration;\n private iterationHistory: IterationEvent[] = [];\n private activeTimers: Map<string, NodeJS.Timeout> = new Map();\n\n constructor(\n config?: Partial<RalphStackMemoryConfig['lifecycle']>,\n hooks?: LifecycleHooks\n ) {\n super();\n \n this.config = {\n hooks: {\n preIteration: config?.hooks?.preIteration ?? true,\n postIteration: config?.hooks?.postIteration ?? true,\n onStateChange: config?.hooks?.onStateChange ?? true,\n onError: config?.hooks?.onError ?? true,\n onComplete: config?.hooks?.onComplete ?? true,\n },\n checkpoints: {\n enabled: config?.checkpoints?.enabled ?? true,\n frequency: config?.checkpoints?.frequency || 5,\n retentionDays: config?.checkpoints?.retentionDays || 7,\n },\n };\n\n if (hooks) {\n this.registerHooks(hooks);\n }\n\n this.setupEventHandlers();\n }\n\n /**\n * Register lifecycle hooks\n */\n registerHooks(hooks: LifecycleHooks): void {\n this.hooks = { ...this.hooks, ...hooks };\n \n logger.debug('Lifecycle hooks registered', {\n registered: Object.keys(hooks),\n });\n }\n\n /**\n * Start iteration with lifecycle management\n */\n async startIteration(\n iterationNumber: number,\n context: IterationContext\n ): Promise<IterationContext> {\n logger.info('Starting iteration', { iteration: iterationNumber });\n\n // Emit start event\n this.emitEvent({\n type: 'iteration.started',\n timestamp: Date.now(),\n iteration: iterationNumber,\n data: { context },\n });\n\n // Execute pre-iteration hook if configured\n let processedContext = context;\n if (this.config.hooks.preIteration && this.hooks.preIteration) {\n try {\n processedContext = await this.hooks.preIteration(context);\n logger.debug('Pre-iteration hook executed', {\n original: context.tokenCount,\n processed: processedContext.tokenCount,\n });\n } catch (error: any) {\n await this.handleError(error, { phase: 'preIteration', context });\n }\n }\n\n // Start iteration timer for metrics\n this.startTimer(`iteration-${iterationNumber}`);\n\n return processedContext;\n }\n\n /**\n * Complete iteration with lifecycle management\n */\n async completeIteration(iteration: RalphIteration): Promise<void> {\n logger.info('Completing iteration', { iteration: iteration.number });\n\n this.currentIteration = iteration;\n\n // Stop iteration timer\n const duration = this.stopTimer(`iteration-${iteration.number}`);\n\n // Execute post-iteration hook if configured\n if (this.config.hooks.postIteration && this.hooks.postIteration) {\n try {\n await this.hooks.postIteration(iteration);\n logger.debug('Post-iteration hook executed');\n } catch (error: any) {\n await this.handleError(error, { phase: 'postIteration', iteration });\n }\n }\n\n // Create checkpoint if needed\n if (this.shouldCreateCheckpoint(iteration.number)) {\n await this.createCheckpoint(iteration);\n }\n\n // Emit completion event\n this.emitEvent({\n type: 'iteration.completed',\n timestamp: Date.now(),\n iteration: iteration.number,\n data: {\n iteration,\n duration,\n success: iteration.validation.testsPass,\n },\n });\n\n // Clean old checkpoints\n await this.cleanOldCheckpoints();\n }\n\n /**\n * Handle iteration failure\n */\n async failIteration(\n iterationNumber: number,\n error: Error,\n context?: any\n ): Promise<void> {\n logger.error('Iteration failed', {\n iteration: iterationNumber,\n error: error.message,\n });\n\n // Stop iteration timer\n this.stopTimer(`iteration-${iterationNumber}`);\n\n // Execute error hook if configured\n if (this.config.hooks.onError && this.hooks.onError) {\n try {\n await this.hooks.onError(error, context);\n } catch (hookError: any) {\n logger.error('Error hook failed', { error: hookError.message });\n }\n }\n\n // Emit failure event\n this.emitEvent({\n type: 'iteration.failed',\n timestamp: Date.now(),\n iteration: iterationNumber,\n data: {\n error: error.message,\n stack: error.stack,\n context,\n },\n });\n }\n\n /**\n * Handle state change\n */\n async handleStateChange(\n oldState: RalphLoopState,\n newState: RalphLoopState\n ): Promise<void> {\n logger.debug('State change detected', {\n old: oldState.status,\n new: newState.status,\n iteration: newState.iteration,\n });\n\n // Execute state change hook if configured\n if (this.config.hooks.onStateChange && this.hooks.onStateChange) {\n try {\n await this.hooks.onStateChange(oldState, newState);\n } catch (error: any) {\n await this.handleError(error, {\n phase: 'stateChange',\n oldState,\n newState,\n });\n }\n }\n\n // Emit state change event\n this.emitEvent({\n type: 'state.changed',\n timestamp: Date.now(),\n iteration: newState.iteration,\n data: {\n oldStatus: oldState.status,\n newStatus: newState.status,\n changes: this.detectStateChanges(oldState, newState),\n },\n });\n\n // Check for completion\n if (newState.status === 'completed' && oldState.status !== 'completed') {\n await this.handleCompletion(newState);\n }\n }\n\n /**\n * Handle loop completion\n */\n async handleCompletion(state: RalphLoopState): Promise<void> {\n logger.info('Loop completed', {\n iterations: state.iteration,\n duration: state.lastUpdateTime - state.startTime,\n });\n\n // Execute completion hook if configured\n if (this.config.hooks.onComplete && this.hooks.onComplete) {\n try {\n await this.hooks.onComplete(state);\n } catch (error: any) {\n await this.handleError(error, { phase: 'completion', state });\n }\n }\n\n // Create final checkpoint\n await this.createFinalCheckpoint(state);\n\n // Clean up timers\n this.cleanupTimers();\n }\n\n /**\n * Create checkpoint\n */\n async createCheckpoint(iteration: RalphIteration): Promise<Checkpoint> {\n const checkpoint: Checkpoint = {\n id: this.generateCheckpointId(),\n iteration: iteration.number,\n timestamp: Date.now(),\n state: await this.captureCurrentState(),\n gitCommit: await this.getCurrentGitCommit(),\n verified: false,\n };\n\n // Verify checkpoint\n checkpoint.verified = await this.verifyCheckpoint(checkpoint);\n\n this.checkpoints.push(checkpoint);\n\n logger.info('Checkpoint created', {\n id: checkpoint.id,\n iteration: checkpoint.iteration,\n verified: checkpoint.verified,\n });\n\n // Execute checkpoint hook if available\n if (this.hooks.onCheckpoint) {\n try {\n await this.hooks.onCheckpoint(checkpoint);\n } catch (error: any) {\n logger.error('Checkpoint hook failed', { error: error.message });\n }\n }\n\n // Emit checkpoint event\n this.emitEvent({\n type: 'checkpoint.created',\n timestamp: Date.now(),\n iteration: iteration.number,\n data: { checkpoint },\n });\n\n return checkpoint;\n }\n\n /**\n * Get checkpoints\n */\n getCheckpoints(): Checkpoint[] {\n return [...this.checkpoints];\n }\n\n /**\n * Get last checkpoint\n */\n getLastCheckpoint(): Checkpoint | undefined {\n return this.checkpoints[this.checkpoints.length - 1];\n }\n\n /**\n * Restore from checkpoint\n */\n async restoreFromCheckpoint(checkpointId: string): Promise<void> {\n const checkpoint = this.checkpoints.find(c => c.id === checkpointId);\n \n if (!checkpoint) {\n throw new Error(`Checkpoint not found: ${checkpointId}`);\n }\n\n logger.info('Restoring from checkpoint', {\n id: checkpoint.id,\n iteration: checkpoint.iteration,\n });\n\n // Restore git state\n if (checkpoint.gitCommit) {\n await this.restoreGitState(checkpoint.gitCommit);\n }\n\n // Restore Ralph state\n await this.restoreRalphState(checkpoint.state);\n\n logger.info('Checkpoint restored successfully');\n }\n\n /**\n * Get iteration events\n */\n getEvents(filter?: {\n type?: IterationEventType;\n iteration?: number;\n since?: number;\n }): IterationEvent[] {\n let events = [...this.iterationHistory];\n\n if (filter?.type) {\n events = events.filter(e => e.type === filter.type);\n }\n\n if (filter?.iteration !== undefined) {\n events = events.filter(e => e.iteration === filter.iteration);\n }\n\n if (filter?.since) {\n events = events.filter(e => e.timestamp >= filter.since);\n }\n\n return events;\n }\n\n /**\n * Clean up resources\n */\n cleanup(): void {\n this.cleanupTimers();\n this.removeAllListeners();\n this.iterationHistory = [];\n this.checkpoints = [];\n }\n\n /**\n * Setup internal event handlers\n */\n private setupEventHandlers(): void {\n // Log all events in debug mode\n this.on('*', (event: IterationEvent) => {\n logger.debug('Lifecycle event', {\n type: event.type,\n iteration: event.iteration,\n });\n });\n }\n\n /**\n * Emit and track event\n */\n private emitEvent(event: IterationEvent): void {\n this.iterationHistory.push(event);\n this.emit(event.type, event);\n this.emit('*', event); // Wildcard for all events\n }\n\n /**\n * Should create checkpoint based on frequency\n */\n private shouldCreateCheckpoint(iteration: number): boolean {\n if (!this.config.checkpoints.enabled) {\n return false;\n }\n\n return iteration % this.config.checkpoints.frequency === 0;\n }\n\n /**\n * Generate checkpoint ID\n */\n private generateCheckpointId(): string {\n return `chk-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n }\n\n /**\n * Capture current state\n */\n private async captureCurrentState(): Promise<RalphLoopState> {\n // This would capture the full Ralph loop state\n // Placeholder implementation\n return {\n loopId: 'current',\n task: '',\n criteria: '',\n iteration: this.currentIteration?.number || 0,\n status: 'running',\n startTime: Date.now(),\n lastUpdateTime: Date.now(),\n };\n }\n\n /**\n * Get current git commit\n */\n private async getCurrentGitCommit(): Promise<string> {\n try {\n // execSync already imported at top\n return execSync('git rev-parse HEAD', { encoding: 'utf8' }).trim();\n } catch {\n return '';\n }\n }\n\n /**\n * Verify checkpoint integrity\n */\n private async verifyCheckpoint(checkpoint: Checkpoint): Promise<boolean> {\n try {\n // Verify state consistency\n if (!checkpoint.state.loopId || !checkpoint.state.task) {\n return false;\n }\n\n // Verify git commit exists\n if (checkpoint.gitCommit) {\n // execSync already imported at top\n execSync(`git rev-parse ${checkpoint.gitCommit}`, { encoding: 'utf8' });\n }\n\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * Clean old checkpoints based on retention\n */\n private async cleanOldCheckpoints(): Promise<void> {\n const cutoff = Date.now() - this.config.checkpoints.retentionDays * 24 * 60 * 60 * 1000;\n \n const before = this.checkpoints.length;\n this.checkpoints = this.checkpoints.filter(c => c.timestamp >= cutoff);\n const removed = before - this.checkpoints.length;\n\n if (removed > 0) {\n logger.debug('Cleaned old checkpoints', { removed });\n }\n }\n\n /**\n * Create final checkpoint\n */\n private async createFinalCheckpoint(state: RalphLoopState): Promise<void> {\n const checkpoint: Checkpoint = {\n id: `final-${this.generateCheckpointId()}`,\n iteration: state.iteration,\n timestamp: Date.now(),\n state,\n gitCommit: await this.getCurrentGitCommit(),\n verified: true,\n };\n\n this.checkpoints.push(checkpoint);\n \n logger.info('Final checkpoint created', {\n id: checkpoint.id,\n iterations: state.iteration,\n });\n }\n\n /**\n * Restore git state\n */\n private async restoreGitState(commit: string): Promise<void> {\n // Stash any uncommitted changes\n execSync('git stash', { encoding: 'utf8' });\n \n // Checkout the commit\n execSync(`git checkout ${commit}`, { encoding: 'utf8' });\n }\n\n /**\n * Restore Ralph state\n */\n private async restoreRalphState(state: RalphLoopState): Promise<void> {\n // This would restore the Ralph loop state files\n // Placeholder implementation\n logger.debug('Ralph state restored', { iteration: state.iteration });\n }\n\n /**\n * Detect state changes\n */\n private detectStateChanges(\n oldState: RalphLoopState,\n newState: RalphLoopState\n ): string[] {\n const changes: string[] = [];\n\n for (const key of Object.keys(newState) as (keyof RalphLoopState)[]) {\n if (JSON.stringify(oldState[key]) !== JSON.stringify(newState[key])) {\n changes.push(key);\n }\n }\n\n return changes;\n }\n\n /**\n * Handle errors\n */\n private async handleError(error: Error, context: any): Promise<void> {\n logger.error('Lifecycle error', {\n error: error.message,\n context,\n });\n\n if (this.config.hooks.onError && this.hooks.onError) {\n try {\n await this.hooks.onError(error, context);\n } catch (hookError: any) {\n logger.error('Error hook failed', { error: hookError.message });\n }\n }\n }\n\n /**\n * Start timer for metrics\n */\n private startTimer(name: string): void {\n const start = Date.now();\n this.activeTimers.set(name, setTimeout(() => {\n this.activeTimers.delete(name);\n }, 0) as any);\n (this.activeTimers.get(name) as any).startTime = start;\n }\n\n /**\n * Stop timer and get duration\n */\n private stopTimer(name: string): number {\n const timer = this.activeTimers.get(name);\n if (!timer) return 0;\n\n const duration = Date.now() - (timer as any).startTime;\n clearTimeout(timer);\n this.activeTimers.delete(name);\n\n return duration;\n }\n\n /**\n * Clean up all timers\n */\n private cleanupTimers(): void {\n for (const timer of this.activeTimers.values()) {\n clearTimeout(timer);\n }\n this.activeTimers.clear();\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 { EventEmitter } from "events";
|
|
2
6
|
import { logger } from "../../../core/monitoring/logger.js";
|
|
3
7
|
class SwarmDashboard extends EventEmitter {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/monitoring/swarm-dashboard.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Real-time Swarm Monitoring Dashboard\n * Provides live metrics and visualization for active swarms\n */\n\nimport { EventEmitter } from 'events';\nimport { logger } from '../../../core/monitoring/logger.js';\nimport { SwarmCoordinator } from '../swarm/swarm-coordinator.js';\nimport { Agent, SwarmState } from '../types.js';\n\nexport interface SwarmMetrics {\n swarmId: string;\n status: 'active' | 'idle' | 'completed' | 'error';\n totalAgents: number;\n activeAgents: number;\n completedTasks: number;\n activeTasks: number;\n averageTaskTime: number;\n resourceUsage: {\n memoryMB: number;\n cpuPercent: number;\n diskMB: number;\n };\n performance: {\n throughput: number; // tasks per minute\n efficiency: number; // completion rate\n uptime: number; // milliseconds\n };\n agents: AgentMetrics[];\n}\n\nexport interface AgentMetrics {\n id: string;\n role: string;\n status: 'active' | 'idle' | 'error' | 'completed';\n currentTask?: string;\n tasksCompleted: number;\n averageTaskTime: number;\n successRate: number;\n lastActivity: number;\n resourceUsage: {\n memoryMB: number;\n iterations: number;\n };\n}\n\nexport interface AlertRule {\n id: string;\n type: 'performance' | 'error' | 'resource' | 'completion';\n condition: string; // e.g., \"throughput < 0.5\" or \"errorRate > 0.1\"\n threshold: number;\n message: string;\n severity: 'low' | 'medium' | 'high' | 'critical';\n}\n\nexport class SwarmDashboard extends EventEmitter {\n private metrics: Map<string, SwarmMetrics> = new Map();\n private alerts: AlertRule[] = [];\n private monitoringInterval?: NodeJS.Timeout;\n private swarmCoordinator: SwarmCoordinator;\n\n constructor(swarmCoordinator: SwarmCoordinator) {\n super();\n this.swarmCoordinator = swarmCoordinator;\n this.setupDefaultAlerts();\n }\n\n /**\n * Start real-time monitoring\n */\n startMonitoring(intervalMs: number = 5000): void {\n this.monitoringInterval = setInterval(() => {\n this.collectMetrics();\n this.checkAlerts();\n }, intervalMs);\n\n logger.info('Swarm monitoring dashboard started');\n }\n\n /**\n * Stop monitoring\n */\n stopMonitoring(): void {\n if (this.monitoringInterval) {\n clearInterval(this.monitoringInterval);\n this.monitoringInterval = undefined;\n }\n logger.info('Swarm monitoring dashboard stopped');\n }\n\n /**\n * Get current metrics for a swarm\n */\n getSwarmMetrics(swarmId: string): SwarmMetrics | undefined {\n return this.metrics.get(swarmId);\n }\n\n /**\n * Get all active swarm metrics\n */\n getAllMetrics(): SwarmMetrics[] {\n return Array.from(this.metrics.values());\n }\n\n /**\n * Add custom alert rule\n */\n addAlert(rule: AlertRule): void {\n this.alerts.push(rule);\n logger.info(`Added alert rule: ${rule.id}`);\n }\n\n /**\n * Generate real-time dashboard HTML\n */\n generateDashboardHTML(): string {\n const metrics = this.getAllMetrics();\n\n return `\n<!DOCTYPE html>\n<html>\n<head>\n <title>Ralph Swarm Dashboard</title>\n <style>\n body { font-family: Arial, sans-serif; margin: 20px; background: #f5f5f5; }\n .dashboard { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }\n .card { background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }\n .metric { display: flex; justify-content: space-between; margin: 10px 0; }\n .status-active { color: #28a745; }\n .status-error { color: #dc3545; }\n .status-idle { color: #6c757d; }\n .alert-critical { color: #dc3545; font-weight: bold; }\n .progress { background: #e9ecef; border-radius: 4px; height: 8px; }\n .progress-bar { background: #007bff; height: 100%; border-radius: 4px; }\n </style>\n <script>\n setTimeout(() => location.reload(), 5000); // Auto-refresh\n </script>\n</head>\n<body>\n <h1>\uD83E\uDDBE Ralph Swarm Dashboard</h1>\n <div class=\"dashboard\">\n ${metrics\n .map(\n (swarm) => `\n <div class=\"card\">\n <h3>Swarm ${swarm.swarmId.substring(0, 8)}</h3>\n <div class=\"metric\">\n <span>Status:</span>\n <span class=\"status-${swarm.status}\">${swarm.status.toUpperCase()}</span>\n </div>\n <div class=\"metric\">\n <span>Agents:</span>\n <span>${swarm.activeAgents}/${swarm.totalAgents}</span>\n </div>\n <div class=\"metric\">\n <span>Tasks:</span>\n <span>${swarm.completedTasks}/${swarm.activeTasks + swarm.completedTasks}</span>\n </div>\n <div class=\"metric\">\n <span>Throughput:</span>\n <span>${swarm.performance.throughput.toFixed(2)} tasks/min</span>\n </div>\n <div class=\"metric\">\n <span>Memory:</span>\n <span>${swarm.resourceUsage.memoryMB} MB</span>\n </div>\n <div class=\"metric\">\n <span>Uptime:</span>\n <span>${Math.round(swarm.performance.uptime / 1000)}s</span>\n </div>\n <div style=\"margin-top: 15px;\">\n <h4>Agents:</h4>\n ${swarm.agents\n .map(\n (agent) => `\n <div class=\"metric\">\n <span>${agent.role}:</span>\n <span class=\"status-${agent.status}\">${agent.status}</span>\n </div>\n `\n )\n .join('')}\n </div>\n </div>\n `\n )\n .join('')}\n </div>\n \n <div class=\"card\" style=\"margin-top: 20px;\">\n <h3>\uD83D\uDEA8 Active Alerts</h3>\n <div id=\"alerts\">${this.getActiveAlerts()\n .map(\n (alert) =>\n `<div class=\"alert-${alert.severity}\">${alert.message}</div>`\n )\n .join('')}</div>\n </div>\n</body>\n</html>`;\n }\n\n /**\n * Export metrics to JSON\n */\n exportMetrics(): string {\n return JSON.stringify(\n {\n timestamp: new Date().toISOString(),\n swarms: this.getAllMetrics(),\n alerts: this.getActiveAlerts(),\n },\n null,\n 2\n );\n }\n\n private collectMetrics(): void {\n const usage = this.swarmCoordinator.getResourceUsage();\n const swarmState = (this.swarmCoordinator as any).swarmState;\n\n if (!swarmState || !swarmState.id) return;\n\n const metrics: SwarmMetrics = {\n swarmId: swarmState.id,\n status: swarmState.status,\n totalAgents: usage.activeAgents,\n activeAgents: usage.activeAgents,\n completedTasks: swarmState.completedTaskCount || 0,\n activeTasks: swarmState.activeTaskCount || 0,\n averageTaskTime: 0, // Calculate from agent metrics\n resourceUsage: {\n memoryMB: usage.memoryEstimate,\n cpuPercent: this.estimateCpuUsage(),\n diskMB: this.estimateDiskUsage(),\n },\n performance: {\n throughput: swarmState.performance?.throughput || 0,\n efficiency: swarmState.performance?.efficiency || 0,\n uptime: Date.now() - swarmState.startTime,\n },\n agents: this.collectAgentMetrics(),\n };\n\n this.metrics.set(swarmState.id, metrics);\n this.emit('metricsUpdated', metrics);\n }\n\n private collectAgentMetrics(): AgentMetrics[] {\n const agents = (this.swarmCoordinator as any).activeAgents;\n if (!agents) return [];\n\n return Array.from(agents.values()).map(\n (agent: Agent): AgentMetrics => ({\n id: agent.id,\n role: agent.role,\n status: agent.status,\n currentTask: agent.currentTask || undefined,\n tasksCompleted: agent.performance?.tasksCompleted || 0,\n averageTaskTime: agent.performance?.averageTaskTime || 0,\n successRate: agent.performance?.successRate || 1.0,\n lastActivity: agent.performance?.lastFreshStart || Date.now(),\n resourceUsage: {\n memoryMB: 50, // Estimate per agent\n iterations: agent.performance?.tasksCompleted || 0,\n },\n })\n );\n }\n\n private checkAlerts(): void {\n const metrics = this.getAllMetrics();\n\n for (const swarmMetrics of metrics) {\n for (const alert of this.alerts) {\n if (this.evaluateAlertCondition(alert, swarmMetrics)) {\n this.emit('alert', {\n ...alert,\n swarmId: swarmMetrics.swarmId,\n timestamp: Date.now(),\n value: this.getMetricValue(alert.condition, swarmMetrics),\n });\n }\n }\n }\n }\n\n private evaluateAlertCondition(\n alert: AlertRule,\n metrics: SwarmMetrics\n ): boolean {\n const value = this.getMetricValue(alert.condition, metrics);\n\n switch (alert.type) {\n case 'performance':\n return value < alert.threshold;\n case 'error':\n return 1 - metrics.performance.efficiency > alert.threshold;\n case 'resource':\n return metrics.resourceUsage.memoryMB > alert.threshold;\n case 'completion':\n return metrics.performance.uptime > alert.threshold;\n default:\n return false;\n }\n }\n\n private getMetricValue(condition: string, metrics: SwarmMetrics): number {\n // Simple metric extraction - could be enhanced with expression parser\n if (condition.includes('throughput')) return metrics.performance.throughput;\n if (condition.includes('efficiency')) return metrics.performance.efficiency;\n if (condition.includes('memory')) return metrics.resourceUsage.memoryMB;\n if (condition.includes('uptime')) return metrics.performance.uptime;\n return 0;\n }\n\n private getActiveAlerts(): any[] {\n // Return recent alerts - implementation would track alert history\n return [];\n }\n\n private estimateCpuUsage(): number {\n // Estimate CPU usage based on active agents\n const activeAgents = this.collectAgentMetrics().filter(\n (a) => a.status === 'active'\n ).length;\n return Math.min(activeAgents * 15, 100); // ~15% per active agent\n }\n\n private estimateDiskUsage(): number {\n // Estimate disk usage from working directories\n const usage = this.swarmCoordinator.getResourceUsage();\n return usage.workingDirectories.length * 10; // ~10MB per directory\n }\n\n private setupDefaultAlerts(): void {\n this.alerts = [\n {\n id: 'low-throughput',\n type: 'performance',\n condition: 'throughput < 0.5',\n threshold: 0.5,\n message: 'Low throughput detected: Less than 0.5 tasks per minute',\n severity: 'medium',\n },\n {\n id: 'high-memory',\n type: 'resource',\n condition: 'memory > 500',\n threshold: 500,\n message: 'High memory usage detected: Over 500MB',\n severity: 'high',\n },\n {\n id: 'long-running',\n type: 'completion',\n condition: 'uptime > 1800000',\n threshold: 1800000, // 30 minutes\n message: 'Long running swarm detected: Over 30 minutes',\n severity: 'low',\n },\n {\n id: 'low-efficiency',\n type: 'error',\n condition: 'errorRate > 0.3',\n threshold: 0.3,\n message: 'High error rate detected: Over 30% failure rate',\n severity: 'critical',\n },\n ];\n }\n}\n\nexport default SwarmDashboard;\n"],
|
|
5
|
-
"mappings": "AAKA,SAAS,oBAAoB;AAC7B,SAAS,cAAc;AAiDhB,MAAM,uBAAuB,aAAa;AAAA,EACvC,UAAqC,oBAAI,IAAI;AAAA,EAC7C,SAAsB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EAER,YAAY,kBAAoC;AAC9C,UAAM;AACN,SAAK,mBAAmB;AACxB,SAAK,mBAAmB;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB,aAAqB,KAAY;AAC/C,SAAK,qBAAqB,YAAY,MAAM;AAC1C,WAAK,eAAe;AACpB,WAAK,YAAY;AAAA,IACnB,GAAG,UAAU;AAEb,WAAO,KAAK,oCAAoC;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,iBAAuB;AACrB,QAAI,KAAK,oBAAoB;AAC3B,oBAAc,KAAK,kBAAkB;AACrC,WAAK,qBAAqB;AAAA,IAC5B;AACA,WAAO,KAAK,oCAAoC;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB,SAA2C;AACzD,WAAO,KAAK,QAAQ,IAAI,OAAO;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgC;AAC9B,WAAO,MAAM,KAAK,KAAK,QAAQ,OAAO,CAAC;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS,MAAuB;AAC9B,SAAK,OAAO,KAAK,IAAI;AACrB,WAAO,KAAK,qBAAqB,KAAK,EAAE,EAAE;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKA,wBAAgC;AAC9B,UAAM,UAAU,KAAK,cAAc;AAEnC,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAwBD,QACC;AAAA,MACC,CAAC,UAAU;AAAA;AAAA,wBAEC,MAAM,QAAQ,UAAU,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA,sCAGf,MAAM,MAAM,KAAK,MAAM,OAAO,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA,wBAIzD,MAAM,YAAY,IAAI,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA,wBAIvC,MAAM,cAAc,IAAI,MAAM,cAAc,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA,wBAIhE,MAAM,YAAY,WAAW,QAAQ,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,wBAIvC,MAAM,cAAc,QAAQ;AAAA;AAAA;AAAA;AAAA,wBAI5B,KAAK,MAAM,MAAM,YAAY,SAAS,GAAI,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIjD,MAAM,OACL;AAAA,QACC,CAAC,UAAU;AAAA;AAAA,4BAEH,MAAM,IAAI;AAAA,0CACI,MAAM,MAAM,KAAK,MAAM,MAAM;AAAA;AAAA;AAAA,MAGrD,EACC,KAAK,EAAE,CAAC;AAAA;AAAA;AAAA;AAAA,IAIjB,EACC,KAAK,EAAE,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,2BAKQ,KAAK,gBAAgB,EACrC;AAAA,MACC,CAAC,UACC,qBAAqB,MAAM,QAAQ,KAAK,MAAM,OAAO;AAAA,IACzD,EACC,KAAK,EAAE,CAAC;AAAA;AAAA;AAAA;AAAA,EAIjB;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAwB;AACtB,WAAO,KAAK;AAAA,MACV;AAAA,QACE,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,QAClC,QAAQ,KAAK,cAAc;AAAA,QAC3B,QAAQ,KAAK,gBAAgB;AAAA,MAC/B;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,iBAAuB;AAC7B,UAAM,QAAQ,KAAK,iBAAiB,iBAAiB;AACrD,UAAM,aAAc,KAAK,iBAAyB;AAElD,QAAI,CAAC,cAAc,CAAC,WAAW,GAAI;AAEnC,UAAM,UAAwB;AAAA,MAC5B,SAAS,WAAW;AAAA,MACpB,QAAQ,WAAW;AAAA,MACnB,aAAa,MAAM;AAAA,MACnB,cAAc,MAAM;AAAA,MACpB,gBAAgB,WAAW,sBAAsB;AAAA,MACjD,aAAa,WAAW,mBAAmB;AAAA,MAC3C,iBAAiB;AAAA;AAAA,MACjB,eAAe;AAAA,QACb,UAAU,MAAM;AAAA,QAChB,YAAY,KAAK,iBAAiB;AAAA,QAClC,QAAQ,KAAK,kBAAkB;AAAA,MACjC;AAAA,MACA,aAAa;AAAA,QACX,YAAY,WAAW,aAAa,cAAc;AAAA,QAClD,YAAY,WAAW,aAAa,cAAc;AAAA,QAClD,QAAQ,KAAK,IAAI,IAAI,WAAW;AAAA,MAClC;AAAA,MACA,QAAQ,KAAK,oBAAoB;AAAA,IACnC;AAEA,SAAK,QAAQ,IAAI,WAAW,IAAI,OAAO;AACvC,SAAK,KAAK,kBAAkB,OAAO;AAAA,EACrC;AAAA,EAEQ,sBAAsC;AAC5C,UAAM,SAAU,KAAK,iBAAyB;AAC9C,QAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,WAAO,MAAM,KAAK,OAAO,OAAO,CAAC,EAAE;AAAA,MACjC,CAAC,WAAgC;AAAA,QAC/B,IAAI,MAAM;AAAA,QACV,MAAM,MAAM;AAAA,QACZ,QAAQ,MAAM;AAAA,QACd,aAAa,MAAM,eAAe;AAAA,QAClC,gBAAgB,MAAM,aAAa,kBAAkB;AAAA,QACrD,iBAAiB,MAAM,aAAa,mBAAmB;AAAA,QACvD,aAAa,MAAM,aAAa,eAAe;AAAA,QAC/C,cAAc,MAAM,aAAa,kBAAkB,KAAK,IAAI;AAAA,QAC5D,eAAe;AAAA,UACb,UAAU;AAAA;AAAA,UACV,YAAY,MAAM,aAAa,kBAAkB;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,cAAoB;AAC1B,UAAM,UAAU,KAAK,cAAc;AAEnC,eAAW,gBAAgB,SAAS;AAClC,iBAAW,SAAS,KAAK,QAAQ;AAC/B,YAAI,KAAK,uBAAuB,OAAO,YAAY,GAAG;AACpD,eAAK,KAAK,SAAS;AAAA,YACjB,GAAG;AAAA,YACH,SAAS,aAAa;AAAA,YACtB,WAAW,KAAK,IAAI;AAAA,YACpB,OAAO,KAAK,eAAe,MAAM,WAAW,YAAY;AAAA,UAC1D,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,uBACN,OACA,SACS;AACT,UAAM,QAAQ,KAAK,eAAe,MAAM,WAAW,OAAO;AAE1D,YAAQ,MAAM,MAAM;AAAA,MAClB,KAAK;AACH,eAAO,QAAQ,MAAM;AAAA,MACvB,KAAK;AACH,eAAO,IAAI,QAAQ,YAAY,aAAa,MAAM;AAAA,MACpD,KAAK;AACH,eAAO,QAAQ,cAAc,WAAW,MAAM;AAAA,MAChD,KAAK;AACH,eAAO,QAAQ,YAAY,SAAS,MAAM;AAAA,MAC5C;AACE,eAAO;AAAA,IACX;AAAA,EACF;AAAA,EAEQ,eAAe,WAAmB,SAA+B;AAEvE,QAAI,UAAU,SAAS,YAAY,EAAG,QAAO,QAAQ,YAAY;AACjE,QAAI,UAAU,SAAS,YAAY,EAAG,QAAO,QAAQ,YAAY;AACjE,QAAI,UAAU,SAAS,QAAQ,EAAG,QAAO,QAAQ,cAAc;AAC/D,QAAI,UAAU,SAAS,QAAQ,EAAG,QAAO,QAAQ,YAAY;AAC7D,WAAO;AAAA,EACT;AAAA,EAEQ,kBAAyB;AAE/B,WAAO,CAAC;AAAA,EACV;AAAA,EAEQ,mBAA2B;AAEjC,UAAM,eAAe,KAAK,oBAAoB,EAAE;AAAA,MAC9C,CAAC,MAAM,EAAE,WAAW;AAAA,IACtB,EAAE;AACF,WAAO,KAAK,IAAI,eAAe,IAAI,GAAG;AAAA,EACxC;AAAA,EAEQ,oBAA4B;AAElC,UAAM,QAAQ,KAAK,iBAAiB,iBAAiB;AACrD,WAAO,MAAM,mBAAmB,SAAS;AAAA,EAC3C;AAAA,EAEQ,qBAA2B;AACjC,SAAK,SAAS;AAAA,MACZ;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,0BAAQ;",
|
|
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 { EventEmitter } from "events";
|
|
2
6
|
import { logger } from "../../../core/monitoring/logger.js";
|
|
3
7
|
class SwarmRegistry extends EventEmitter {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/monitoring/swarm-registry.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Global swarm registry for tracking active swarms\n * Allows TUI to connect to running swarms\n */\n\nimport { EventEmitter } from 'events';\nimport { SwarmCoordinator } from '../swarm/swarm-coordinator.js';\nimport { logger } from '../../../core/monitoring/logger.js';\n\nexport interface RegisteredSwarm {\n id: string;\n coordinator: SwarmCoordinator;\n startTime: number;\n status: 'active' | 'idle' | 'completed' | 'error';\n description: string;\n}\n\nexport class SwarmRegistry extends EventEmitter {\n private static instance: SwarmRegistry | null = null;\n private swarms: Map<string, RegisteredSwarm> = new Map();\n\n private constructor() {\n super();\n logger.info('SwarmRegistry initialized');\n }\n\n static getInstance(): SwarmRegistry {\n if (!SwarmRegistry.instance) {\n SwarmRegistry.instance = new SwarmRegistry();\n }\n return SwarmRegistry.instance;\n }\n\n /**\n * Register a swarm coordinator\n */\n registerSwarm(coordinator: SwarmCoordinator, description: string): string {\n const swarmId = this.generateSwarmId();\n\n const registration: RegisteredSwarm = {\n id: swarmId,\n coordinator,\n startTime: Date.now(),\n status: 'active',\n description,\n };\n\n this.swarms.set(swarmId, registration);\n this.emit('swarmRegistered', registration);\n\n logger.info(`Swarm registered: ${swarmId} - ${description}`);\n return swarmId;\n }\n\n /**\n * Unregister a swarm\n */\n unregisterSwarm(swarmId: string): void {\n const swarm = this.swarms.get(swarmId);\n if (swarm) {\n this.swarms.delete(swarmId);\n this.emit('swarmUnregistered', { id: swarmId });\n logger.info(`Swarm unregistered: ${swarmId}`);\n }\n }\n\n /**\n * Get a specific swarm by ID\n */\n getSwarm(swarmId: string): RegisteredSwarm | null {\n return this.swarms.get(swarmId) || null;\n }\n\n /**\n * List all active swarms\n */\n listActiveSwarms(): RegisteredSwarm[] {\n return Array.from(this.swarms.values()).filter(\n (swarm) => swarm.status === 'active'\n );\n }\n\n /**\n * Update swarm status\n */\n updateSwarmStatus(\n swarmId: string,\n status: 'active' | 'idle' | 'completed' | 'error'\n ): void {\n const swarm = this.swarms.get(swarmId);\n if (swarm) {\n swarm.status = status;\n this.emit('swarmStatusChanged', { id: swarmId, status });\n logger.debug(`Swarm ${swarmId} status updated: ${status}`);\n }\n }\n\n /**\n * Get swarm statistics\n */\n getStatistics(): {\n totalSwarms: number;\n activeSwarms: number;\n completedSwarms: number;\n averageUptime: number;\n } {\n const active = this.listActiveSwarms();\n const completed = Array.from(this.swarms.values()).filter(\n (s) => s.status === 'completed'\n );\n\n const totalUptime = active.reduce(\n (sum, swarm) => sum + (Date.now() - swarm.startTime),\n 0\n );\n\n return {\n totalSwarms: this.swarms.size,\n activeSwarms: active.length,\n completedSwarms: completed.length,\n averageUptime: active.length > 0 ? totalUptime / active.length : 0,\n };\n }\n\n /**\n * Cleanup all swarms and reset registry\n */\n cleanup(): void {\n this.swarms.clear();\n logger.info('SwarmRegistry cleaned up');\n }\n\n private generateSwarmId(): string {\n return `swarm_${Date.now()}_${Math.random().toString(36).substring(2, 8)}`;\n }\n}\n\nexport default SwarmRegistry;\n"],
|
|
5
|
-
"mappings": "AAKA,SAAS,oBAAoB;AAE7B,SAAS,cAAc;AAUhB,MAAM,sBAAsB,aAAa;AAAA,EAC9C,OAAe,WAAiC;AAAA,EACxC,SAAuC,oBAAI,IAAI;AAAA,EAE/C,cAAc;AACpB,UAAM;AACN,WAAO,KAAK,2BAA2B;AAAA,EACzC;AAAA,EAEA,OAAO,cAA6B;AAClC,QAAI,CAAC,cAAc,UAAU;AAC3B,oBAAc,WAAW,IAAI,cAAc;AAAA,IAC7C;AACA,WAAO,cAAc;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,aAA+B,aAA6B;AACxE,UAAM,UAAU,KAAK,gBAAgB;AAErC,UAAM,eAAgC;AAAA,MACpC,IAAI;AAAA,MACJ;AAAA,MACA,WAAW,KAAK,IAAI;AAAA,MACpB,QAAQ;AAAA,MACR;AAAA,IACF;AAEA,SAAK,OAAO,IAAI,SAAS,YAAY;AACrC,SAAK,KAAK,mBAAmB,YAAY;AAEzC,WAAO,KAAK,qBAAqB,OAAO,MAAM,WAAW,EAAE;AAC3D,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB,SAAuB;AACrC,UAAM,QAAQ,KAAK,OAAO,IAAI,OAAO;AACrC,QAAI,OAAO;AACT,WAAK,OAAO,OAAO,OAAO;AAC1B,WAAK,KAAK,qBAAqB,EAAE,IAAI,QAAQ,CAAC;AAC9C,aAAO,KAAK,uBAAuB,OAAO,EAAE;AAAA,IAC9C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS,SAAyC;AAChD,WAAO,KAAK,OAAO,IAAI,OAAO,KAAK;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAsC;AACpC,WAAO,MAAM,KAAK,KAAK,OAAO,OAAO,CAAC,EAAE;AAAA,MACtC,CAAC,UAAU,MAAM,WAAW;AAAA,IAC9B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,kBACE,SACA,QACM;AACN,UAAM,QAAQ,KAAK,OAAO,IAAI,OAAO;AACrC,QAAI,OAAO;AACT,YAAM,SAAS;AACf,WAAK,KAAK,sBAAsB,EAAE,IAAI,SAAS,OAAO,CAAC;AACvD,aAAO,MAAM,SAAS,OAAO,oBAAoB,MAAM,EAAE;AAAA,IAC3D;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,gBAKE;AACA,UAAM,SAAS,KAAK,iBAAiB;AACrC,UAAM,YAAY,MAAM,KAAK,KAAK,OAAO,OAAO,CAAC,EAAE;AAAA,MACjD,CAAC,MAAM,EAAE,WAAW;AAAA,IACtB;AAEA,UAAM,cAAc,OAAO;AAAA,MACzB,CAAC,KAAK,UAAU,OAAO,KAAK,IAAI,IAAI,MAAM;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,MACL,aAAa,KAAK,OAAO;AAAA,MACzB,cAAc,OAAO;AAAA,MACrB,iBAAiB,UAAU;AAAA,MAC3B,eAAe,OAAO,SAAS,IAAI,cAAc,OAAO,SAAS;AAAA,IACnE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAgB;AACd,SAAK,OAAO,MAAM;AAClB,WAAO,KAAK,0BAA0B;AAAA,EACxC;AAAA,EAEQ,kBAA0B;AAChC,WAAO,SAAS,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC;AAAA,EAC1E;AACF;AAEA,IAAO,yBAAQ;",
|
|
5
|
+
"mappings": ";;;;AAKA,SAAS,oBAAoB;AAE7B,SAAS,cAAc;AAUhB,MAAM,sBAAsB,aAAa;AAAA,EAC9C,OAAe,WAAiC;AAAA,EACxC,SAAuC,oBAAI,IAAI;AAAA,EAE/C,cAAc;AACpB,UAAM;AACN,WAAO,KAAK,2BAA2B;AAAA,EACzC;AAAA,EAEA,OAAO,cAA6B;AAClC,QAAI,CAAC,cAAc,UAAU;AAC3B,oBAAc,WAAW,IAAI,cAAc;AAAA,IAC7C;AACA,WAAO,cAAc;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,aAA+B,aAA6B;AACxE,UAAM,UAAU,KAAK,gBAAgB;AAErC,UAAM,eAAgC;AAAA,MACpC,IAAI;AAAA,MACJ;AAAA,MACA,WAAW,KAAK,IAAI;AAAA,MACpB,QAAQ;AAAA,MACR;AAAA,IACF;AAEA,SAAK,OAAO,IAAI,SAAS,YAAY;AACrC,SAAK,KAAK,mBAAmB,YAAY;AAEzC,WAAO,KAAK,qBAAqB,OAAO,MAAM,WAAW,EAAE;AAC3D,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB,SAAuB;AACrC,UAAM,QAAQ,KAAK,OAAO,IAAI,OAAO;AACrC,QAAI,OAAO;AACT,WAAK,OAAO,OAAO,OAAO;AAC1B,WAAK,KAAK,qBAAqB,EAAE,IAAI,QAAQ,CAAC;AAC9C,aAAO,KAAK,uBAAuB,OAAO,EAAE;AAAA,IAC9C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS,SAAyC;AAChD,WAAO,KAAK,OAAO,IAAI,OAAO,KAAK;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAsC;AACpC,WAAO,MAAM,KAAK,KAAK,OAAO,OAAO,CAAC,EAAE;AAAA,MACtC,CAAC,UAAU,MAAM,WAAW;AAAA,IAC9B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,kBACE,SACA,QACM;AACN,UAAM,QAAQ,KAAK,OAAO,IAAI,OAAO;AACrC,QAAI,OAAO;AACT,YAAM,SAAS;AACf,WAAK,KAAK,sBAAsB,EAAE,IAAI,SAAS,OAAO,CAAC;AACvD,aAAO,MAAM,SAAS,OAAO,oBAAoB,MAAM,EAAE;AAAA,IAC3D;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,gBAKE;AACA,UAAM,SAAS,KAAK,iBAAiB;AACrC,UAAM,YAAY,MAAM,KAAK,KAAK,OAAO,OAAO,CAAC,EAAE;AAAA,MACjD,CAAC,MAAM,EAAE,WAAW;AAAA,IACtB;AAEA,UAAM,cAAc,OAAO;AAAA,MACzB,CAAC,KAAK,UAAU,OAAO,KAAK,IAAI,IAAI,MAAM;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,MACL,aAAa,KAAK,OAAO;AAAA,MACzB,cAAc,OAAO;AAAA,MACrB,iBAAiB,UAAU;AAAA,MAC3B,eAAe,OAAO,SAAS,IAAI,cAAc,OAAO,SAAS;AAAA,IACnE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAgB;AACd,SAAK,OAAO,MAAM;AAClB,WAAO,KAAK,0BAA0B;AAAA,EACxC;AAAA,EAEQ,kBAA0B;AAChC,WAAO,SAAS,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC;AAAA,EAC1E;AACF;AAEA,IAAO,yBAAQ;",
|
|
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 { logger } from "../../../core/monitoring/logger.js";
|
|
3
7
|
import { FrameManager } from "../../../core/context/frame-manager.js";
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/orchestration/multi-loop-orchestrator.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Multi-Loop Orchestrator for Complex Tasks\n * Manages multiple Ralph loops working together on large, complex tasks\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { logger } from '../../../core/monitoring/logger.js';\nimport { FrameManager } from '../../../core/context/frame-manager.js';\nimport { sessionManager } from '../../../core/session/index.js';\nimport { RalphStackMemoryBridge } from '../bridge/ralph-stackmemory-bridge.js';\nimport {\n OrchestratedTask,\n TaskDependency,\n LoopCoordination,\n ParallelExecution,\n TaskBreakdown,\n ExecutionPlan,\n OrchestrationResult\n} from '../types.js';\n\nexport interface OrchestrationConfig {\n maxConcurrentLoops: number;\n dependencyResolutionTimeout: number;\n enableAdaptivePlanning: boolean;\n sharedContextEnabled: boolean;\n fallbackStrategy: 'sequential' | 'abort' | 'manual';\n}\n\nexport class MultiLoopOrchestrator {\n private frameManager?: FrameManager;\n private activeTasks: Map<string, OrchestratedTask> = new Map();\n private activeLoops: Map<string, RalphStackMemoryBridge> = new Map();\n private config: OrchestrationConfig;\n\n constructor(config?: Partial<OrchestrationConfig>) {\n this.config = {\n maxConcurrentLoops: 3,\n dependencyResolutionTimeout: 30000, // 30 seconds\n enableAdaptivePlanning: true,\n sharedContextEnabled: true,\n fallbackStrategy: 'sequential',\n ...config\n };\n\n logger.info('Multi-loop orchestrator initialized', this.config);\n }\n\n async initialize(): Promise<void> {\n try {\n await sessionManager.initialize();\n\n const session = await sessionManager.getOrCreateSession({});\n if (session.database) {\n this.frameManager = new FrameManager(session.database, session.projectId);\n }\n\n logger.info('Orchestrator initialized successfully');\n } catch (error: unknown) {\n logger.error('Failed to initialize orchestrator', error as Error);\n throw error;\n }\n }\n\n /**\n * Break down complex task into manageable loops\n */\n async orchestrateComplexTask(\n description: string, \n criteria: string[], \n options?: {\n maxLoops?: number;\n forceSequential?: boolean;\n customBreakdown?: TaskBreakdown[];\n }\n ): Promise<OrchestrationResult> {\n logger.info('Orchestrating complex task', {\n task: description.substring(0, 100),\n criteriaCount: criteria.length,\n maxLoops: options?.maxLoops || this.config.maxConcurrentLoops\n });\n\n const orchestrationId = uuidv4();\n\n try {\n // 1. Break down task into subtasks\n const breakdown = options?.customBreakdown || \n await this.analyzeAndBreakdownTask(description, criteria);\n\n // 2. Create execution plan\n const executionPlan = await this.createExecutionPlan(breakdown, options);\n\n // 3. Validate dependencies\n const dependencyErrors = this.validateDependencies(executionPlan);\n if (dependencyErrors.length > 0) {\n throw new Error(`Dependency errors: ${dependencyErrors.join(', ')}`);\n }\n\n // 4. Create orchestrated task\n const orchestratedTask: OrchestratedTask = {\n id: orchestrationId,\n description,\n breakdown,\n executionPlan,\n status: 'planning',\n startTime: Date.now(),\n loops: new Map(),\n sharedContext: {}\n };\n\n this.activeTasks.set(orchestrationId, orchestratedTask);\n\n // 5. Execute the plan\n const result = await this.executeOrchestration(orchestratedTask);\n\n logger.info('Complex task orchestration completed', {\n orchestrationId,\n status: result.success ? 'success' : 'failure',\n loopsExecuted: result.completedLoops.length,\n duration: Date.now() - orchestratedTask.startTime\n });\n\n return result;\n\n } catch (error: unknown) {\n logger.error('Orchestration failed', error as Error);\n throw error;\n } finally {\n this.activeTasks.delete(orchestrationId);\n }\n }\n\n /**\n * Execute coordinated parallel loops\n */\n async executeParallelLoops(\n tasks: TaskBreakdown[],\n coordination?: LoopCoordination\n ): Promise<ParallelExecution> {\n logger.info(`Executing ${tasks.length} parallel loops`);\n\n const execution: ParallelExecution = {\n id: uuidv4(),\n tasks: tasks,\n startTime: Date.now(),\n results: new Map(),\n sharedState: coordination?.sharedState || {}\n };\n\n const promises = tasks.map(task => this.executeParallelTask(task, execution));\n \n try {\n await Promise.allSettled(promises);\n\n execution.endTime = Date.now();\n execution.status = Array.from(execution.results.values()).every(r => r.success) ? 'success' : 'partial';\n\n return execution;\n\n } catch (error: unknown) {\n logger.error('Parallel execution failed', error as Error);\n execution.status = 'failed';\n execution.error = (error as Error).message;\n return execution;\n }\n }\n\n /**\n * Analyze and break down complex task\n */\n private async analyzeAndBreakdownTask(\n description: string,\n criteria: string[]\n ): Promise<TaskBreakdown[]> {\n // Intelligent task breakdown using patterns and heuristics\n const complexity = this.assessTaskComplexity(description);\n \n if (complexity.score < 5) {\n // Simple task - no breakdown needed\n return [{\n id: uuidv4(),\n title: description,\n description,\n criteria: criteria,\n priority: 1,\n estimatedIterations: 3,\n dependencies: [],\n type: 'single'\n }];\n }\n\n // Complex task - break down by patterns\n const subtasks: TaskBreakdown[] = [];\n \n // Pattern 1: Setup/Foundation tasks\n if (this.needsSetup(description)) {\n subtasks.push({\n id: uuidv4(),\n title: 'Project Setup',\n description: 'Set up project structure and dependencies',\n criteria: ['Project structure created', 'Dependencies installed'],\n priority: 1,\n estimatedIterations: 2,\n dependencies: [],\n type: 'setup'\n });\n }\n\n // Pattern 2: Core implementation\n const coreTask = this.extractCoreTask(description);\n if (coreTask) {\n subtasks.push({\n id: uuidv4(),\n title: 'Core Implementation',\n description: coreTask,\n criteria: criteria.filter(c => c.toLowerCase().includes('function') || c.toLowerCase().includes('implement')),\n priority: 2,\n estimatedIterations: 5,\n dependencies: subtasks.length > 0 ? [subtasks[0].id] : [],\n type: 'implementation'\n });\n }\n\n // Pattern 3: Testing tasks\n if (this.needsTesting(criteria)) {\n subtasks.push({\n id: uuidv4(),\n title: 'Testing Implementation',\n description: 'Create comprehensive tests',\n criteria: criteria.filter(c => c.toLowerCase().includes('test')),\n priority: 3,\n estimatedIterations: 3,\n dependencies: subtasks.length > 0 ? [subtasks[subtasks.length - 1].id] : [],\n type: 'testing'\n });\n }\n\n // Pattern 4: Documentation tasks\n if (this.needsDocumentation(criteria)) {\n subtasks.push({\n id: uuidv4(),\n title: 'Documentation',\n description: 'Create documentation and examples',\n criteria: criteria.filter(c => c.toLowerCase().includes('doc')),\n priority: 4,\n estimatedIterations: 2,\n dependencies: [],\n type: 'documentation'\n });\n }\n\n return subtasks.length > 0 ? subtasks : [{\n id: uuidv4(),\n title: description,\n description,\n criteria,\n priority: 1,\n estimatedIterations: Math.min(8, Math.max(3, complexity.score)),\n dependencies: [],\n type: 'single'\n }];\n }\n\n /**\n * Create execution plan from breakdown\n */\n private async createExecutionPlan(\n breakdown: TaskBreakdown[],\n options?: { forceSequential?: boolean }\n ): Promise<ExecutionPlan> {\n const plan: ExecutionPlan = {\n phases: [],\n totalEstimatedTime: 0,\n parallelizable: !options?.forceSequential && breakdown.length > 1\n };\n\n if (options?.forceSequential || !this.canExecuteInParallel(breakdown)) {\n // Sequential execution\n plan.phases = breakdown.map((task, index) => ({\n id: `phase-${index + 1}`,\n tasks: [task],\n dependencies: index > 0 ? [`phase-${index}`] : [],\n parallelExecution: false\n }));\n } else {\n // Group tasks by dependencies for parallel execution\n const phases = this.groupTasksByDependencies(breakdown);\n plan.phases = phases;\n }\n\n plan.totalEstimatedTime = plan.phases.reduce(\n (sum, phase) => sum + Math.max(...phase.tasks.map(t => t.estimatedIterations)) * 30000, // 30s per iteration\n 0\n );\n\n return plan;\n }\n\n /**\n * Execute the orchestration plan\n */\n private async executeOrchestration(task: OrchestratedTask): Promise<OrchestrationResult> {\n const result: OrchestrationResult = {\n orchestrationId: task.id,\n success: false,\n completedLoops: [],\n failedLoops: [],\n totalDuration: 0,\n insights: []\n };\n\n try {\n task.status = 'executing';\n\n for (const phase of task.executionPlan.phases) {\n logger.info(`Executing phase ${phase.id} with ${phase.tasks.length} tasks`);\n\n if (phase.parallelExecution && phase.tasks.length > 1) {\n // Parallel execution\n const parallelResult = await this.executeParallelLoops(phase.tasks);\n \n for (const [taskId, taskResult] of parallelResult.results) {\n if (taskResult.success) {\n result.completedLoops.push(taskResult.loopId);\n } else {\n result.failedLoops.push({ loopId: taskResult.loopId, error: taskResult.error || 'Unknown error' });\n }\n }\n } else {\n // Sequential execution\n for (const phaseTask of phase.tasks) {\n const loopResult = await this.executeTaskLoop(phaseTask, task);\n \n if (loopResult.success) {\n result.completedLoops.push(loopResult.loopId);\n \n // Share learnings with other tasks\n if (this.config.sharedContextEnabled) {\n await this.updateSharedContext(task, loopResult);\n }\n } else {\n result.failedLoops.push({ loopId: loopResult.loopId, error: loopResult.error || 'Unknown error' });\n \n // Handle failure based on strategy\n if (this.config.fallbackStrategy === 'abort') {\n throw new Error(`Task failed: ${loopResult.error}`);\n }\n }\n }\n }\n }\n\n task.status = 'completed';\n result.success = result.failedLoops.length === 0;\n result.totalDuration = Date.now() - task.startTime;\n\n // Generate insights\n result.insights = this.generateOrchestrationInsights(task, result);\n\n return result;\n\n } catch (error: unknown) {\n task.status = 'failed';\n result.success = false;\n result.error = (error as Error).message;\n return result;\n }\n }\n\n /**\n * Execute a single task as a Ralph loop\n */\n private async executeTaskLoop(\n taskBreakdown: TaskBreakdown,\n orchestratedTask: OrchestratedTask\n ): Promise<{ success: boolean; loopId: string; error?: string }> {\n try {\n // Create Ralph loop with shared context\n const bridge = new RalphStackMemoryBridge({\n baseDir: `.ralph-${taskBreakdown.id}`,\n maxIterations: taskBreakdown.estimatedIterations * 2, // Allow extra iterations\n useStackMemory: true\n });\n\n await bridge.initialize({\n task: taskBreakdown.description,\n criteria: taskBreakdown.criteria.join('\\n')\n });\n\n // Store loop reference\n this.activeLoops.set(taskBreakdown.id, bridge);\n orchestratedTask.loops.set(taskBreakdown.id, {\n bridge,\n status: 'running',\n startTime: Date.now()\n });\n\n // Run the loop\n await bridge.run();\n\n // Check result\n const loopInfo = orchestratedTask.loops.get(taskBreakdown.id);\n if (loopInfo) {\n loopInfo.status = 'completed';\n loopInfo.endTime = Date.now();\n }\n\n this.activeLoops.delete(taskBreakdown.id);\n\n return { success: true, loopId: taskBreakdown.id };\n\n } catch (error: unknown) {\n logger.error(`Task loop failed: ${taskBreakdown.title}`, error as Error);\n \n const loopInfo = orchestratedTask.loops.get(taskBreakdown.id);\n if (loopInfo) {\n loopInfo.status = 'failed';\n loopInfo.error = (error as Error).message;\n loopInfo.endTime = Date.now();\n }\n\n this.activeLoops.delete(taskBreakdown.id);\n\n return { success: false, loopId: taskBreakdown.id, error: (error as Error).message };\n }\n }\n\n /**\n * Execute a task in parallel context\n */\n private async executeParallelTask(\n task: TaskBreakdown,\n execution: ParallelExecution\n ): Promise<void> {\n try {\n const result = await this.executeTaskLoop(task, {\n id: execution.id,\n description: `Parallel task: ${task.title}`,\n breakdown: [task],\n executionPlan: { phases: [], totalEstimatedTime: 0, parallelizable: false },\n status: 'executing',\n startTime: execution.startTime,\n loops: new Map(),\n sharedContext: execution.sharedState\n });\n\n execution.results.set(task.id, result);\n\n } catch (error: unknown) {\n execution.results.set(task.id, {\n success: false,\n loopId: task.id,\n error: (error as Error).message\n });\n }\n }\n\n /**\n * Update shared context between tasks\n */\n private async updateSharedContext(\n orchestratedTask: OrchestratedTask,\n loopResult: { loopId: string }\n ): Promise<void> {\n // Extract learnings from completed loop and share with other active loops\n // This would integrate with StackMemory's shared context layer\n logger.debug('Updating shared context', { orchestrationId: orchestratedTask.id, loopId: loopResult.loopId });\n }\n\n /**\n * Generate insights from orchestration\n */\n private generateOrchestrationInsights(\n task: OrchestratedTask,\n result: OrchestrationResult\n ): string[] {\n const insights: string[] = [];\n\n // Performance insights\n const avgLoopDuration = Array.from(task.loops.values())\n .filter(l => l.endTime && l.startTime)\n .map(l => l.endTime! - l.startTime)\n .reduce((sum, duration) => sum + duration, 0) / task.loops.size;\n\n if (avgLoopDuration > 0) {\n insights.push(`Average loop duration: ${Math.round(avgLoopDuration / 1000)}s`);\n }\n\n // Success rate insights\n const successRate = result.completedLoops.length / (result.completedLoops.length + result.failedLoops.length);\n insights.push(`Success rate: ${Math.round(successRate * 100)}%`);\n\n // Complexity insights\n if (task.breakdown.length > 3) {\n insights.push('Complex task benefited from breakdown into multiple loops');\n }\n\n return insights;\n }\n\n // Helper methods for task analysis\n private assessTaskComplexity(description: string): { score: number; factors: string[] } {\n const factors: string[] = [];\n let score = 1;\n\n if (description.length > 200) { score += 2; factors.push('long description'); }\n if (description.includes('and')) { score += 1; factors.push('multiple requirements'); }\n if (description.toLowerCase().includes('test')) { score += 2; factors.push('testing required'); }\n if (description.toLowerCase().includes('document')) { score += 1; factors.push('documentation needed'); }\n if (description.toLowerCase().includes('refactor')) { score += 3; factors.push('refactoring complexity'); }\n\n return { score, factors };\n }\n\n private needsSetup(description: string): boolean {\n const setupKeywords = ['project', 'initialize', 'setup', 'scaffold', 'create structure'];\n return setupKeywords.some(keyword => description.toLowerCase().includes(keyword));\n }\n\n private needsTesting(criteria: string[]): boolean {\n return criteria.some(c => c.toLowerCase().includes('test'));\n }\n\n private needsDocumentation(criteria: string[]): boolean {\n return criteria.some(c => c.toLowerCase().includes('doc'));\n }\n\n private extractCoreTask(description: string): string | null {\n // Extract the main implementation task from description\n const sentences = description.split('.');\n return sentences.find(s => s.toLowerCase().includes('implement') || s.toLowerCase().includes('create') || s.toLowerCase().includes('add')) || null;\n }\n\n private canExecuteInParallel(breakdown: TaskBreakdown[]): boolean {\n // Check if tasks can be executed in parallel based on dependencies\n return breakdown.some(task => task.dependencies.length === 0);\n }\n\n private groupTasksByDependencies(breakdown: TaskBreakdown[]): any[] {\n // Group tasks into phases based on dependencies\n const phases: any[] = [];\n const processed = new Set<string>();\n \n while (processed.size < breakdown.length) {\n const readyTasks = breakdown.filter(task => \n !processed.has(task.id) && \n task.dependencies.every(dep => processed.has(dep))\n );\n\n if (readyTasks.length === 0) break; // Circular dependency\n\n phases.push({\n id: `phase-${phases.length + 1}`,\n tasks: readyTasks,\n dependencies: phases.length > 0 ? [`phase-${phases.length}`] : [],\n parallelExecution: readyTasks.length > 1\n });\n\n readyTasks.forEach(task => processed.add(task.id));\n }\n\n return phases;\n }\n\n private validateDependencies(plan: ExecutionPlan): string[] {\n const errors: string[] = [];\n const allTaskIds = new Set(\n plan.phases.flatMap(phase => phase.tasks.map(task => task.id))\n );\n\n for (const phase of plan.phases) {\n for (const task of phase.tasks) {\n for (const dep of task.dependencies) {\n if (!allTaskIds.has(dep)) {\n errors.push(`Task ${task.id} depends on non-existent task ${dep}`);\n }\n }\n }\n }\n\n return errors;\n }\n\n /**\n * Monitor orchestration progress\n */\n getOrchestrationStatus(orchestrationId: string): OrchestratedTask | null {\n return this.activeTasks.get(orchestrationId) || null;\n }\n\n /**\n * Stop orchestration\n */\n async stopOrchestration(orchestrationId: string): Promise<void> {\n const task = this.activeTasks.get(orchestrationId);\n if (!task) return;\n\n // Stop all active loops\n for (const [loopId, loopInfo] of task.loops) {\n if (loopInfo.status === 'running') {\n try {\n // Signal stop to the loop\n loopInfo.status = 'stopped';\n this.activeLoops.delete(loopId);\n } catch (error: unknown) {\n logger.error(`Failed to stop loop ${loopId}`, error as Error);\n }\n }\n }\n\n task.status = 'stopped';\n this.activeTasks.delete(orchestrationId);\n\n logger.info('Orchestration stopped', { orchestrationId });\n }\n}\n\n// Export default instance\nexport const multiLoopOrchestrator = new MultiLoopOrchestrator();"],
|
|
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 { v4 as uuidv4 } from "uuid";
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations/ralph/patterns/compounding-engineering-pattern.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Compounding Engineering Pattern Implementation\n * \n * Transforms traditional engineering's diminishing returns into cumulative learning.\n * Each feature development improves future development capabilities.\n * \n * Core Philosophy: \"Make the next feature easier to build from the feature that you just added.\"\n */\n\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\nimport { v4 as uuidv4 } from 'uuid';\nimport { logger } from '../../../core/monitoring/logger.js';\n\nexport interface FeatureLearning {\n id: string;\n featureName: string;\n timestamp: number;\n developmentPhase: 'planning' | 'implementation' | 'testing' | 'deployment';\n \n // What worked well\n successes: {\n strategy: string;\n impact: 'high' | 'medium' | 'low';\n reusability: 'universal' | 'domain_specific' | 'feature_specific';\n description: string;\n }[];\n \n // What didn't work\n failures: {\n issue: string;\n cause: string;\n solution: string;\n prevention: string;\n }[];\n \n // Emerging patterns\n patterns: {\n name: string;\n context: string;\n solution: string;\n examples: string[];\n }[];\n \n // Agent improvements\n agentLearnings: {\n commonMistakes: string[];\n effectivePrompts: string[];\n toolUsagePatterns: string[];\n coordinationInsights: string[];\n };\n \n // Automation opportunities\n automationOpportunities: {\n task: string;\n frequency: 'always' | 'often' | 'sometimes';\n complexity: 'trivial' | 'simple' | 'complex';\n implementation: 'hook' | 'command' | 'subagent';\n }[];\n}\n\nexport interface CompoundedKnowledge {\n totalFeatures: number;\n learningsByCategory: {\n planning: FeatureLearning[];\n implementation: FeatureLearning[];\n testing: FeatureLearning[];\n deployment: FeatureLearning[];\n };\n \n // Distilled wisdom\n bestPractices: {\n category: string;\n practice: string;\n evidence: string[];\n confidence: number;\n }[];\n \n // Generated artifacts\n automatedHooks: string[];\n specializedAgents: string[];\n customCommands: string[];\n \n // Metrics\n metrics: {\n developmentVelocityTrend: number[];\n errorRateReduction: number;\n codeReuseIncrease: number;\n onboardingTimeReduction: number;\n };\n}\n\n/**\n * Compounding Engineering Pattern Manager\n * Captures, processes, and compounds development learnings\n */\nexport class CompoundingEngineeringManager {\n private knowledgeBase: CompoundedKnowledge;\n private baseDir: string;\n private projectId: string;\n \n constructor(baseDir: string = './.compounding', projectId?: string) {\n this.baseDir = baseDir;\n this.projectId = projectId || 'default';\n this.knowledgeBase = {\n totalFeatures: 0,\n learningsByCategory: {\n planning: [],\n implementation: [],\n testing: [],\n deployment: [],\n },\n bestPractices: [],\n automatedHooks: [],\n specializedAgents: [],\n customCommands: [],\n metrics: {\n developmentVelocityTrend: [],\n errorRateReduction: 0,\n codeReuseIncrease: 0,\n onboardingTimeReduction: 0,\n },\n };\n }\n\n /**\n * Initialize the compounding system\n */\n async initialize(): Promise<void> {\n await fs.mkdir(this.baseDir, { recursive: true });\n await this.loadExistingKnowledge();\n logger.info('Compounding Engineering Manager initialized', {\n totalFeatures: this.knowledgeBase.totalFeatures,\n baseDir: this.baseDir,\n });\n }\n\n /**\n * Capture learning from a feature development session\n */\n async captureFeatureLearning(\n featureName: string,\n sessionData: any,\n agentOutputs: any[],\n userFeedback?: string\n ): Promise<string> {\n const learningId = uuidv4();\n \n logger.info('Capturing feature learning', { \n featureName, \n learningId,\n agentCount: agentOutputs.length \n });\n\n // Analyze session for learnings\n const learning = await this.extractLearningsFromSession(\n learningId,\n featureName,\n sessionData,\n agentOutputs,\n userFeedback\n );\n\n // Store the learning\n await this.storeLearning(learning);\n \n // Update compounded knowledge\n await this.updateCompoundedKnowledge(learning);\n \n // Generate new artifacts if patterns emerge\n await this.generateArtifacts();\n \n return learningId;\n }\n\n /**\n * Extract actionable learnings from development session\n */\n private async extractLearningsFromSession(\n id: string,\n featureName: string,\n sessionData: any,\n agentOutputs: any[],\n userFeedback?: string\n ): Promise<FeatureLearning> {\n // Analyze what worked well\n const successes = this.identifySuccesses(sessionData, agentOutputs);\n \n // Analyze failures and resolutions\n const failures = this.identifyFailures(sessionData, agentOutputs);\n \n // Extract emerging patterns\n const patterns = this.extractPatterns(sessionData, agentOutputs);\n \n // Analyze agent behavior\n const agentLearnings = this.analyzeAgentBehavior(agentOutputs);\n \n // Identify automation opportunities\n const automationOpportunities = this.identifyAutomationOpportunities(\n sessionData,\n agentOutputs\n );\n\n return {\n id,\n featureName,\n timestamp: Date.now(),\n developmentPhase: this.inferDevelopmentPhase(sessionData),\n successes,\n failures,\n patterns,\n agentLearnings,\n automationOpportunities,\n };\n }\n\n /**\n * Identify what worked well in the session\n */\n private identifySuccesses(\n sessionData: any,\n agentOutputs: any[]\n ): FeatureLearning['successes'] {\n const successes = [];\n\n // Analyze successful agent strategies\n for (const output of agentOutputs) {\n if (output.success && output.strategy) {\n successes.push({\n strategy: output.strategy,\n impact: this.assessImpact(output),\n reusability: this.assessReusability(output),\n description: output.description || 'Successful agent execution',\n });\n }\n }\n\n // Analyze successful patterns in code\n if (sessionData.codePatterns) {\n for (const pattern of sessionData.codePatterns) {\n if (pattern.successful) {\n successes.push({\n strategy: `Code pattern: ${pattern.name}`,\n impact: 'high',\n reusability: 'universal',\n description: pattern.description,\n });\n }\n }\n }\n\n return successes;\n }\n\n /**\n * Identify failures and their resolutions\n */\n private identifyFailures(\n sessionData: any,\n agentOutputs: any[]\n ): FeatureLearning['failures'] {\n const failures = [];\n\n // Analyze agent failures\n for (const output of agentOutputs) {\n if (output.errors && output.errors.length > 0) {\n for (const error of output.errors) {\n failures.push({\n issue: error.message || 'Agent execution failed',\n cause: error.cause || 'Unknown cause',\n solution: error.resolution || 'Manual intervention required',\n prevention: this.generatePreventionStrategy(error),\n });\n }\n }\n }\n\n // Analyze build/test failures\n if (sessionData.buildErrors) {\n for (const error of sessionData.buildErrors) {\n failures.push({\n issue: `Build error: ${error.type}`,\n cause: error.details,\n solution: error.fix,\n prevention: 'Add pre-build validation hook',\n });\n }\n }\n\n return failures;\n }\n\n /**\n * Extract reusable patterns from the session\n */\n private extractPatterns(\n sessionData: any,\n agentOutputs: any[]\n ): FeatureLearning['patterns'] {\n const patterns = [];\n\n // Agent coordination patterns\n if (agentOutputs.length > 1) {\n const coordinationPattern = this.analyzeCoordinationPattern(agentOutputs);\n if (coordinationPattern) {\n patterns.push(coordinationPattern);\n }\n }\n\n // Code structure patterns\n if (sessionData.codeStructure) {\n const structurePattern = this.analyzeCodeStructurePattern(sessionData.codeStructure);\n if (structurePattern) {\n patterns.push(structurePattern);\n }\n }\n\n return patterns;\n }\n\n /**\n * Analyze agent behavior for improvements\n */\n private analyzeAgentBehavior(agentOutputs: any[]): FeatureLearning['agentLearnings'] {\n const commonMistakes = [];\n const effectivePrompts = [];\n const toolUsagePatterns = [];\n const coordinationInsights = [];\n\n for (const output of agentOutputs) {\n // Common mistakes\n if (output.retries && output.retries.length > 0) {\n commonMistakes.push(...output.retries.map((r: any) => r.reason));\n }\n\n // Effective prompts\n if (output.success && output.promptUsed) {\n effectivePrompts.push(output.promptUsed);\n }\n\n // Tool usage\n if (output.toolsUsed) {\n toolUsagePatterns.push(...output.toolsUsed);\n }\n\n // Coordination\n if (output.coordination) {\n coordinationInsights.push(output.coordination.insight);\n }\n }\n\n return {\n commonMistakes: [...new Set(commonMistakes)],\n effectivePrompts: [...new Set(effectivePrompts)],\n toolUsagePatterns: [...new Set(toolUsagePatterns)],\n coordinationInsights: [...new Set(coordinationInsights)],\n };\n }\n\n /**\n * Identify tasks that can be automated\n */\n private identifyAutomationOpportunities(\n sessionData: any,\n agentOutputs: any[]\n ): FeatureLearning['automationOpportunities'] {\n const opportunities = [];\n\n // Repeated agent tasks\n const taskFrequency = this.analyzeTaskFrequency(agentOutputs);\n for (const [task, frequency] of Object.entries(taskFrequency)) {\n if (frequency > 2) {\n opportunities.push({\n task,\n frequency: 'often',\n complexity: 'simple',\n implementation: 'hook',\n });\n }\n }\n\n // Manual interventions\n if (sessionData.manualSteps) {\n for (const step of sessionData.manualSteps) {\n opportunities.push({\n task: step.description,\n frequency: 'sometimes',\n complexity: step.complexity || 'simple',\n implementation: 'command',\n });\n }\n }\n\n return opportunities;\n }\n\n /**\n * Update compounded knowledge with new learning\n */\n private async updateCompoundedKnowledge(learning: FeatureLearning): Promise<void> {\n // Add to appropriate category\n this.knowledgeBase.learningsByCategory[learning.developmentPhase].push(learning);\n this.knowledgeBase.totalFeatures++;\n\n // Update best practices\n await this.updateBestPractices(learning);\n \n // Update metrics\n await this.updateMetrics(learning);\n \n // Save updated knowledge\n await this.saveKnowledge();\n }\n\n /**\n * Generate artifacts (hooks, commands, agents) from accumulated learnings\n */\n private async generateArtifacts(): Promise<void> {\n // Generate hooks from automation opportunities\n await this.generateHooks();\n \n // Generate specialized agents from patterns\n await this.generateSpecializedAgents();\n \n // Generate custom commands from repeated tasks\n await this.generateCustomCommands();\n }\n\n /**\n * Generate automation hooks\n */\n private async generateHooks(): Promise<void> {\n const allOpportunities = Object.values(this.knowledgeBase.learningsByCategory)\n .flat()\n .flatMap(learning => learning.automationOpportunities)\n .filter(opp => opp.implementation === 'hook');\n\n const hookCounts = new Map<string, number>();\n for (const opp of allOpportunities) {\n hookCounts.set(opp.task, (hookCounts.get(opp.task) || 0) + 1);\n }\n\n // Generate hooks for frequently occurring tasks\n for (const [task, count] of hookCounts) {\n if (count >= 3 && !this.knowledgeBase.automatedHooks.includes(task)) {\n await this.createHook(task);\n this.knowledgeBase.automatedHooks.push(task);\n }\n }\n }\n\n /**\n * Create an automation hook\n */\n private async createHook(task: string): Promise<void> {\n const hookName = task.replace(/\\s+/g, '-').toLowerCase();\n const hookPath = path.join(this.baseDir, 'hooks', `${hookName}.ts`);\n \n await fs.mkdir(path.dirname(hookPath), { recursive: true });\n \n const hookContent = `\n/**\n * Auto-generated hook for: ${task}\n * Generated by Compounding Engineering Pattern\n */\n\nexport async function ${hookName.replace(/-/g, '')}Hook() {\n // TODO: Implement automation for: ${task}\n console.log('Executing automated hook: ${task}');\n}\n `;\n\n await fs.writeFile(hookPath, hookContent);\n logger.info('Generated automation hook', { task, hookPath });\n }\n\n /**\n * Load existing knowledge base\n */\n private async loadExistingKnowledge(): Promise<void> {\n const knowledgePath = path.join(this.baseDir, 'knowledge.json');\n \n try {\n const content = await fs.readFile(knowledgePath, 'utf-8');\n this.knowledgeBase = JSON.parse(content);\n } catch (error) {\n // No existing knowledge, start fresh\n logger.info('Starting fresh knowledge base');\n }\n }\n\n /**\n * Save knowledge base to disk\n */\n private async saveKnowledge(): Promise<void> {\n const knowledgePath = path.join(this.baseDir, 'knowledge.json');\n await fs.writeFile(\n knowledgePath,\n JSON.stringify(this.knowledgeBase, null, 2)\n );\n }\n\n /**\n * Get current compounding metrics\n */\n getCompoundingMetrics(): {\n totalFeatures: number;\n automationLevel: number;\n learningVelocity: number;\n knowledgeReuse: number;\n } {\n const totalLearnings = Object.values(this.knowledgeBase.learningsByCategory)\n .flat().length;\n \n const automationLevel = this.knowledgeBase.automatedHooks.length / \n Math.max(totalLearnings, 1);\n \n const recentLearnings = totalLearnings > 5 ? \n totalLearnings / 5 : totalLearnings;\n \n return {\n totalFeatures: this.knowledgeBase.totalFeatures,\n automationLevel,\n learningVelocity: recentLearnings,\n knowledgeReuse: this.knowledgeBase.bestPractices.length,\n };\n }\n\n // Helper methods\n private assessImpact(output: any): 'high' | 'medium' | 'low' {\n if (output.linesChanged > 100) return 'high';\n if (output.linesChanged > 20) return 'medium';\n return 'low';\n }\n\n private assessReusability(output: any): 'universal' | 'domain_specific' | 'feature_specific' {\n if (output.pattern === 'generic') return 'universal';\n if (output.domain) return 'domain_specific';\n return 'feature_specific';\n }\n\n private generatePreventionStrategy(error: any): string {\n return `Add validation for: ${error.type || 'unknown error type'}`;\n }\n\n private inferDevelopmentPhase(sessionData: any): 'planning' | 'implementation' | 'testing' | 'deployment' {\n if (sessionData.phase) return sessionData.phase;\n if (sessionData.testsRun) return 'testing';\n if (sessionData.codeGenerated) return 'implementation';\n return 'planning';\n }\n\n private analyzeCoordinationPattern(agentOutputs: any[]): any {\n return {\n name: 'Multi-agent coordination',\n context: `${agentOutputs.length} agents worked together`,\n solution: 'Successful multi-agent coordination pattern',\n examples: agentOutputs.map(a => a.role || 'unknown'),\n };\n }\n\n private analyzeCodeStructurePattern(structure: any): any {\n return {\n name: 'Code structure pattern',\n context: structure.type,\n solution: structure.pattern,\n examples: structure.examples || [],\n };\n }\n\n private analyzeTaskFrequency(agentOutputs: any[]): Record<string, number> {\n const frequency: Record<string, number> = {};\n for (const output of agentOutputs) {\n if (output.task) {\n frequency[output.task] = (frequency[output.task] || 0) + 1;\n }\n }\n return frequency;\n }\n\n private async updateBestPractices(learning: FeatureLearning): Promise<void> {\n // Extract best practices from successes\n for (const success of learning.successes) {\n if (success.impact === 'high' && success.reusability === 'universal') {\n const existing = this.knowledgeBase.bestPractices.find(\n bp => bp.practice === success.strategy\n );\n \n if (existing) {\n existing.evidence.push(learning.featureName);\n existing.confidence = Math.min(existing.confidence + 0.1, 1.0);\n } else {\n this.knowledgeBase.bestPractices.push({\n category: learning.developmentPhase,\n practice: success.strategy,\n evidence: [learning.featureName],\n confidence: 0.7,\n });\n }\n }\n }\n }\n\n private async updateMetrics(learning: FeatureLearning): Promise<void> {\n // Update development velocity trend\n const velocityScore = learning.successes.length - learning.failures.length;\n this.knowledgeBase.metrics.developmentVelocityTrend.push(velocityScore);\n \n // Keep only last 10 measurements\n if (this.knowledgeBase.metrics.developmentVelocityTrend.length > 10) {\n this.knowledgeBase.metrics.developmentVelocityTrend.shift();\n }\n }\n\n private async generateSpecializedAgents(): Promise<void> {\n // Implementation for generating specialized agents from patterns\n }\n\n private async generateCustomCommands(): Promise<void> {\n // Implementation for generating custom commands from repeated tasks\n }\n}\n\nexport default CompoundingEngineeringManager;"],
|
|
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";
|