@stackmemoryai/stackmemory 0.5.59 → 0.5.61
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/README.md +105 -1
- package/dist/src/cli/claude-sm.js +130 -50
- package/dist/src/cli/claude-sm.js.map +2 -2
- package/dist/src/cli/index.js +18 -3
- package/dist/src/cli/index.js.map +3 -3
- package/dist/src/core/extensions/custom-tools.js +567 -0
- package/dist/src/core/extensions/custom-tools.js.map +7 -0
- package/dist/src/core/extensions/index.js +55 -0
- package/dist/src/core/extensions/index.js.map +7 -0
- package/dist/src/core/extensions/loader.js +709 -0
- package/dist/src/core/extensions/loader.js.map +7 -0
- package/dist/src/core/extensions/plugin-system.js +506 -0
- package/dist/src/core/extensions/plugin-system.js.map +7 -0
- package/dist/src/core/extensions/provider-adapter.js +617 -0
- package/dist/src/core/extensions/provider-adapter.js.map +7 -0
- package/dist/src/core/extensions/sandbox-runtime.js +664 -0
- package/dist/src/core/extensions/sandbox-runtime.js.map +7 -0
- package/dist/src/core/storage/chromadb-adapter.js +32 -6
- package/dist/src/core/storage/chromadb-adapter.js.map +2 -2
- package/dist/src/skills/repo-ingestion-skill.js +35 -12
- package/dist/src/skills/repo-ingestion-skill.js.map +2 -2
- package/package.json +11 -7
- package/scripts/background-sync-manager.js +145 -83
- package/scripts/claude-sm-autostart.js +17 -12
- package/scripts/gepa/README.md +275 -0
- package/scripts/gepa/config.json +53 -0
- package/scripts/gepa/evals/coding-tasks.jsonl +5 -0
- package/scripts/gepa/evals/fixtures/buggy-loop.js +18 -0
- package/scripts/gepa/evals/fixtures/callback-hell.js +53 -0
- package/scripts/gepa/generations/gen-000/baseline.md +124 -0
- package/scripts/gepa/hooks/auto-optimize.js +494 -0
- package/scripts/gepa/hooks/eval-tracker.js +203 -0
- package/scripts/gepa/hooks/reflect.js +311 -0
- package/scripts/gepa/optimize.js +611 -0
- package/scripts/gepa/state.json +14 -0
- package/scripts/test-pre-publish-quick.sh +1 -1
- package/dist/agents/core/agent-task-manager.js +0 -527
- package/dist/agents/core/agent-task-manager.js.map +0 -7
- package/dist/agents/testing-agent.js +0 -614
- package/dist/agents/testing-agent.js.map +0 -7
- package/dist/agents/verifiers/base-verifier.js +0 -133
- package/dist/agents/verifiers/base-verifier.js.map +0 -7
- package/dist/agents/verifiers/formatter-verifier.js +0 -130
- package/dist/agents/verifiers/formatter-verifier.js.map +0 -7
- package/dist/agents/verifiers/llm-judge.js +0 -252
- package/dist/agents/verifiers/llm-judge.js.map +0 -7
- package/dist/cli/auto-detect.js +0 -321
- package/dist/cli/auto-detect.js.map +0 -7
- package/dist/cli/browser-test.js +0 -33
- package/dist/cli/browser-test.js.map +0 -7
- package/dist/cli/claude-sm-danger.js +0 -21
- package/dist/cli/claude-sm-danger.js.map +0 -7
- package/dist/cli/claude-sm.js +0 -1156
- package/dist/cli/claude-sm.js.map +0 -7
- package/dist/cli/codex-sm-danger.js +0 -21
- package/dist/cli/codex-sm-danger.js.map +0 -7
- package/dist/cli/codex-sm.js +0 -349
- package/dist/cli/codex-sm.js.map +0 -7
- package/dist/cli/commands/api.js +0 -232
- package/dist/cli/commands/api.js.map +0 -7
- package/dist/cli/commands/auto-background.js +0 -180
- package/dist/cli/commands/auto-background.js.map +0 -7
- package/dist/cli/commands/cleanup-processes.js +0 -68
- package/dist/cli/commands/cleanup-processes.js.map +0 -7
- package/dist/cli/commands/clear.js +0 -202
- package/dist/cli/commands/clear.js.map +0 -7
- package/dist/cli/commands/config.js +0 -445
- package/dist/cli/commands/config.js.map +0 -7
- package/dist/cli/commands/context-rehydrate.js +0 -751
- package/dist/cli/commands/context-rehydrate.js.map +0 -7
- package/dist/cli/commands/context.js +0 -343
- package/dist/cli/commands/context.js.map +0 -7
- package/dist/cli/commands/daemon.js +0 -392
- package/dist/cli/commands/daemon.js.map +0 -7
- package/dist/cli/commands/dashboard.js +0 -210
- package/dist/cli/commands/dashboard.js.map +0 -7
- package/dist/cli/commands/db.js +0 -147
- package/dist/cli/commands/db.js.map +0 -7
- package/dist/cli/commands/decision.js +0 -266
- package/dist/cli/commands/decision.js.map +0 -7
- package/dist/cli/commands/discovery.js +0 -279
- package/dist/cli/commands/discovery.js.map +0 -7
- package/dist/cli/commands/handoff.js +0 -624
- package/dist/cli/commands/handoff.js.map +0 -7
- package/dist/cli/commands/hooks.js +0 -298
- package/dist/cli/commands/hooks.js.map +0 -7
- package/dist/cli/commands/linear-unified.js +0 -353
- package/dist/cli/commands/linear-unified.js.map +0 -7
- package/dist/cli/commands/linear.js +0 -529
- package/dist/cli/commands/linear.js.map +0 -7
- package/dist/cli/commands/log.js +0 -169
- package/dist/cli/commands/log.js.map +0 -7
- package/dist/cli/commands/login.js +0 -172
- package/dist/cli/commands/login.js.map +0 -7
- package/dist/cli/commands/migrate.js +0 -240
- package/dist/cli/commands/migrate.js.map +0 -7
- package/dist/cli/commands/model.js +0 -533
- package/dist/cli/commands/model.js.map +0 -7
- package/dist/cli/commands/monitor.js +0 -313
- package/dist/cli/commands/monitor.js.map +0 -7
- package/dist/cli/commands/onboard.js +0 -536
- package/dist/cli/commands/onboard.js.map +0 -7
- package/dist/cli/commands/projects.js +0 -199
- package/dist/cli/commands/projects.js.map +0 -7
- package/dist/cli/commands/quality.js +0 -413
- package/dist/cli/commands/quality.js.map +0 -7
- package/dist/cli/commands/ralph.js +0 -909
- package/dist/cli/commands/ralph.js.map +0 -7
- package/dist/cli/commands/retrieval.js +0 -248
- package/dist/cli/commands/retrieval.js.map +0 -7
- package/dist/cli/commands/search.js +0 -173
- package/dist/cli/commands/search.js.map +0 -7
- package/dist/cli/commands/service.js +0 -749
- package/dist/cli/commands/service.js.map +0 -7
- package/dist/cli/commands/session.js +0 -200
- package/dist/cli/commands/session.js.map +0 -7
- package/dist/cli/commands/settings.js +0 -306
- package/dist/cli/commands/settings.js.map +0 -7
- package/dist/cli/commands/setup.js +0 -701
- package/dist/cli/commands/setup.js.map +0 -7
- package/dist/cli/commands/shell.js +0 -249
- package/dist/cli/commands/shell.js.map +0 -7
- package/dist/cli/commands/signup.js +0 -50
- package/dist/cli/commands/signup.js.map +0 -7
- package/dist/cli/commands/skills.js +0 -470
- package/dist/cli/commands/skills.js.map +0 -7
- package/dist/cli/commands/sms-notify.js +0 -795
- package/dist/cli/commands/sms-notify.js.map +0 -7
- package/dist/cli/commands/storage-tier.js +0 -183
- package/dist/cli/commands/storage-tier.js.map +0 -7
- package/dist/cli/commands/storage.js +0 -360
- package/dist/cli/commands/storage.js.map +0 -7
- package/dist/cli/commands/sweep.js +0 -249
- package/dist/cli/commands/sweep.js.map +0 -7
- package/dist/cli/commands/tasks.js +0 -213
- package/dist/cli/commands/tasks.js.map +0 -7
- package/dist/cli/commands/test.js +0 -286
- package/dist/cli/commands/test.js.map +0 -7
- package/dist/cli/commands/workflow.js +0 -142
- package/dist/cli/commands/workflow.js.map +0 -7
- package/dist/cli/commands/worktree.js +0 -319
- package/dist/cli/commands/worktree.js.map +0 -7
- package/dist/cli/index.js +0 -594
- package/dist/cli/index.js.map +0 -7
- package/dist/cli/opencode-sm.js +0 -448
- package/dist/cli/opencode-sm.js.map +0 -7
- package/dist/cli/utils/viewer.js +0 -96
- package/dist/cli/utils/viewer.js.map +0 -7
- package/dist/core/analytics/team-analytics.js +0 -378
- package/dist/core/analytics/team-analytics.js.map +0 -7
- package/dist/core/config/config-manager.js +0 -398
- package/dist/core/config/config-manager.js.map +0 -7
- package/dist/core/config/feature-flags.js +0 -76
- package/dist/core/config/feature-flags.js.map +0 -7
- package/dist/core/config/storage-config.js +0 -115
- package/dist/core/config/storage-config.js.map +0 -7
- package/dist/core/config/types.js +0 -144
- package/dist/core/config/types.js.map +0 -7
- package/dist/core/context/auto-context.js +0 -80
- package/dist/core/context/auto-context.js.map +0 -7
- package/dist/core/context/dual-stack-manager.js +0 -870
- package/dist/core/context/dual-stack-manager.js.map +0 -7
- package/dist/core/context/enhanced-rehydration.js +0 -994
- package/dist/core/context/enhanced-rehydration.js.map +0 -7
- package/dist/core/context/frame-database.js +0 -479
- package/dist/core/context/frame-database.js.map +0 -7
- package/dist/core/context/frame-digest.js +0 -250
- package/dist/core/context/frame-digest.js.map +0 -7
- package/dist/core/context/frame-handoff-manager.js +0 -778
- package/dist/core/context/frame-handoff-manager.js.map +0 -7
- package/dist/core/context/frame-lifecycle-hooks.js +0 -119
- package/dist/core/context/frame-lifecycle-hooks.js.map +0 -7
- package/dist/core/context/frame-manager.js +0 -1069
- package/dist/core/context/frame-manager.js.map +0 -7
- package/dist/core/context/frame-recovery.js +0 -302
- package/dist/core/context/frame-recovery.js.map +0 -7
- package/dist/core/context/frame-stack.js +0 -314
- package/dist/core/context/frame-stack.js.map +0 -7
- package/dist/core/context/frame-types.js +0 -5
- package/dist/core/context/frame-types.js.map +0 -7
- package/dist/core/context/incremental-gc.js +0 -290
- package/dist/core/context/incremental-gc.js.map +0 -7
- package/dist/core/context/index.js +0 -25
- package/dist/core/context/index.js.map +0 -7
- package/dist/core/context/model-aware-compaction.js +0 -623
- package/dist/core/context/model-aware-compaction.js.map +0 -7
- package/dist/core/context/permission-manager.js +0 -185
- package/dist/core/context/permission-manager.js.map +0 -7
- package/dist/core/context/recursive-context-manager.js +0 -592
- package/dist/core/context/recursive-context-manager.js.map +0 -7
- package/dist/core/context/refactored-frame-manager.js +0 -754
- package/dist/core/context/refactored-frame-manager.js.map +0 -7
- package/dist/core/context/shared-context-layer.js +0 -621
- package/dist/core/context/shared-context-layer.js.map +0 -7
- package/dist/core/context/stack-merge-resolver.js +0 -749
- package/dist/core/context/stack-merge-resolver.js.map +0 -7
- package/dist/core/context/validation.js +0 -130
- package/dist/core/context/validation.js.map +0 -7
- package/dist/core/database/batch-operations.js +0 -384
- package/dist/core/database/batch-operations.js.map +0 -7
- package/dist/core/database/connection-pool.js +0 -330
- package/dist/core/database/connection-pool.js.map +0 -7
- package/dist/core/database/database-adapter.js +0 -60
- package/dist/core/database/database-adapter.js.map +0 -7
- package/dist/core/database/migration-manager.js +0 -614
- package/dist/core/database/migration-manager.js.map +0 -7
- package/dist/core/database/paradedb-adapter.js +0 -990
- package/dist/core/database/paradedb-adapter.js.map +0 -7
- package/dist/core/database/query-cache.js +0 -298
- package/dist/core/database/query-cache.js.map +0 -7
- package/dist/core/database/query-router.js +0 -430
- package/dist/core/database/query-router.js.map +0 -7
- package/dist/core/database/sqlite-adapter.js +0 -738
- package/dist/core/database/sqlite-adapter.js.map +0 -7
- package/dist/core/digest/enhanced-hybrid-digest.js +0 -277
- package/dist/core/digest/enhanced-hybrid-digest.js.map +0 -7
- package/dist/core/digest/frame-digest-integration.js +0 -176
- package/dist/core/digest/frame-digest-integration.js.map +0 -7
- package/dist/core/digest/hybrid-digest-generator.js +0 -553
- package/dist/core/digest/hybrid-digest-generator.js.map +0 -7
- package/dist/core/digest/index.js +0 -9
- package/dist/core/digest/index.js.map +0 -7
- package/dist/core/digest/types.js +0 -25
- package/dist/core/digest/types.js.map +0 -7
- package/dist/core/errors/error-utils.js +0 -208
- package/dist/core/errors/error-utils.js.map +0 -7
- package/dist/core/errors/index.js +0 -521
- package/dist/core/errors/index.js.map +0 -7
- package/dist/core/errors/recovery.js +0 -269
- package/dist/core/errors/recovery.js.map +0 -7
- package/dist/core/execution/parallel-executor.js +0 -258
- package/dist/core/execution/parallel-executor.js.map +0 -7
- package/dist/core/frame/workflow-templates.js +0 -319
- package/dist/core/frame/workflow-templates.js.map +0 -7
- package/dist/core/merge/conflict-detector.js +0 -431
- package/dist/core/merge/conflict-detector.js.map +0 -7
- package/dist/core/merge/index.js +0 -9
- package/dist/core/merge/index.js.map +0 -7
- package/dist/core/merge/resolution-engine.js +0 -558
- package/dist/core/merge/resolution-engine.js.map +0 -7
- package/dist/core/merge/stack-diff.js +0 -532
- package/dist/core/merge/stack-diff.js.map +0 -7
- package/dist/core/merge/unified-merge-resolver.js +0 -303
- package/dist/core/merge/unified-merge-resolver.js.map +0 -7
- package/dist/core/models/fallback-monitor.js +0 -232
- package/dist/core/models/fallback-monitor.js.map +0 -7
- package/dist/core/models/model-router.js +0 -340
- package/dist/core/models/model-router.js.map +0 -7
- package/dist/core/monitoring/error-handler.js +0 -49
- package/dist/core/monitoring/error-handler.js.map +0 -7
- package/dist/core/monitoring/logger.js +0 -202
- package/dist/core/monitoring/logger.js.map +0 -7
- package/dist/core/monitoring/metrics.js +0 -172
- package/dist/core/monitoring/metrics.js.map +0 -7
- package/dist/core/monitoring/progress-tracker.js +0 -189
- package/dist/core/monitoring/progress-tracker.js.map +0 -7
- package/dist/core/monitoring/session-monitor.js +0 -300
- package/dist/core/monitoring/session-monitor.js.map +0 -7
- package/dist/core/performance/context-cache.js +0 -273
- package/dist/core/performance/context-cache.js.map +0 -7
- package/dist/core/performance/index.js +0 -11
- package/dist/core/performance/index.js.map +0 -7
- package/dist/core/performance/lazy-context-loader.js +0 -327
- package/dist/core/performance/lazy-context-loader.js.map +0 -7
- package/dist/core/performance/monitor.js +0 -221
- package/dist/core/performance/monitor.js.map +0 -7
- package/dist/core/performance/optimized-frame-context.js +0 -345
- package/dist/core/performance/optimized-frame-context.js.map +0 -7
- package/dist/core/performance/performance-benchmark.js +0 -277
- package/dist/core/performance/performance-benchmark.js.map +0 -7
- package/dist/core/performance/performance-profiler.js +0 -370
- package/dist/core/performance/performance-profiler.js.map +0 -7
- package/dist/core/performance/streaming-jsonl-parser.js +0 -195
- package/dist/core/performance/streaming-jsonl-parser.js.map +0 -7
- package/dist/core/persistence/postgres-adapter.js +0 -349
- package/dist/core/persistence/postgres-adapter.js.map +0 -7
- package/dist/core/projects/project-isolation.js +0 -201
- package/dist/core/projects/project-isolation.js.map +0 -7
- package/dist/core/projects/project-manager.js +0 -697
- package/dist/core/projects/project-manager.js.map +0 -7
- package/dist/core/query/query-parser.js +0 -370
- package/dist/core/query/query-parser.js.map +0 -7
- package/dist/core/query/query-templates.js +0 -321
- package/dist/core/query/query-templates.js.map +0 -7
- package/dist/core/retrieval/context-retriever.js +0 -479
- package/dist/core/retrieval/context-retriever.js.map +0 -7
- package/dist/core/retrieval/graph-retrieval.js +0 -662
- package/dist/core/retrieval/graph-retrieval.js.map +0 -7
- package/dist/core/retrieval/hierarchical-retrieval.js +0 -656
- package/dist/core/retrieval/hierarchical-retrieval.js.map +0 -7
- package/dist/core/retrieval/index.js +0 -8
- package/dist/core/retrieval/index.js.map +0 -7
- package/dist/core/retrieval/llm-context-retrieval.js +0 -613
- package/dist/core/retrieval/llm-context-retrieval.js.map +0 -7
- package/dist/core/retrieval/llm-provider.js +0 -151
- package/dist/core/retrieval/llm-provider.js.map +0 -7
- package/dist/core/retrieval/retrieval-audit.js +0 -236
- package/dist/core/retrieval/retrieval-audit.js.map +0 -7
- package/dist/core/retrieval/retrieval-benchmarks.js +0 -521
- package/dist/core/retrieval/retrieval-benchmarks.js.map +0 -7
- package/dist/core/retrieval/summary-generator.js +0 -589
- package/dist/core/retrieval/summary-generator.js.map +0 -7
- package/dist/core/retrieval/types.js +0 -21
- package/dist/core/retrieval/types.js.map +0 -7
- package/dist/core/security/index.js +0 -35
- package/dist/core/security/index.js.map +0 -7
- package/dist/core/security/input-sanitizer.js +0 -321
- package/dist/core/security/input-sanitizer.js.map +0 -7
- package/dist/core/session/clear-survival.js +0 -465
- package/dist/core/session/clear-survival.js.map +0 -7
- package/dist/core/session/enhanced-handoff.js +0 -792
- package/dist/core/session/enhanced-handoff.js.map +0 -7
- package/dist/core/session/handoff-generator.js +0 -343
- package/dist/core/session/handoff-generator.js.map +0 -7
- package/dist/core/session/index.js +0 -15
- package/dist/core/session/index.js.map +0 -7
- package/dist/core/session/session-manager.js +0 -347
- package/dist/core/session/session-manager.js.map +0 -7
- package/dist/core/skills/index.js +0 -7
- package/dist/core/skills/index.js.map +0 -7
- package/dist/core/skills/skill-storage.js +0 -764
- package/dist/core/skills/skill-storage.js.map +0 -7
- package/dist/core/skills/types.js +0 -193
- package/dist/core/skills/types.js.map +0 -7
- package/dist/core/storage/chromadb-adapter.js +0 -354
- package/dist/core/storage/chromadb-adapter.js.map +0 -7
- package/dist/core/storage/infinite-storage.js +0 -510
- package/dist/core/storage/infinite-storage.js.map +0 -7
- package/dist/core/storage/railway-optimized-storage.js +0 -591
- package/dist/core/storage/railway-optimized-storage.js.map +0 -7
- package/dist/core/storage/remote-storage.js +0 -489
- package/dist/core/storage/remote-storage.js.map +0 -7
- package/dist/core/storage/two-tier-storage.js +0 -766
- package/dist/core/storage/two-tier-storage.js.map +0 -7
- package/dist/core/trace/cli-trace-wrapper.js +0 -132
- package/dist/core/trace/cli-trace-wrapper.js.map +0 -7
- package/dist/core/trace/db-trace-wrapper.js +0 -247
- package/dist/core/trace/db-trace-wrapper.js.map +0 -7
- package/dist/core/trace/debug-trace.js +0 -417
- package/dist/core/trace/debug-trace.js.map +0 -7
- package/dist/core/trace/index.js +0 -109
- package/dist/core/trace/index.js.map +0 -7
- package/dist/core/trace/linear-api-wrapper.js +0 -178
- package/dist/core/trace/linear-api-wrapper.js.map +0 -7
- package/dist/core/trace/trace-demo.js +0 -154
- package/dist/core/trace/trace-demo.js.map +0 -7
- package/dist/core/trace/trace-detector.demo.js +0 -142
- package/dist/core/trace/trace-detector.demo.js.map +0 -7
- package/dist/core/trace/trace-detector.js +0 -528
- package/dist/core/trace/trace-detector.js.map +0 -7
- package/dist/core/trace/trace-store.js +0 -345
- package/dist/core/trace/trace-store.js.map +0 -7
- package/dist/core/trace/types.js +0 -77
- package/dist/core/trace/types.js.map +0 -7
- package/dist/core/types.js +0 -5
- package/dist/core/types.js.map +0 -7
- package/dist/core/utils/async-mutex.js +0 -114
- package/dist/core/utils/async-mutex.js.map +0 -7
- package/dist/core/utils/compression.js +0 -83
- package/dist/core/utils/compression.js.map +0 -7
- package/dist/core/utils/update-checker.js +0 -218
- package/dist/core/utils/update-checker.js.map +0 -7
- package/dist/core/worktree/worktree-manager.js +0 -465
- package/dist/core/worktree/worktree-manager.js.map +0 -7
- package/dist/daemon/daemon-config.js +0 -149
- package/dist/daemon/daemon-config.js.map +0 -7
- package/dist/daemon/services/context-service.js +0 -122
- package/dist/daemon/services/context-service.js.map +0 -7
- package/dist/daemon/services/linear-service.js +0 -136
- package/dist/daemon/services/linear-service.js.map +0 -7
- package/dist/daemon/session-daemon.js +0 -312
- package/dist/daemon/session-daemon.js.map +0 -7
- package/dist/daemon/unified-daemon.js +0 -276
- package/dist/daemon/unified-daemon.js.map +0 -7
- package/dist/features/analytics/api/analytics-api.js +0 -287
- package/dist/features/analytics/api/analytics-api.js.map +0 -7
- package/dist/features/analytics/core/analytics-service.js +0 -282
- package/dist/features/analytics/core/analytics-service.js.map +0 -7
- package/dist/features/analytics/index.js +0 -18
- package/dist/features/analytics/index.js.map +0 -7
- package/dist/features/analytics/queries/metrics-queries.js +0 -277
- package/dist/features/analytics/queries/metrics-queries.js.map +0 -7
- package/dist/features/analytics/types/metrics.js +0 -5
- package/dist/features/analytics/types/metrics.js.map +0 -7
- package/dist/features/browser/browser-mcp.js +0 -492
- package/dist/features/browser/browser-mcp.js.map +0 -7
- package/dist/features/sweep/index.js +0 -20
- package/dist/features/sweep/index.js.map +0 -7
- package/dist/features/sweep/prediction-client.js +0 -155
- package/dist/features/sweep/prediction-client.js.map +0 -7
- package/dist/features/sweep/prompt-builder.js +0 -85
- package/dist/features/sweep/prompt-builder.js.map +0 -7
- package/dist/features/sweep/pty-wrapper.js +0 -171
- package/dist/features/sweep/pty-wrapper.js.map +0 -7
- package/dist/features/sweep/state-watcher.js +0 -87
- package/dist/features/sweep/state-watcher.js.map +0 -7
- package/dist/features/sweep/status-bar.js +0 -88
- package/dist/features/sweep/status-bar.js.map +0 -7
- package/dist/features/sweep/sweep-server-manager.js +0 -226
- package/dist/features/sweep/sweep-server-manager.js.map +0 -7
- package/dist/features/sweep/tab-interceptor.js +0 -38
- package/dist/features/sweep/tab-interceptor.js.map +0 -7
- package/dist/features/sweep/types.js +0 -18
- package/dist/features/sweep/types.js.map +0 -7
- package/dist/features/tasks/linear-task-manager.js +0 -487
- package/dist/features/tasks/linear-task-manager.js.map +0 -7
- package/dist/features/tasks/task-aware-context.js +0 -410
- package/dist/features/tasks/task-aware-context.js.map +0 -7
- package/dist/features/tui/simple-monitor.js +0 -116
- package/dist/features/tui/simple-monitor.js.map +0 -7
- package/dist/features/tui/swarm-monitor.js +0 -648
- package/dist/features/tui/swarm-monitor.js.map +0 -7
- package/dist/features/web/client/stores/task-store.js +0 -26
- package/dist/features/web/client/stores/task-store.js.map +0 -7
- package/dist/features/web/server/index.js +0 -194
- package/dist/features/web/server/index.js.map +0 -7
- package/dist/hooks/auto-background.js +0 -151
- package/dist/hooks/auto-background.js.map +0 -7
- package/dist/hooks/claude-code-whatsapp-hook.js +0 -197
- package/dist/hooks/claude-code-whatsapp-hook.js.map +0 -7
- package/dist/hooks/config.js +0 -150
- package/dist/hooks/config.js.map +0 -7
- package/dist/hooks/daemon.js +0 -364
- package/dist/hooks/daemon.js.map +0 -7
- package/dist/hooks/events.js +0 -58
- package/dist/hooks/events.js.map +0 -7
- package/dist/hooks/index.js +0 -12
- package/dist/hooks/index.js.map +0 -7
- package/dist/hooks/linear-task-picker.js +0 -186
- package/dist/hooks/linear-task-picker.js.map +0 -7
- package/dist/hooks/schemas.js +0 -197
- package/dist/hooks/schemas.js.map +0 -7
- package/dist/hooks/secure-fs.js +0 -49
- package/dist/hooks/secure-fs.js.map +0 -7
- package/dist/hooks/security-logger.js +0 -155
- package/dist/hooks/security-logger.js.map +0 -7
- package/dist/hooks/session-summary.js +0 -222
- package/dist/hooks/session-summary.js.map +0 -7
- package/dist/hooks/sms-action-runner.js +0 -371
- package/dist/hooks/sms-action-runner.js.map +0 -7
- package/dist/hooks/sms-notify.js +0 -506
- package/dist/hooks/sms-notify.js.map +0 -7
- package/dist/hooks/sms-watcher.js +0 -93
- package/dist/hooks/sms-watcher.js.map +0 -7
- package/dist/hooks/sms-webhook.js +0 -555
- package/dist/hooks/sms-webhook.js.map +0 -7
- package/dist/hooks/whatsapp-commands.js +0 -479
- package/dist/hooks/whatsapp-commands.js.map +0 -7
- package/dist/hooks/whatsapp-scheduler.js +0 -317
- package/dist/hooks/whatsapp-scheduler.js.map +0 -7
- package/dist/hooks/whatsapp-sync.js +0 -409
- package/dist/hooks/whatsapp-sync.js.map +0 -7
- package/dist/index.js +0 -25
- package/dist/index.js.map +0 -7
- package/dist/integrations/anthropic/client.js +0 -263
- package/dist/integrations/anthropic/client.js.map +0 -7
- package/dist/integrations/claude-code/agent-bridge.js +0 -768
- package/dist/integrations/claude-code/agent-bridge.js.map +0 -7
- package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js +0 -459
- package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +0 -7
- package/dist/integrations/claude-code/lifecycle-hooks.js +0 -254
- package/dist/integrations/claude-code/lifecycle-hooks.js.map +0 -7
- package/dist/integrations/claude-code/post-task-hooks.js +0 -545
- package/dist/integrations/claude-code/post-task-hooks.js.map +0 -7
- package/dist/integrations/claude-code/subagent-client-stub.js +0 -20
- package/dist/integrations/claude-code/subagent-client-stub.js.map +0 -7
- package/dist/integrations/claude-code/subagent-client.js +0 -511
- package/dist/integrations/claude-code/subagent-client.js.map +0 -7
- package/dist/integrations/claude-code/task-coordinator.js +0 -360
- package/dist/integrations/claude-code/task-coordinator.js.map +0 -7
- package/dist/integrations/linear/auth.js +0 -337
- package/dist/integrations/linear/auth.js.map +0 -7
- package/dist/integrations/linear/auto-sync.js +0 -258
- package/dist/integrations/linear/auto-sync.js.map +0 -7
- package/dist/integrations/linear/client.js +0 -634
- package/dist/integrations/linear/client.js.map +0 -7
- package/dist/integrations/linear/config.js +0 -130
- package/dist/integrations/linear/config.js.map +0 -7
- package/dist/integrations/linear/migration.js +0 -361
- package/dist/integrations/linear/migration.js.map +0 -7
- package/dist/integrations/linear/oauth-server.js +0 -454
- package/dist/integrations/linear/oauth-server.js.map +0 -7
- package/dist/integrations/linear/rest-client.js +0 -213
- package/dist/integrations/linear/rest-client.js.map +0 -7
- package/dist/integrations/linear/sync-manager.js +0 -236
- package/dist/integrations/linear/sync-manager.js.map +0 -7
- package/dist/integrations/linear/sync-service.js +0 -231
- package/dist/integrations/linear/sync-service.js.map +0 -7
- package/dist/integrations/linear/sync.js +0 -782
- package/dist/integrations/linear/sync.js.map +0 -7
- package/dist/integrations/linear/types.js +0 -5
- package/dist/integrations/linear/types.js.map +0 -7
- package/dist/integrations/linear/unified-sync.js +0 -589
- package/dist/integrations/linear/unified-sync.js.map +0 -7
- package/dist/integrations/linear/webhook-handler.js +0 -219
- package/dist/integrations/linear/webhook-handler.js.map +0 -7
- package/dist/integrations/linear/webhook-server.js +0 -218
- package/dist/integrations/linear/webhook-server.js.map +0 -7
- package/dist/integrations/linear/webhook.js +0 -291
- package/dist/integrations/linear/webhook.js.map +0 -7
- package/dist/integrations/mcp/handlers/code-execution-handlers.js +0 -266
- package/dist/integrations/mcp/handlers/code-execution-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/context-handlers.js +0 -257
- package/dist/integrations/mcp/handlers/context-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/discovery-handlers.js +0 -497
- package/dist/integrations/mcp/handlers/discovery-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/index.js +0 -166
- package/dist/integrations/mcp/handlers/index.js.map +0 -7
- package/dist/integrations/mcp/handlers/linear-handlers.js +0 -247
- package/dist/integrations/mcp/handlers/linear-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/skill-handlers.js +0 -529
- package/dist/integrations/mcp/handlers/skill-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/task-handlers.js +0 -239
- package/dist/integrations/mcp/handlers/task-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/trace-handlers.js +0 -308
- package/dist/integrations/mcp/handlers/trace-handlers.js.map +0 -7
- package/dist/integrations/mcp/index.js +0 -23
- package/dist/integrations/mcp/index.js.map +0 -7
- package/dist/integrations/mcp/middleware/tool-scoring.js +0 -356
- package/dist/integrations/mcp/middleware/tool-scoring.js.map +0 -7
- package/dist/integrations/mcp/refactored-server.js +0 -374
- package/dist/integrations/mcp/refactored-server.js.map +0 -7
- package/dist/integrations/mcp/remote-server.js +0 -682
- package/dist/integrations/mcp/remote-server.js.map +0 -7
- package/dist/integrations/mcp/schemas.js +0 -147
- package/dist/integrations/mcp/schemas.js.map +0 -7
- package/dist/integrations/mcp/server.js +0 -1975
- package/dist/integrations/mcp/server.js.map +0 -7
- package/dist/integrations/mcp/tool-definitions-code.js +0 -125
- package/dist/integrations/mcp/tool-definitions-code.js.map +0 -7
- package/dist/integrations/mcp/tool-definitions.js +0 -702
- package/dist/integrations/mcp/tool-definitions.js.map +0 -7
- package/dist/integrations/mcp/trace-test.js +0 -48
- package/dist/integrations/mcp/trace-test.js.map +0 -7
- package/dist/integrations/pg-aiguide/embedding-provider.js +0 -189
- package/dist/integrations/pg-aiguide/embedding-provider.js.map +0 -7
- package/dist/integrations/pg-aiguide/semantic-search.js +0 -187
- package/dist/integrations/pg-aiguide/semantic-search.js.map +0 -7
- package/dist/integrations/pg-aiguide/timescale-analytics.js +0 -224
- package/dist/integrations/pg-aiguide/timescale-analytics.js.map +0 -7
- package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js +0 -860
- package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +0 -7
- package/dist/integrations/ralph/context/context-budget-manager.js +0 -301
- package/dist/integrations/ralph/context/context-budget-manager.js.map +0 -7
- package/dist/integrations/ralph/context/stackmemory-context-loader.js +0 -360
- package/dist/integrations/ralph/context/stackmemory-context-loader.js.map +0 -7
- package/dist/integrations/ralph/coordination/enhanced-coordination.js +0 -410
- package/dist/integrations/ralph/coordination/enhanced-coordination.js.map +0 -7
- package/dist/integrations/ralph/index.js +0 -18
- package/dist/integrations/ralph/index.js.map +0 -7
- package/dist/integrations/ralph/learning/pattern-learner.js +0 -401
- package/dist/integrations/ralph/learning/pattern-learner.js.map +0 -7
- package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js +0 -448
- package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js.map +0 -7
- package/dist/integrations/ralph/monitoring/swarm-dashboard.js +0 -294
- package/dist/integrations/ralph/monitoring/swarm-dashboard.js.map +0 -7
- package/dist/integrations/ralph/monitoring/swarm-registry.js +0 -108
- package/dist/integrations/ralph/monitoring/swarm-registry.js.map +0 -7
- package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js +0 -463
- package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +0 -7
- package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js +0 -400
- package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js.map +0 -7
- package/dist/integrations/ralph/patterns/extended-coherence-sessions.js +0 -473
- package/dist/integrations/ralph/patterns/extended-coherence-sessions.js.map +0 -7
- package/dist/integrations/ralph/patterns/oracle-worker-pattern.js +0 -388
- package/dist/integrations/ralph/patterns/oracle-worker-pattern.js.map +0 -7
- package/dist/integrations/ralph/performance/performance-optimizer.js +0 -358
- package/dist/integrations/ralph/performance/performance-optimizer.js.map +0 -7
- package/dist/integrations/ralph/ralph-integration-demo.js +0 -182
- package/dist/integrations/ralph/ralph-integration-demo.js.map +0 -7
- package/dist/integrations/ralph/recovery/crash-recovery.js +0 -462
- package/dist/integrations/ralph/recovery/crash-recovery.js.map +0 -7
- package/dist/integrations/ralph/state/state-reconciler.js +0 -404
- package/dist/integrations/ralph/state/state-reconciler.js.map +0 -7
- package/dist/integrations/ralph/swarm/git-workflow-manager.js +0 -428
- package/dist/integrations/ralph/swarm/git-workflow-manager.js.map +0 -7
- package/dist/integrations/ralph/swarm/swarm-coordinator.js +0 -996
- package/dist/integrations/ralph/swarm/swarm-coordinator.js.map +0 -7
- package/dist/integrations/ralph/types.js +0 -5
- package/dist/integrations/ralph/types.js.map +0 -7
- package/dist/integrations/ralph/visualization/ralph-debugger.js +0 -585
- package/dist/integrations/ralph/visualization/ralph-debugger.js.map +0 -7
- package/dist/mcp/stackmemory-mcp-server.js +0 -554
- package/dist/mcp/stackmemory-mcp-server.js.map +0 -7
- package/dist/middleware/exponential-rate-limiter.js +0 -289
- package/dist/middleware/exponential-rate-limiter.js.map +0 -7
- package/dist/models/user.model.js +0 -358
- package/dist/models/user.model.js.map +0 -7
- package/dist/servers/production/auth-middleware.js +0 -528
- package/dist/servers/production/auth-middleware.js.map +0 -7
- package/dist/servers/railway/config.js +0 -55
- package/dist/servers/railway/config.js.map +0 -7
- package/dist/servers/railway/index-enhanced.js +0 -160
- package/dist/servers/railway/index-enhanced.js.map +0 -7
- package/dist/servers/railway/index.js +0 -1349
- package/dist/servers/railway/index.js.map +0 -7
- package/dist/servers/railway/simple.js +0 -64
- package/dist/servers/railway/simple.js.map +0 -7
- package/dist/servers/railway/storage-test.js +0 -459
- package/dist/servers/railway/storage-test.js.map +0 -7
- package/dist/services/config-service.js +0 -65
- package/dist/services/config-service.js.map +0 -7
- package/dist/services/context-service.js +0 -194
- package/dist/services/context-service.js.map +0 -7
- package/dist/skills/api-discovery.js +0 -354
- package/dist/skills/api-discovery.js.map +0 -7
- package/dist/skills/api-skill.js +0 -475
- package/dist/skills/api-skill.js.map +0 -7
- package/dist/skills/claude-skills.js +0 -1061
- package/dist/skills/claude-skills.js.map +0 -7
- package/dist/skills/dashboard-launcher.js +0 -216
- package/dist/skills/dashboard-launcher.js.map +0 -7
- package/dist/skills/recursive-agent-orchestrator.js +0 -575
- package/dist/skills/recursive-agent-orchestrator.js.map +0 -7
- package/dist/skills/repo-ingestion-skill.js +0 -609
- package/dist/skills/repo-ingestion-skill.js.map +0 -7
- package/dist/skills/security-secrets-scanner.js +0 -284
- package/dist/skills/security-secrets-scanner.js.map +0 -7
- package/dist/skills/unified-rlm-orchestrator.js +0 -404
- package/dist/skills/unified-rlm-orchestrator.js.map +0 -7
- package/dist/types/task.js +0 -5
- package/dist/types/task.js.map +0 -7
- package/dist/utils/env.js +0 -50
- package/dist/utils/env.js.map +0 -7
- package/dist/utils/formatting.js +0 -62
- package/dist/utils/formatting.js.map +0 -7
- package/dist/utils/process-cleanup.js +0 -136
- package/dist/utils/process-cleanup.js.map +0 -7
- package/dist/validation/schemas.js +0 -222
- package/dist/validation/schemas.js.map +0 -7
- /package/dist/{core/merge → src/core/extensions}/types.js +0 -0
- /package/dist/{core/merge → src/core/extensions}/types.js.map +0 -0
|
@@ -1,374 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
-
import { dirname as __pathDirname } from 'path';
|
|
4
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
5
|
-
const __dirname = __pathDirname(__filename);
|
|
6
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
7
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
8
|
-
import { z } from "zod";
|
|
9
|
-
import Database from "better-sqlite3";
|
|
10
|
-
import { existsSync, mkdirSync } from "fs";
|
|
11
|
-
import { join, dirname } from "path";
|
|
12
|
-
import { execSync } from "child_process";
|
|
13
|
-
import { v4 as uuidv4 } from "uuid";
|
|
14
|
-
import { RefactoredFrameManager } from "../../core/context/refactored-frame-manager.js";
|
|
15
|
-
import { LinearTaskManager } from "../../features/tasks/linear-task-manager.js";
|
|
16
|
-
import { LinearAuthManager } from "../linear/auth.js";
|
|
17
|
-
import { LinearSyncEngine, DEFAULT_SYNC_CONFIG } from "../linear/sync.js";
|
|
18
|
-
import { BrowserMCPIntegration } from "../../features/browser/browser-mcp.js";
|
|
19
|
-
import { TraceDetector } from "../../core/trace/trace-detector.js";
|
|
20
|
-
import { LLMContextRetrieval } from "../../core/retrieval/index.js";
|
|
21
|
-
import { ConfigManager } from "../../core/config/config-manager.js";
|
|
22
|
-
import { logger } from "../../core/monitoring/logger.js";
|
|
23
|
-
import { MCPHandlerFactory } from "./handlers/index.js";
|
|
24
|
-
import { MCPToolDefinitions } from "./tool-definitions.js";
|
|
25
|
-
import { ToolScoringMiddleware } from "./middleware/tool-scoring.js";
|
|
26
|
-
function getEnv(key, defaultValue) {
|
|
27
|
-
const value = process.env[key];
|
|
28
|
-
if (value === void 0) {
|
|
29
|
-
if (defaultValue !== void 0) return defaultValue;
|
|
30
|
-
throw new Error(`Environment variable ${key} is required`);
|
|
31
|
-
}
|
|
32
|
-
return value;
|
|
33
|
-
}
|
|
34
|
-
function getOptionalEnv(key) {
|
|
35
|
-
return process.env[key];
|
|
36
|
-
}
|
|
37
|
-
class RefactoredStackMemoryMCP {
|
|
38
|
-
server;
|
|
39
|
-
db;
|
|
40
|
-
projectRoot;
|
|
41
|
-
projectId;
|
|
42
|
-
// Core components
|
|
43
|
-
frameManager;
|
|
44
|
-
taskStore;
|
|
45
|
-
linearAuthManager;
|
|
46
|
-
linearSync;
|
|
47
|
-
browserMCP;
|
|
48
|
-
traceDetector;
|
|
49
|
-
contextRetrieval;
|
|
50
|
-
configManager;
|
|
51
|
-
toolScoringMiddleware;
|
|
52
|
-
// Handler factory
|
|
53
|
-
handlerFactory;
|
|
54
|
-
toolDefinitions;
|
|
55
|
-
constructor(config = {}) {
|
|
56
|
-
this.projectRoot = this.findProjectRoot();
|
|
57
|
-
this.projectId = this.getProjectId();
|
|
58
|
-
this.initializeDatabase();
|
|
59
|
-
this.initializeComponents(config);
|
|
60
|
-
this.initializeServer();
|
|
61
|
-
this.setupHandlers();
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Initialize database connection
|
|
65
|
-
*/
|
|
66
|
-
initializeDatabase() {
|
|
67
|
-
const dbDir = join(this.projectRoot, ".stackmemory");
|
|
68
|
-
if (!existsSync(dbDir)) {
|
|
69
|
-
mkdirSync(dbDir, { recursive: true });
|
|
70
|
-
}
|
|
71
|
-
const dbPath = join(dbDir, "context.db");
|
|
72
|
-
this.db = new Database(dbPath);
|
|
73
|
-
logger.info("Database initialized", { dbPath });
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Initialize core components
|
|
77
|
-
*/
|
|
78
|
-
initializeComponents(config) {
|
|
79
|
-
const configPath = join(this.projectRoot, ".stackmemory", "config.yaml");
|
|
80
|
-
this.configManager = new ConfigManager(configPath);
|
|
81
|
-
this.frameManager = new RefactoredFrameManager(this.db, this.projectId);
|
|
82
|
-
this.taskStore = new LinearTaskManager(this.projectRoot, this.db);
|
|
83
|
-
this.linearAuthManager = new LinearAuthManager(this.projectRoot);
|
|
84
|
-
this.linearSync = new LinearSyncEngine(
|
|
85
|
-
this.taskStore,
|
|
86
|
-
this.linearAuthManager,
|
|
87
|
-
DEFAULT_SYNC_CONFIG
|
|
88
|
-
);
|
|
89
|
-
if (config.enableBrowser !== false) {
|
|
90
|
-
this.browserMCP = new BrowserMCPIntegration({
|
|
91
|
-
headless: config.headless ?? process.env["BROWSER_HEADLESS"] !== "false",
|
|
92
|
-
defaultViewport: {
|
|
93
|
-
width: config.viewportWidth ?? 1280,
|
|
94
|
-
height: config.viewportHeight ?? 720
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
if (config.enableTracing !== false) {
|
|
99
|
-
this.traceDetector = new TraceDetector({}, this.configManager, this.db);
|
|
100
|
-
}
|
|
101
|
-
this.toolScoringMiddleware = new ToolScoringMiddleware(
|
|
102
|
-
this.configManager,
|
|
103
|
-
this.traceDetector,
|
|
104
|
-
this.db
|
|
105
|
-
);
|
|
106
|
-
this.contextRetrieval = new LLMContextRetrieval(
|
|
107
|
-
this.db,
|
|
108
|
-
this.frameManager,
|
|
109
|
-
this.projectId,
|
|
110
|
-
{}
|
|
111
|
-
);
|
|
112
|
-
logger.info("Core components initialized");
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Initialize MCP server
|
|
116
|
-
*/
|
|
117
|
-
initializeServer() {
|
|
118
|
-
this.server = new Server(
|
|
119
|
-
{
|
|
120
|
-
name: "stackmemory-refactored",
|
|
121
|
-
version: "0.2.0"
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
capabilities: {
|
|
125
|
-
tools: {}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
);
|
|
129
|
-
logger.info("MCP server initialized");
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Setup MCP handlers
|
|
133
|
-
*/
|
|
134
|
-
setupHandlers() {
|
|
135
|
-
const dependencies = {
|
|
136
|
-
frameManager: this.frameManager,
|
|
137
|
-
contextRetrieval: this.contextRetrieval,
|
|
138
|
-
taskStore: this.taskStore,
|
|
139
|
-
projectId: this.projectId,
|
|
140
|
-
linearAuthManager: this.linearAuthManager,
|
|
141
|
-
linearSync: this.linearSync,
|
|
142
|
-
traceDetector: this.traceDetector,
|
|
143
|
-
browserMCP: this.browserMCP
|
|
144
|
-
};
|
|
145
|
-
this.handlerFactory = new MCPHandlerFactory(dependencies);
|
|
146
|
-
this.toolDefinitions = new MCPToolDefinitions();
|
|
147
|
-
this.setupToolListHandler();
|
|
148
|
-
this.setupToolExecutionHandler();
|
|
149
|
-
logger.info("MCP handlers configured");
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Setup tool listing handler
|
|
153
|
-
*/
|
|
154
|
-
setupToolListHandler() {
|
|
155
|
-
this.server.setRequestHandler(
|
|
156
|
-
z.object({
|
|
157
|
-
method: z.literal("tools/list")
|
|
158
|
-
}),
|
|
159
|
-
async () => {
|
|
160
|
-
const tools = this.toolDefinitions.getAllToolDefinitions();
|
|
161
|
-
logger.debug("Listed tools", { count: tools.length });
|
|
162
|
-
return { tools };
|
|
163
|
-
}
|
|
164
|
-
);
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Setup tool execution handler
|
|
168
|
-
*/
|
|
169
|
-
setupToolExecutionHandler() {
|
|
170
|
-
this.server.setRequestHandler(
|
|
171
|
-
z.object({
|
|
172
|
-
method: z.literal("tools/call"),
|
|
173
|
-
params: z.object({
|
|
174
|
-
name: z.string(),
|
|
175
|
-
arguments: z.record(z.unknown())
|
|
176
|
-
})
|
|
177
|
-
}),
|
|
178
|
-
async (request) => {
|
|
179
|
-
const { name, arguments: args } = request.params;
|
|
180
|
-
const callId = uuidv4();
|
|
181
|
-
const startTime = Date.now();
|
|
182
|
-
logger.info("Tool call started", { toolName: name, callId });
|
|
183
|
-
try {
|
|
184
|
-
const currentFrameId = this.frameManager.getCurrentFrameId();
|
|
185
|
-
if (currentFrameId) {
|
|
186
|
-
this.frameManager.addEvent("tool_call", {
|
|
187
|
-
tool_name: name,
|
|
188
|
-
arguments: args,
|
|
189
|
-
timestamp: startTime,
|
|
190
|
-
call_id: callId
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
if (!this.handlerFactory.hasHandler(name)) {
|
|
194
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
195
|
-
}
|
|
196
|
-
const handler = this.handlerFactory.getHandler(name);
|
|
197
|
-
const result = await handler(args);
|
|
198
|
-
const duration = Date.now() - startTime;
|
|
199
|
-
const score = await this.toolScoringMiddleware.scoreToolCall(
|
|
200
|
-
name,
|
|
201
|
-
args,
|
|
202
|
-
result,
|
|
203
|
-
void 0
|
|
204
|
-
// no error
|
|
205
|
-
);
|
|
206
|
-
if (currentFrameId) {
|
|
207
|
-
this.frameManager.addEvent("tool_result", {
|
|
208
|
-
tool_name: name,
|
|
209
|
-
call_id: callId,
|
|
210
|
-
duration,
|
|
211
|
-
success: true,
|
|
212
|
-
result_size: JSON.stringify(result).length,
|
|
213
|
-
importance_score: score,
|
|
214
|
-
profile: this.configManager.getConfig().profile || "default"
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
if (this.traceDetector) {
|
|
218
|
-
this.traceDetector.addToolCall({
|
|
219
|
-
id: callId,
|
|
220
|
-
tool: name,
|
|
221
|
-
arguments: args,
|
|
222
|
-
timestamp: startTime,
|
|
223
|
-
result,
|
|
224
|
-
duration
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
logger.info("Tool call completed", {
|
|
228
|
-
toolName: name,
|
|
229
|
-
callId,
|
|
230
|
-
duration
|
|
231
|
-
});
|
|
232
|
-
return result;
|
|
233
|
-
} catch (error) {
|
|
234
|
-
const duration = Date.now() - startTime;
|
|
235
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
236
|
-
const score = await this.toolScoringMiddleware.scoreToolCall(
|
|
237
|
-
name,
|
|
238
|
-
args,
|
|
239
|
-
void 0,
|
|
240
|
-
errorMessage
|
|
241
|
-
);
|
|
242
|
-
const currentFrameId = this.frameManager.getCurrentFrameId();
|
|
243
|
-
if (currentFrameId) {
|
|
244
|
-
this.frameManager.addEvent("tool_result", {
|
|
245
|
-
tool_name: name,
|
|
246
|
-
call_id: callId,
|
|
247
|
-
duration,
|
|
248
|
-
success: false,
|
|
249
|
-
error: errorMessage,
|
|
250
|
-
importance_score: score,
|
|
251
|
-
profile: this.configManager.getConfig().profile || "default"
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
logger.error("Tool call failed", {
|
|
255
|
-
toolName: name,
|
|
256
|
-
callId,
|
|
257
|
-
duration,
|
|
258
|
-
error: errorMessage
|
|
259
|
-
});
|
|
260
|
-
return {
|
|
261
|
-
content: [
|
|
262
|
-
{
|
|
263
|
-
type: "text",
|
|
264
|
-
text: `Error executing ${name}: ${errorMessage}`
|
|
265
|
-
}
|
|
266
|
-
],
|
|
267
|
-
isError: true
|
|
268
|
-
};
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
);
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Start the MCP server
|
|
275
|
-
*/
|
|
276
|
-
async start() {
|
|
277
|
-
try {
|
|
278
|
-
await this.frameManager.initialize();
|
|
279
|
-
const transport = new StdioServerTransport();
|
|
280
|
-
await this.server.connect(transport);
|
|
281
|
-
logger.info("StackMemory MCP Server started", {
|
|
282
|
-
projectRoot: this.projectRoot,
|
|
283
|
-
projectId: this.projectId,
|
|
284
|
-
availableTools: this.handlerFactory.getAvailableTools().length
|
|
285
|
-
});
|
|
286
|
-
this.setupCleanup();
|
|
287
|
-
} catch (error) {
|
|
288
|
-
logger.error("Failed to start MCP server", error instanceof Error ? error : new Error(String(error)));
|
|
289
|
-
throw error;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Setup cleanup handlers
|
|
294
|
-
*/
|
|
295
|
-
setupCleanup() {
|
|
296
|
-
const cleanup = async () => {
|
|
297
|
-
logger.info("Shutting down MCP server...");
|
|
298
|
-
try {
|
|
299
|
-
if (this.browserMCP) {
|
|
300
|
-
await this.browserMCP.cleanup();
|
|
301
|
-
}
|
|
302
|
-
if (this.db) {
|
|
303
|
-
this.db.close();
|
|
304
|
-
}
|
|
305
|
-
logger.info("MCP server shutdown complete");
|
|
306
|
-
} catch (error) {
|
|
307
|
-
logger.error("Error during cleanup", error instanceof Error ? error : new Error(String(error)));
|
|
308
|
-
}
|
|
309
|
-
process.exit(0);
|
|
310
|
-
};
|
|
311
|
-
process.on("SIGINT", cleanup);
|
|
312
|
-
process.on("SIGTERM", cleanup);
|
|
313
|
-
process.on("uncaughtException", (error) => {
|
|
314
|
-
logger.error("Uncaught exception", error instanceof Error ? error : new Error(String(error)));
|
|
315
|
-
cleanup();
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Find project root directory
|
|
320
|
-
*/
|
|
321
|
-
findProjectRoot() {
|
|
322
|
-
let currentDir = process.cwd();
|
|
323
|
-
const rootDir = "/";
|
|
324
|
-
while (currentDir !== rootDir) {
|
|
325
|
-
if (existsSync(join(currentDir, ".git"))) {
|
|
326
|
-
return currentDir;
|
|
327
|
-
}
|
|
328
|
-
currentDir = dirname(currentDir);
|
|
329
|
-
}
|
|
330
|
-
return process.cwd();
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Get project ID from git remote or directory name
|
|
334
|
-
*/
|
|
335
|
-
getProjectId() {
|
|
336
|
-
try {
|
|
337
|
-
const remoteUrl = execSync("git remote get-url origin", {
|
|
338
|
-
cwd: this.projectRoot,
|
|
339
|
-
encoding: "utf8"
|
|
340
|
-
}).trim();
|
|
341
|
-
const match = remoteUrl.match(/([^/]+\/[^/]+)(?:\.git)?$/);
|
|
342
|
-
if (match) {
|
|
343
|
-
return match[1];
|
|
344
|
-
}
|
|
345
|
-
} catch (error) {
|
|
346
|
-
logger.debug("Could not get git remote URL", error);
|
|
347
|
-
}
|
|
348
|
-
return this.projectRoot.split("/").pop() || "unknown";
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
async function main() {
|
|
352
|
-
try {
|
|
353
|
-
const config = {
|
|
354
|
-
headless: process.env["BROWSER_HEADLESS"] !== "false",
|
|
355
|
-
enableTracing: process.env["DISABLE_TRACING"] !== "true",
|
|
356
|
-
enableBrowser: process.env["DISABLE_BROWSER"] !== "true"
|
|
357
|
-
};
|
|
358
|
-
const server = new RefactoredStackMemoryMCP(config);
|
|
359
|
-
await server.start();
|
|
360
|
-
} catch (error) {
|
|
361
|
-
logger.error("Failed to start server", error instanceof Error ? error : new Error(String(error)));
|
|
362
|
-
process.exit(1);
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
366
|
-
main().catch((error) => {
|
|
367
|
-
console.error("Fatal error:", error);
|
|
368
|
-
process.exit(1);
|
|
369
|
-
});
|
|
370
|
-
}
|
|
371
|
-
export {
|
|
372
|
-
RefactoredStackMemoryMCP
|
|
373
|
-
};
|
|
374
|
-
//# sourceMappingURL=refactored-server.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/integrations/mcp/refactored-server.ts"],
|
|
4
|
-
"sourcesContent": ["#!/usr/bin/env node\n/**\n * Refactored StackMemory MCP Server - Modular Implementation\n * Clean, maintainable MCP server using focused handler modules\n */\n\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { z } from 'zod';\nimport Database from 'better-sqlite3';\nimport { readFileSync, existsSync, mkdirSync } from 'fs';\nimport { join, dirname } from 'path';\nimport { execSync } from 'child_process';\nimport { v4 as uuidv4 } from 'uuid';\n\n// Core components\nimport { RefactoredFrameManager } from '../../core/context/refactored-frame-manager.js';\nimport { LinearTaskManager } from '../../features/tasks/linear-task-manager.js';\nimport { LinearAuthManager } from '../linear/auth.js';\nimport { LinearSyncEngine, DEFAULT_SYNC_CONFIG } from '../linear/sync.js';\nimport { BrowserMCPIntegration } from '../../features/browser/browser-mcp.js';\nimport { TraceDetector } from '../../core/trace/trace-detector.js';\nimport { LLMContextRetrieval } from '../../core/retrieval/index.js';\nimport { ConfigManager } from '../../core/config/config-manager.js';\nimport { logger } from '../../core/monitoring/logger.js';\n\n// Handler modules\nimport { MCPHandlerFactory, MCPHandlerDependencies } from './handlers/index.js';\nimport { MCPToolDefinitions } from './tool-definitions.js';\nimport { ToolScoringMiddleware } from './middleware/tool-scoring.js';\n// Type-safe environment variable access\nfunction getEnv(key: string, defaultValue?: string): string {\n const value = process.env[key];\n if (value === undefined) {\n if (defaultValue !== undefined) return defaultValue;\n throw new Error(`Environment variable ${key} is required`);\n }\n return value;\n}\n\nfunction getOptionalEnv(key: string): string | undefined {\n return process.env[key];\n}\n\n\n/**\n * Configuration for MCP server\n */\ninterface MCPServerConfig {\n headless?: boolean;\n viewportWidth?: number;\n viewportHeight?: number;\n enableTracing?: boolean;\n enableBrowser?: boolean;\n}\n\n/**\n * Refactored StackMemory MCP Server\n */\nclass RefactoredStackMemoryMCP {\n private server!: Server;\n private db!: Database.Database;\n private projectRoot: string;\n private projectId: string;\n \n // Core components\n private frameManager!: RefactoredFrameManager;\n private taskStore!: LinearTaskManager;\n private linearAuthManager!: LinearAuthManager;\n private linearSync!: LinearSyncEngine;\n private browserMCP!: BrowserMCPIntegration;\n private traceDetector!: TraceDetector;\n private contextRetrieval!: LLMContextRetrieval;\n private configManager!: ConfigManager;\n private toolScoringMiddleware!: ToolScoringMiddleware;\n \n // Handler factory\n private handlerFactory!: MCPHandlerFactory;\n private toolDefinitions!: MCPToolDefinitions;\n\n constructor(config: MCPServerConfig = {}) {\n this.projectRoot = this.findProjectRoot();\n this.projectId = this.getProjectId();\n \n this.initializeDatabase();\n this.initializeComponents(config);\n this.initializeServer();\n this.setupHandlers();\n }\n\n /**\n * Initialize database connection\n */\n private initializeDatabase(): void {\n const dbDir = join(this.projectRoot, '.stackmemory');\n if (!existsSync(dbDir)) {\n mkdirSync(dbDir, { recursive: true });\n }\n\n const dbPath = join(dbDir, 'context.db');\n this.db = new Database(dbPath);\n \n logger.info('Database initialized', { dbPath });\n }\n\n /**\n * Initialize core components\n */\n private initializeComponents(config: MCPServerConfig): void {\n // Configuration manager\n const configPath = join(this.projectRoot, '.stackmemory', 'config.yaml');\n this.configManager = new ConfigManager(configPath);\n\n // Frame manager\n this.frameManager = new RefactoredFrameManager(this.db, this.projectId);\n\n // Task store\n this.taskStore = new LinearTaskManager(this.projectRoot, this.db);\n\n // Linear integration\n this.linearAuthManager = new LinearAuthManager(this.projectRoot);\n this.linearSync = new LinearSyncEngine(\n this.taskStore,\n this.linearAuthManager,\n DEFAULT_SYNC_CONFIG\n );\n\n // Browser integration (if enabled)\n if (config.enableBrowser !== false) {\n this.browserMCP = new BrowserMCPIntegration({\n headless: config.headless ?? process.env['BROWSER_HEADLESS'] !== 'false',\n defaultViewport: { \n width: config.viewportWidth ?? 1280, \n height: config.viewportHeight ?? 720 \n },\n });\n }\n\n // Trace detector with ConfigManager (if enabled)\n if (config.enableTracing !== false) {\n this.traceDetector = new TraceDetector({}, this.configManager, this.db);\n }\n\n // Tool scoring middleware\n this.toolScoringMiddleware = new ToolScoringMiddleware(\n this.configManager,\n this.traceDetector,\n this.db\n );\n\n // Context retrieval\n this.contextRetrieval = new LLMContextRetrieval(\n this.db,\n this.frameManager as any,\n this.projectId,\n {}\n );\n\n logger.info('Core components initialized');\n }\n\n /**\n * Initialize MCP server\n */\n private initializeServer(): void {\n this.server = new Server(\n {\n name: 'stackmemory-refactored',\n version: '0.2.0',\n },\n {\n capabilities: {\n tools: {},\n },\n }\n );\n\n logger.info('MCP server initialized');\n }\n\n /**\n * Setup MCP handlers\n */\n private setupHandlers(): void {\n // Create handler factory with dependencies\n const dependencies: MCPHandlerDependencies = {\n frameManager: this.frameManager as any,\n contextRetrieval: this.contextRetrieval,\n taskStore: this.taskStore,\n projectId: this.projectId,\n linearAuthManager: this.linearAuthManager,\n linearSync: this.linearSync,\n traceDetector: this.traceDetector,\n browserMCP: this.browserMCP,\n };\n\n this.handlerFactory = new MCPHandlerFactory(dependencies);\n this.toolDefinitions = new MCPToolDefinitions();\n\n // Setup tool listing handler\n this.setupToolListHandler();\n \n // Setup tool execution handler\n this.setupToolExecutionHandler();\n\n logger.info('MCP handlers configured');\n }\n\n /**\n * Setup tool listing handler\n */\n private setupToolListHandler(): void {\n this.server.setRequestHandler(\n z.object({\n method: z.literal('tools/list'),\n }),\n async () => {\n const tools = this.toolDefinitions.getAllToolDefinitions();\n \n logger.debug('Listed tools', { count: tools.length });\n \n return { tools };\n }\n );\n }\n\n /**\n * Setup tool execution handler\n */\n private setupToolExecutionHandler(): void {\n this.server.setRequestHandler(\n z.object({\n method: z.literal('tools/call'),\n params: z.object({\n name: z.string(),\n arguments: z.record(z.unknown()),\n }),\n }),\n async (request) => {\n const { name, arguments: args } = request.params;\n const callId = uuidv4();\n const startTime = Date.now();\n\n logger.info('Tool call started', { toolName: name, callId });\n\n try {\n // Log tool call event\n const currentFrameId = this.frameManager.getCurrentFrameId();\n if (currentFrameId) {\n this.frameManager.addEvent('tool_call', {\n tool_name: name,\n arguments: args,\n timestamp: startTime,\n call_id: callId,\n });\n }\n\n // Check if handler exists\n if (!this.handlerFactory.hasHandler(name)) {\n throw new Error(`Unknown tool: ${name}`);\n }\n\n // Execute tool handler\n const handler = this.handlerFactory.getHandler(name);\n const result = await handler(args);\n\n const duration = Date.now() - startTime;\n\n // Score the tool call using current profile\n const score = await this.toolScoringMiddleware.scoreToolCall(\n name,\n args,\n result,\n undefined // no error\n );\n\n // Log tool result event with score\n if (currentFrameId) {\n this.frameManager.addEvent('tool_result', {\n tool_name: name,\n call_id: callId,\n duration,\n success: true,\n result_size: JSON.stringify(result).length,\n importance_score: score,\n profile: this.configManager.getConfig().profile || 'default',\n });\n }\n\n // Update trace detector\n if (this.traceDetector) {\n this.traceDetector.addToolCall({\n id: callId,\n tool: name,\n arguments: args,\n timestamp: startTime,\n result,\n duration,\n });\n }\n\n logger.info('Tool call completed', { \n toolName: name, \n callId, \n duration \n });\n\n return result;\n\n } catch (error: unknown) {\n const duration = Date.now() - startTime;\n const errorMessage = error instanceof Error ? error.message : String(error);\n\n // Score the failed tool call\n const score = await this.toolScoringMiddleware.scoreToolCall(\n name,\n args,\n undefined,\n errorMessage\n );\n\n // Log error event with score\n const currentFrameId = this.frameManager.getCurrentFrameId();\n if (currentFrameId) {\n this.frameManager.addEvent('tool_result', {\n tool_name: name,\n call_id: callId,\n duration,\n success: false,\n error: errorMessage,\n importance_score: score,\n profile: this.configManager.getConfig().profile || 'default',\n });\n }\n\n logger.error('Tool call failed', { \n toolName: name, \n callId, \n duration, \n error: errorMessage \n });\n\n return {\n content: [\n {\n type: 'text',\n text: `Error executing ${name}: ${errorMessage}`,\n },\n ],\n isError: true,\n };\n }\n }\n );\n }\n\n /**\n * Start the MCP server\n */\n async start(): Promise<void> {\n try {\n // Initialize components\n await this.frameManager.initialize();\n\n // Start server\n const transport = new StdioServerTransport();\n await this.server.connect(transport);\n\n logger.info('StackMemory MCP Server started', {\n projectRoot: this.projectRoot,\n projectId: this.projectId,\n availableTools: this.handlerFactory.getAvailableTools().length,\n });\n\n // Setup cleanup handlers\n this.setupCleanup();\n\n } catch (error: unknown) {\n logger.error('Failed to start MCP server', error instanceof Error ? error : new Error(String(error)));\n throw error;\n }\n }\n\n /**\n * Setup cleanup handlers\n */\n private setupCleanup(): void {\n const cleanup = async () => {\n logger.info('Shutting down MCP server...');\n \n try {\n if (this.browserMCP) {\n await this.browserMCP.cleanup();\n }\n \n if (this.db) {\n this.db.close();\n }\n \n logger.info('MCP server shutdown complete');\n } catch (error: unknown) {\n logger.error('Error during cleanup', error instanceof Error ? error : new Error(String(error)));\n }\n \n process.exit(0);\n };\n\n process.on('SIGINT', cleanup);\n process.on('SIGTERM', cleanup);\n process.on('uncaughtException', (error) => {\n logger.error('Uncaught exception', error instanceof Error ? error : new Error(String(error)));\n cleanup();\n });\n }\n\n /**\n * Find project root directory\n */\n private findProjectRoot(): string {\n let currentDir = process.cwd();\n const rootDir = '/';\n\n while (currentDir !== rootDir) {\n if (existsSync(join(currentDir, '.git'))) {\n return currentDir;\n }\n currentDir = dirname(currentDir);\n }\n\n return process.cwd();\n }\n\n /**\n * Get project ID from git remote or directory name\n */\n private getProjectId(): string {\n try {\n const remoteUrl = execSync('git remote get-url origin', { \n cwd: this.projectRoot, \n encoding: 'utf8' \n }).trim();\n \n const match = remoteUrl.match(/([^/]+\\/[^/]+)(?:\\.git)?$/);\n if (match) {\n return match[1];\n }\n } catch (error: unknown) {\n logger.debug('Could not get git remote URL', error);\n }\n\n return this.projectRoot.split('/').pop() || 'unknown';\n }\n}\n\n/**\n * Main entry point\n */\nasync function main(): Promise<void> {\n try {\n const config: MCPServerConfig = {\n headless: process.env['BROWSER_HEADLESS'] !== 'false',\n enableTracing: process.env['DISABLE_TRACING'] !== 'true',\n enableBrowser: process.env['DISABLE_BROWSER'] !== 'true',\n };\n\n const server = new RefactoredStackMemoryMCP(config);\n await server.start();\n\n } catch (error: unknown) {\n logger.error('Failed to start server', error instanceof Error ? error : new Error(String(error)));\n process.exit(1);\n }\n}\n\n// Run if this is the main module\nif (import.meta.url === `file://${process.argv[1]}`) {\n main().catch((error) => {\n console.error('Fatal error:', error);\n process.exit(1);\n });\n}\n\nexport { RefactoredStackMemoryMCP };"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|