@stackmemoryai/stackmemory 0.5.58 → 0.5.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/search.js +20 -3
- package/dist/cli/commands/search.js.map +2 -2
- package/dist/core/database/sqlite-adapter.js +13 -3
- package/dist/core/database/sqlite-adapter.js.map +2 -2
- package/dist/core/errors/error-utils.js +208 -0
- package/dist/core/errors/error-utils.js.map +7 -0
- package/dist/core/errors/index.js +13 -4
- package/dist/core/errors/index.js.map +2 -2
- package/dist/core/merge/unified-merge-resolver.js +303 -0
- package/dist/core/merge/unified-merge-resolver.js.map +7 -0
- package/dist/core/monitoring/logger.js +61 -9
- package/dist/core/monitoring/logger.js.map +2 -2
- package/dist/core/security/index.js +35 -0
- package/dist/core/security/index.js.map +7 -0
- package/dist/core/security/input-sanitizer.js +321 -0
- package/dist/core/security/input-sanitizer.js.map +7 -0
- package/dist/integrations/linear/client.js +5 -1
- package/dist/integrations/linear/client.js.map +2 -2
- package/dist/integrations/mcp/remote-server.js +27 -36
- package/dist/integrations/mcp/remote-server.js.map +2 -2
- package/dist/integrations/mcp/server.js +44 -29
- package/dist/integrations/mcp/server.js.map +3 -3
- package/dist/scripts/benchmark-performance.js +48 -0
- package/dist/scripts/benchmark-performance.js.map +7 -0
- package/dist/scripts/check-redis.js +42 -0
- package/dist/scripts/check-redis.js.map +7 -0
- package/dist/scripts/initialize.js +116 -0
- package/dist/scripts/initialize.js.map +7 -0
- package/dist/scripts/list-linear-tasks.js +124 -0
- package/dist/scripts/list-linear-tasks.js.map +7 -0
- package/dist/scripts/measure-handoff-impact.js +340 -0
- package/dist/scripts/measure-handoff-impact.js.map +7 -0
- package/dist/scripts/query-chromadb.js +160 -0
- package/dist/scripts/query-chromadb.js.map +7 -0
- package/dist/scripts/show-linear-summary.js +119 -0
- package/dist/scripts/show-linear-summary.js.map +7 -0
- package/dist/scripts/simple-swarm-demo.js +90 -0
- package/dist/scripts/simple-swarm-demo.js.map +7 -0
- package/dist/scripts/status.js +155 -0
- package/dist/scripts/status.js.map +7 -0
- package/dist/scripts/test-chromadb-sync.js +192 -0
- package/dist/scripts/test-chromadb-sync.js.map +7 -0
- package/dist/scripts/test-ralph-iteration-fix.js +86 -0
- package/dist/scripts/test-ralph-iteration-fix.js.map +7 -0
- package/dist/scripts/test-ralph-iterations.js +121 -0
- package/dist/scripts/test-ralph-iterations.js.map +7 -0
- package/dist/scripts/test-redis-storage.js +389 -0
- package/dist/scripts/test-redis-storage.js.map +7 -0
- package/dist/scripts/test-simple-ralph-state-sync.js +115 -0
- package/dist/scripts/test-simple-ralph-state-sync.js.map +7 -0
- package/dist/scripts/test-swarm-fixes.js +125 -0
- package/dist/scripts/test-swarm-fixes.js.map +7 -0
- package/dist/scripts/test-swarm-tui.js +23 -0
- package/dist/scripts/test-swarm-tui.js.map +7 -0
- package/dist/scripts/test-tui-shortcuts.js +52 -0
- package/dist/scripts/test-tui-shortcuts.js.map +7 -0
- package/dist/scripts/validate-tui-shortcuts.js +60 -0
- package/dist/scripts/validate-tui-shortcuts.js.map +7 -0
- package/dist/src/agents/core/agent-task-manager.js +527 -0
- package/dist/src/agents/core/agent-task-manager.js.map +7 -0
- package/dist/src/agents/verifiers/base-verifier.js +133 -0
- package/dist/src/agents/verifiers/base-verifier.js.map +7 -0
- package/dist/src/agents/verifiers/formatter-verifier.js +130 -0
- package/dist/src/agents/verifiers/formatter-verifier.js.map +7 -0
- package/dist/src/agents/verifiers/llm-judge.js +252 -0
- package/dist/src/agents/verifiers/llm-judge.js.map +7 -0
- package/dist/src/cli/auto-detect.js +321 -0
- package/dist/src/cli/auto-detect.js.map +7 -0
- package/dist/src/cli/claude-sm-danger.js +21 -0
- package/dist/src/cli/claude-sm-danger.js.map +7 -0
- package/dist/src/cli/claude-sm.js +1156 -0
- package/dist/src/cli/claude-sm.js.map +7 -0
- package/dist/src/cli/codex-sm-danger.js +21 -0
- package/dist/src/cli/codex-sm-danger.js.map +7 -0
- package/dist/src/cli/codex-sm.js +349 -0
- package/dist/src/cli/codex-sm.js.map +7 -0
- package/dist/src/cli/commands/api.js +232 -0
- package/dist/src/cli/commands/api.js.map +7 -0
- package/dist/src/cli/commands/auto-background.js +180 -0
- package/dist/src/cli/commands/auto-background.js.map +7 -0
- package/dist/src/cli/commands/cleanup-processes.js +68 -0
- package/dist/src/cli/commands/cleanup-processes.js.map +7 -0
- package/dist/src/cli/commands/clear.js +202 -0
- package/dist/src/cli/commands/clear.js.map +7 -0
- package/dist/src/cli/commands/config.js +445 -0
- package/dist/src/cli/commands/config.js.map +7 -0
- package/dist/src/cli/commands/context-rehydrate.js +751 -0
- package/dist/src/cli/commands/context-rehydrate.js.map +7 -0
- package/dist/src/cli/commands/context.js +343 -0
- package/dist/src/cli/commands/context.js.map +7 -0
- package/dist/src/cli/commands/daemon.js +392 -0
- package/dist/src/cli/commands/daemon.js.map +7 -0
- package/dist/src/cli/commands/dashboard.js +210 -0
- package/dist/src/cli/commands/dashboard.js.map +7 -0
- package/dist/src/cli/commands/db.js +147 -0
- package/dist/src/cli/commands/db.js.map +7 -0
- package/dist/src/cli/commands/decision.js +266 -0
- package/dist/src/cli/commands/decision.js.map +7 -0
- package/dist/src/cli/commands/discovery.js +279 -0
- package/dist/src/cli/commands/discovery.js.map +7 -0
- package/dist/src/cli/commands/handoff.js +624 -0
- package/dist/src/cli/commands/handoff.js.map +7 -0
- package/dist/src/cli/commands/hooks.js +298 -0
- package/dist/src/cli/commands/hooks.js.map +7 -0
- package/dist/src/cli/commands/linear.js +529 -0
- package/dist/src/cli/commands/linear.js.map +7 -0
- package/dist/src/cli/commands/log.js +169 -0
- package/dist/src/cli/commands/log.js.map +7 -0
- package/dist/src/cli/commands/login.js +172 -0
- package/dist/src/cli/commands/login.js.map +7 -0
- package/dist/src/cli/commands/migrate.js +240 -0
- package/dist/src/cli/commands/migrate.js.map +7 -0
- package/dist/src/cli/commands/model.js +533 -0
- package/dist/src/cli/commands/model.js.map +7 -0
- package/dist/src/cli/commands/onboard.js +536 -0
- package/dist/src/cli/commands/onboard.js.map +7 -0
- package/dist/src/cli/commands/projects.js +199 -0
- package/dist/src/cli/commands/projects.js.map +7 -0
- package/dist/src/cli/commands/ralph.js +909 -0
- package/dist/src/cli/commands/ralph.js.map +7 -0
- package/dist/src/cli/commands/retrieval.js +248 -0
- package/dist/src/cli/commands/retrieval.js.map +7 -0
- package/dist/src/cli/commands/search.js +173 -0
- package/dist/src/cli/commands/search.js.map +7 -0
- package/dist/src/cli/commands/service.js +749 -0
- package/dist/src/cli/commands/service.js.map +7 -0
- package/dist/src/cli/commands/session.js +200 -0
- package/dist/src/cli/commands/session.js.map +7 -0
- package/dist/src/cli/commands/settings.js +306 -0
- package/dist/src/cli/commands/settings.js.map +7 -0
- package/dist/src/cli/commands/setup.js +701 -0
- package/dist/src/cli/commands/setup.js.map +7 -0
- package/dist/src/cli/commands/shell.js +249 -0
- package/dist/src/cli/commands/shell.js.map +7 -0
- package/dist/src/cli/commands/signup.js +50 -0
- package/dist/src/cli/commands/signup.js.map +7 -0
- package/dist/src/cli/commands/skills.js +470 -0
- package/dist/src/cli/commands/skills.js.map +7 -0
- package/dist/src/cli/commands/sms-notify.js +795 -0
- package/dist/src/cli/commands/sms-notify.js.map +7 -0
- package/dist/src/cli/commands/storage-tier.js +183 -0
- package/dist/src/cli/commands/storage-tier.js.map +7 -0
- package/dist/src/cli/commands/sweep.js +249 -0
- package/dist/src/cli/commands/sweep.js.map +7 -0
- package/dist/src/cli/commands/tasks.js +213 -0
- package/dist/src/cli/commands/tasks.js.map +7 -0
- package/dist/src/cli/commands/worktree.js +319 -0
- package/dist/src/cli/commands/worktree.js.map +7 -0
- package/dist/src/cli/index.js +594 -0
- package/dist/src/cli/index.js.map +7 -0
- package/dist/src/cli/opencode-sm.js +448 -0
- package/dist/src/cli/opencode-sm.js.map +7 -0
- package/dist/src/cli/utils/viewer.js +96 -0
- package/dist/src/cli/utils/viewer.js.map +7 -0
- package/dist/src/core/config/config-manager.js +398 -0
- package/dist/src/core/config/config-manager.js.map +7 -0
- package/dist/src/core/config/feature-flags.js +76 -0
- package/dist/src/core/config/feature-flags.js.map +7 -0
- package/dist/src/core/config/storage-config.js +115 -0
- package/dist/src/core/config/storage-config.js.map +7 -0
- package/dist/src/core/config/types.js +144 -0
- package/dist/src/core/config/types.js.map +7 -0
- package/dist/src/core/context/auto-context.js +80 -0
- package/dist/src/core/context/auto-context.js.map +7 -0
- package/dist/src/core/context/dual-stack-manager.js +870 -0
- package/dist/src/core/context/dual-stack-manager.js.map +7 -0
- package/dist/src/core/context/enhanced-rehydration.js +994 -0
- package/dist/src/core/context/enhanced-rehydration.js.map +7 -0
- package/dist/src/core/context/frame-database.js +479 -0
- package/dist/src/core/context/frame-database.js.map +7 -0
- package/dist/src/core/context/frame-digest.js +250 -0
- package/dist/src/core/context/frame-digest.js.map +7 -0
- package/dist/src/core/context/frame-handoff-manager.js +778 -0
- package/dist/src/core/context/frame-handoff-manager.js.map +7 -0
- package/dist/src/core/context/frame-lifecycle-hooks.js +119 -0
- package/dist/src/core/context/frame-lifecycle-hooks.js.map +7 -0
- package/dist/src/core/context/frame-recovery.js +302 -0
- package/dist/src/core/context/frame-recovery.js.map +7 -0
- package/dist/src/core/context/frame-stack.js +314 -0
- package/dist/src/core/context/frame-stack.js.map +7 -0
- package/dist/src/core/context/frame-types.js +5 -0
- package/dist/src/core/context/frame-types.js.map +7 -0
- package/dist/src/core/context/index.js +25 -0
- package/dist/src/core/context/index.js.map +7 -0
- package/dist/src/core/context/permission-manager.js +185 -0
- package/dist/src/core/context/permission-manager.js.map +7 -0
- package/dist/src/core/context/recursive-context-manager.js +592 -0
- package/dist/src/core/context/recursive-context-manager.js.map +7 -0
- package/dist/src/core/context/refactored-frame-manager.js +754 -0
- package/dist/src/core/context/refactored-frame-manager.js.map +7 -0
- package/dist/src/core/context/shared-context-layer.js +621 -0
- package/dist/src/core/context/shared-context-layer.js.map +7 -0
- package/dist/src/core/context/stack-merge-resolver.js +749 -0
- package/dist/src/core/context/stack-merge-resolver.js.map +7 -0
- package/dist/src/core/context/validation.js +130 -0
- package/dist/src/core/context/validation.js.map +7 -0
- package/dist/src/core/database/batch-operations.js +384 -0
- package/dist/src/core/database/batch-operations.js.map +7 -0
- package/dist/src/core/database/connection-pool.js +330 -0
- package/dist/src/core/database/connection-pool.js.map +7 -0
- package/dist/src/core/database/database-adapter.js +60 -0
- package/dist/src/core/database/database-adapter.js.map +7 -0
- package/dist/src/core/database/migration-manager.js +614 -0
- package/dist/src/core/database/migration-manager.js.map +7 -0
- package/dist/src/core/database/query-cache.js +298 -0
- package/dist/src/core/database/query-cache.js.map +7 -0
- package/dist/src/core/database/query-router.js +430 -0
- package/dist/src/core/database/query-router.js.map +7 -0
- package/dist/src/core/database/sqlite-adapter.js +738 -0
- package/dist/src/core/database/sqlite-adapter.js.map +7 -0
- package/dist/src/core/digest/enhanced-hybrid-digest.js +277 -0
- package/dist/src/core/digest/enhanced-hybrid-digest.js.map +7 -0
- package/dist/src/core/digest/frame-digest-integration.js +176 -0
- package/dist/src/core/digest/frame-digest-integration.js.map +7 -0
- package/dist/src/core/digest/hybrid-digest-generator.js +553 -0
- package/dist/src/core/digest/hybrid-digest-generator.js.map +7 -0
- package/dist/src/core/digest/index.js +9 -0
- package/dist/src/core/digest/index.js.map +7 -0
- package/dist/src/core/digest/types.js +25 -0
- package/dist/src/core/digest/types.js.map +7 -0
- package/dist/src/core/errors/error-utils.js +208 -0
- package/dist/src/core/errors/error-utils.js.map +7 -0
- package/dist/src/core/errors/index.js +521 -0
- package/dist/src/core/errors/index.js.map +7 -0
- package/dist/src/core/errors/recovery.js +269 -0
- package/dist/src/core/errors/recovery.js.map +7 -0
- package/dist/src/core/execution/parallel-executor.js +258 -0
- package/dist/src/core/execution/parallel-executor.js.map +7 -0
- package/dist/src/core/frame/workflow-templates.js +319 -0
- package/dist/src/core/frame/workflow-templates.js.map +7 -0
- package/dist/src/core/merge/conflict-detector.js +431 -0
- package/dist/src/core/merge/conflict-detector.js.map +7 -0
- package/dist/src/core/merge/index.js +9 -0
- package/dist/src/core/merge/index.js.map +7 -0
- package/dist/src/core/merge/resolution-engine.js +558 -0
- package/dist/src/core/merge/resolution-engine.js.map +7 -0
- package/dist/src/core/merge/stack-diff.js +532 -0
- package/dist/src/core/merge/stack-diff.js.map +7 -0
- package/dist/src/core/merge/types.js +5 -0
- package/dist/src/core/merge/types.js.map +7 -0
- package/dist/src/core/merge/unified-merge-resolver.js +303 -0
- package/dist/src/core/merge/unified-merge-resolver.js.map +7 -0
- package/dist/src/core/models/fallback-monitor.js +232 -0
- package/dist/src/core/models/fallback-monitor.js.map +7 -0
- package/dist/src/core/models/model-router.js +340 -0
- package/dist/src/core/models/model-router.js.map +7 -0
- package/dist/src/core/monitoring/error-handler.js +49 -0
- package/dist/src/core/monitoring/error-handler.js.map +7 -0
- package/dist/src/core/monitoring/logger.js +202 -0
- package/dist/src/core/monitoring/logger.js.map +7 -0
- package/dist/src/core/monitoring/metrics.js +172 -0
- package/dist/src/core/monitoring/metrics.js.map +7 -0
- package/dist/src/core/monitoring/progress-tracker.js +189 -0
- package/dist/src/core/monitoring/progress-tracker.js.map +7 -0
- package/dist/src/core/monitoring/session-monitor.js +300 -0
- package/dist/src/core/monitoring/session-monitor.js.map +7 -0
- package/dist/src/core/performance/context-cache.js +273 -0
- package/dist/src/core/performance/context-cache.js.map +7 -0
- package/dist/src/core/performance/index.js +11 -0
- package/dist/src/core/performance/index.js.map +7 -0
- package/dist/src/core/performance/lazy-context-loader.js +327 -0
- package/dist/src/core/performance/lazy-context-loader.js.map +7 -0
- package/dist/src/core/performance/monitor.js +221 -0
- package/dist/src/core/performance/monitor.js.map +7 -0
- package/dist/src/core/performance/optimized-frame-context.js +345 -0
- package/dist/src/core/performance/optimized-frame-context.js.map +7 -0
- package/dist/src/core/performance/performance-benchmark.js +277 -0
- package/dist/src/core/performance/performance-benchmark.js.map +7 -0
- package/dist/src/core/performance/performance-profiler.js +370 -0
- package/dist/src/core/performance/performance-profiler.js.map +7 -0
- package/dist/src/core/performance/streaming-jsonl-parser.js +195 -0
- package/dist/src/core/performance/streaming-jsonl-parser.js.map +7 -0
- package/dist/src/core/persistence/postgres-adapter.js +349 -0
- package/dist/src/core/persistence/postgres-adapter.js.map +7 -0
- package/dist/src/core/projects/project-isolation.js +201 -0
- package/dist/src/core/projects/project-isolation.js.map +7 -0
- package/dist/src/core/projects/project-manager.js +697 -0
- package/dist/src/core/projects/project-manager.js.map +7 -0
- package/dist/src/core/query/query-parser.js +370 -0
- package/dist/src/core/query/query-parser.js.map +7 -0
- package/dist/src/core/query/query-templates.js +321 -0
- package/dist/src/core/query/query-templates.js.map +7 -0
- package/dist/src/core/retrieval/context-retriever.js +479 -0
- package/dist/src/core/retrieval/context-retriever.js.map +7 -0
- package/dist/src/core/retrieval/index.js +8 -0
- package/dist/src/core/retrieval/index.js.map +7 -0
- package/dist/src/core/retrieval/llm-context-retrieval.js +613 -0
- package/dist/src/core/retrieval/llm-context-retrieval.js.map +7 -0
- package/dist/src/core/retrieval/llm-provider.js +151 -0
- package/dist/src/core/retrieval/llm-provider.js.map +7 -0
- package/dist/src/core/retrieval/retrieval-audit.js +236 -0
- package/dist/src/core/retrieval/retrieval-audit.js.map +7 -0
- package/dist/src/core/retrieval/summary-generator.js +589 -0
- package/dist/src/core/retrieval/summary-generator.js.map +7 -0
- package/dist/src/core/retrieval/types.js +21 -0
- package/dist/src/core/retrieval/types.js.map +7 -0
- package/dist/src/core/security/index.js +35 -0
- package/dist/src/core/security/index.js.map +7 -0
- package/dist/src/core/security/input-sanitizer.js +321 -0
- package/dist/src/core/security/input-sanitizer.js.map +7 -0
- package/dist/src/core/session/clear-survival.js +465 -0
- package/dist/src/core/session/clear-survival.js.map +7 -0
- package/dist/src/core/session/enhanced-handoff.js +792 -0
- package/dist/src/core/session/enhanced-handoff.js.map +7 -0
- package/dist/src/core/session/handoff-generator.js +343 -0
- package/dist/src/core/session/handoff-generator.js.map +7 -0
- package/dist/src/core/session/index.js +15 -0
- package/dist/src/core/session/index.js.map +7 -0
- package/dist/src/core/session/session-manager.js +347 -0
- package/dist/src/core/session/session-manager.js.map +7 -0
- package/dist/src/core/skills/index.js +7 -0
- package/dist/src/core/skills/index.js.map +7 -0
- package/dist/src/core/skills/skill-storage.js +764 -0
- package/dist/src/core/skills/skill-storage.js.map +7 -0
- package/dist/src/core/skills/types.js +193 -0
- package/dist/src/core/skills/types.js.map +7 -0
- package/dist/src/core/storage/chromadb-adapter.js +354 -0
- package/dist/src/core/storage/chromadb-adapter.js.map +7 -0
- package/dist/src/core/storage/infinite-storage.js +510 -0
- package/dist/src/core/storage/infinite-storage.js.map +7 -0
- package/dist/src/core/storage/remote-storage.js +489 -0
- package/dist/src/core/storage/remote-storage.js.map +7 -0
- package/dist/src/core/storage/two-tier-storage.js +766 -0
- package/dist/src/core/storage/two-tier-storage.js.map +7 -0
- package/dist/src/core/trace/cli-trace-wrapper.js +132 -0
- package/dist/src/core/trace/cli-trace-wrapper.js.map +7 -0
- package/dist/src/core/trace/db-trace-wrapper.js +247 -0
- package/dist/src/core/trace/db-trace-wrapper.js.map +7 -0
- package/dist/src/core/trace/debug-trace.js +417 -0
- package/dist/src/core/trace/debug-trace.js.map +7 -0
- package/dist/src/core/trace/index.js +109 -0
- package/dist/src/core/trace/index.js.map +7 -0
- package/dist/src/core/trace/linear-api-wrapper.js +178 -0
- package/dist/src/core/trace/linear-api-wrapper.js.map +7 -0
- package/dist/src/core/trace/trace-detector.js +528 -0
- package/dist/src/core/trace/trace-detector.js.map +7 -0
- package/dist/src/core/trace/trace-store.js +345 -0
- package/dist/src/core/trace/trace-store.js.map +7 -0
- package/dist/src/core/trace/types.js +77 -0
- package/dist/src/core/trace/types.js.map +7 -0
- package/dist/src/core/types.js +5 -0
- package/dist/src/core/types.js.map +7 -0
- package/dist/src/core/utils/async-mutex.js +114 -0
- package/dist/src/core/utils/async-mutex.js.map +7 -0
- package/dist/src/core/utils/compression.js +83 -0
- package/dist/src/core/utils/compression.js.map +7 -0
- package/dist/src/core/utils/update-checker.js +218 -0
- package/dist/src/core/utils/update-checker.js.map +7 -0
- package/dist/src/core/worktree/worktree-manager.js +465 -0
- package/dist/src/core/worktree/worktree-manager.js.map +7 -0
- package/dist/src/daemon/daemon-config.js +149 -0
- package/dist/src/daemon/daemon-config.js.map +7 -0
- package/dist/src/daemon/services/context-service.js +122 -0
- package/dist/src/daemon/services/context-service.js.map +7 -0
- package/dist/src/daemon/services/linear-service.js +136 -0
- package/dist/src/daemon/services/linear-service.js.map +7 -0
- package/dist/src/daemon/session-daemon.js +312 -0
- package/dist/src/daemon/session-daemon.js.map +7 -0
- package/dist/src/daemon/unified-daemon.js +276 -0
- package/dist/src/daemon/unified-daemon.js.map +7 -0
- package/dist/src/features/analytics/api/analytics-api.js +287 -0
- package/dist/src/features/analytics/api/analytics-api.js.map +7 -0
- package/dist/src/features/analytics/core/analytics-service.js +282 -0
- package/dist/src/features/analytics/core/analytics-service.js.map +7 -0
- package/dist/src/features/analytics/index.js +18 -0
- package/dist/src/features/analytics/index.js.map +7 -0
- package/dist/src/features/analytics/queries/metrics-queries.js +277 -0
- package/dist/src/features/analytics/queries/metrics-queries.js.map +7 -0
- package/dist/src/features/analytics/types/metrics.js +5 -0
- package/dist/src/features/analytics/types/metrics.js.map +7 -0
- package/dist/src/features/browser/browser-mcp.js +492 -0
- package/dist/src/features/browser/browser-mcp.js.map +7 -0
- package/dist/src/features/sweep/index.js +20 -0
- package/dist/src/features/sweep/index.js.map +7 -0
- package/dist/src/features/sweep/prediction-client.js +155 -0
- package/dist/src/features/sweep/prediction-client.js.map +7 -0
- package/dist/src/features/sweep/prompt-builder.js +85 -0
- package/dist/src/features/sweep/prompt-builder.js.map +7 -0
- package/dist/src/features/sweep/pty-wrapper.js +171 -0
- package/dist/src/features/sweep/pty-wrapper.js.map +7 -0
- package/dist/src/features/sweep/state-watcher.js +87 -0
- package/dist/src/features/sweep/state-watcher.js.map +7 -0
- package/dist/src/features/sweep/status-bar.js +88 -0
- package/dist/src/features/sweep/status-bar.js.map +7 -0
- package/dist/src/features/sweep/sweep-server-manager.js +226 -0
- package/dist/src/features/sweep/sweep-server-manager.js.map +7 -0
- package/dist/src/features/sweep/tab-interceptor.js +38 -0
- package/dist/src/features/sweep/tab-interceptor.js.map +7 -0
- package/dist/src/features/sweep/types.js +18 -0
- package/dist/src/features/sweep/types.js.map +7 -0
- package/dist/src/features/tasks/linear-task-manager.js +487 -0
- package/dist/src/features/tasks/linear-task-manager.js.map +7 -0
- package/dist/src/features/tasks/task-aware-context.js +410 -0
- package/dist/src/features/tasks/task-aware-context.js.map +7 -0
- package/dist/src/features/tui/simple-monitor.js +116 -0
- package/dist/src/features/tui/simple-monitor.js.map +7 -0
- package/dist/src/features/tui/swarm-monitor.js +648 -0
- package/dist/src/features/tui/swarm-monitor.js.map +7 -0
- package/dist/src/features/web/client/stores/task-store.js +26 -0
- package/dist/src/features/web/client/stores/task-store.js.map +7 -0
- package/dist/src/features/web/server/index.js +194 -0
- package/dist/src/features/web/server/index.js.map +7 -0
- package/dist/src/hooks/auto-background.js +151 -0
- package/dist/src/hooks/auto-background.js.map +7 -0
- package/dist/src/hooks/claude-code-whatsapp-hook.js +197 -0
- package/dist/src/hooks/claude-code-whatsapp-hook.js.map +7 -0
- package/dist/src/hooks/config.js +150 -0
- package/dist/src/hooks/config.js.map +7 -0
- package/dist/src/hooks/daemon.js +364 -0
- package/dist/src/hooks/daemon.js.map +7 -0
- package/dist/src/hooks/events.js +58 -0
- package/dist/src/hooks/events.js.map +7 -0
- package/dist/src/hooks/index.js +12 -0
- package/dist/src/hooks/index.js.map +7 -0
- package/dist/src/hooks/linear-task-picker.js +186 -0
- package/dist/src/hooks/linear-task-picker.js.map +7 -0
- package/dist/src/hooks/schemas.js +197 -0
- package/dist/src/hooks/schemas.js.map +7 -0
- package/dist/src/hooks/secure-fs.js +49 -0
- package/dist/src/hooks/secure-fs.js.map +7 -0
- package/dist/src/hooks/security-logger.js +155 -0
- package/dist/src/hooks/security-logger.js.map +7 -0
- package/dist/src/hooks/session-summary.js +222 -0
- package/dist/src/hooks/session-summary.js.map +7 -0
- package/dist/src/hooks/sms-action-runner.js +371 -0
- package/dist/src/hooks/sms-action-runner.js.map +7 -0
- package/dist/src/hooks/sms-notify.js +506 -0
- package/dist/src/hooks/sms-notify.js.map +7 -0
- package/dist/src/hooks/sms-watcher.js +93 -0
- package/dist/src/hooks/sms-watcher.js.map +7 -0
- package/dist/src/hooks/sms-webhook.js +555 -0
- package/dist/src/hooks/sms-webhook.js.map +7 -0
- package/dist/src/hooks/whatsapp-commands.js +479 -0
- package/dist/src/hooks/whatsapp-commands.js.map +7 -0
- package/dist/src/hooks/whatsapp-scheduler.js +317 -0
- package/dist/src/hooks/whatsapp-scheduler.js.map +7 -0
- package/dist/src/hooks/whatsapp-sync.js +409 -0
- package/dist/src/hooks/whatsapp-sync.js.map +7 -0
- package/dist/src/index.js +25 -0
- package/dist/src/index.js.map +7 -0
- package/dist/src/integrations/anthropic/client.js +263 -0
- package/dist/src/integrations/anthropic/client.js.map +7 -0
- package/dist/src/integrations/claude-code/agent-bridge.js +768 -0
- package/dist/src/integrations/claude-code/agent-bridge.js.map +7 -0
- package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js +459 -0
- package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js.map +7 -0
- package/dist/src/integrations/claude-code/lifecycle-hooks.js +254 -0
- package/dist/src/integrations/claude-code/lifecycle-hooks.js.map +7 -0
- package/dist/src/integrations/claude-code/post-task-hooks.js +545 -0
- package/dist/src/integrations/claude-code/post-task-hooks.js.map +7 -0
- package/dist/src/integrations/claude-code/subagent-client-stub.js +20 -0
- package/dist/src/integrations/claude-code/subagent-client-stub.js.map +7 -0
- package/dist/src/integrations/claude-code/subagent-client.js +511 -0
- package/dist/src/integrations/claude-code/subagent-client.js.map +7 -0
- package/dist/src/integrations/claude-code/task-coordinator.js +360 -0
- package/dist/src/integrations/claude-code/task-coordinator.js.map +7 -0
- package/dist/src/integrations/linear/auth.js +337 -0
- package/dist/src/integrations/linear/auth.js.map +7 -0
- package/dist/src/integrations/linear/auto-sync.js +258 -0
- package/dist/src/integrations/linear/auto-sync.js.map +7 -0
- package/dist/src/integrations/linear/client.js +634 -0
- package/dist/src/integrations/linear/client.js.map +7 -0
- package/dist/src/integrations/linear/config.js +130 -0
- package/dist/src/integrations/linear/config.js.map +7 -0
- package/dist/src/integrations/linear/migration.js +361 -0
- package/dist/src/integrations/linear/migration.js.map +7 -0
- package/dist/src/integrations/linear/oauth-server.js +454 -0
- package/dist/src/integrations/linear/oauth-server.js.map +7 -0
- package/dist/src/integrations/linear/rest-client.js +213 -0
- package/dist/src/integrations/linear/rest-client.js.map +7 -0
- package/dist/src/integrations/linear/sync-manager.js +236 -0
- package/dist/src/integrations/linear/sync-manager.js.map +7 -0
- package/dist/src/integrations/linear/sync-service.js +231 -0
- package/dist/src/integrations/linear/sync-service.js.map +7 -0
- package/dist/src/integrations/linear/sync.js +782 -0
- package/dist/src/integrations/linear/sync.js.map +7 -0
- package/dist/src/integrations/linear/types.js +5 -0
- package/dist/src/integrations/linear/types.js.map +7 -0
- package/dist/src/integrations/linear/unified-sync.js +589 -0
- package/dist/src/integrations/linear/unified-sync.js.map +7 -0
- package/dist/src/integrations/linear/webhook-handler.js +219 -0
- package/dist/src/integrations/linear/webhook-handler.js.map +7 -0
- package/dist/src/integrations/linear/webhook-server.js +218 -0
- package/dist/src/integrations/linear/webhook-server.js.map +7 -0
- package/dist/src/integrations/linear/webhook.js +291 -0
- package/dist/src/integrations/linear/webhook.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/code-execution-handlers.js +266 -0
- package/dist/src/integrations/mcp/handlers/code-execution-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/context-handlers.js +257 -0
- package/dist/src/integrations/mcp/handlers/context-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/discovery-handlers.js +497 -0
- package/dist/src/integrations/mcp/handlers/discovery-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/index.js +166 -0
- package/dist/src/integrations/mcp/handlers/index.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/linear-handlers.js +247 -0
- package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/skill-handlers.js +529 -0
- package/dist/src/integrations/mcp/handlers/skill-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/task-handlers.js +239 -0
- package/dist/src/integrations/mcp/handlers/task-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/handlers/trace-handlers.js +308 -0
- package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +7 -0
- package/dist/src/integrations/mcp/index.js +23 -0
- package/dist/src/integrations/mcp/index.js.map +7 -0
- package/dist/src/integrations/mcp/middleware/tool-scoring.js +356 -0
- package/dist/src/integrations/mcp/middleware/tool-scoring.js.map +7 -0
- package/dist/src/integrations/mcp/refactored-server.js +374 -0
- package/dist/src/integrations/mcp/refactored-server.js.map +7 -0
- package/dist/src/integrations/mcp/remote-server.js +682 -0
- package/dist/src/integrations/mcp/remote-server.js.map +7 -0
- package/dist/src/integrations/mcp/schemas.js +147 -0
- package/dist/src/integrations/mcp/schemas.js.map +7 -0
- package/dist/src/integrations/mcp/server.js +1975 -0
- package/dist/src/integrations/mcp/server.js.map +7 -0
- package/dist/src/integrations/mcp/tool-definitions-code.js +125 -0
- package/dist/src/integrations/mcp/tool-definitions-code.js.map +7 -0
- package/dist/src/integrations/mcp/tool-definitions.js +702 -0
- package/dist/src/integrations/mcp/tool-definitions.js.map +7 -0
- package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js +860 -0
- package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +7 -0
- package/dist/src/integrations/ralph/context/context-budget-manager.js +301 -0
- package/dist/src/integrations/ralph/context/context-budget-manager.js.map +7 -0
- package/dist/src/integrations/ralph/context/stackmemory-context-loader.js +360 -0
- package/dist/src/integrations/ralph/context/stackmemory-context-loader.js.map +7 -0
- package/dist/src/integrations/ralph/coordination/enhanced-coordination.js +410 -0
- package/dist/src/integrations/ralph/coordination/enhanced-coordination.js.map +7 -0
- package/dist/src/integrations/ralph/index.js +18 -0
- package/dist/src/integrations/ralph/index.js.map +7 -0
- package/dist/src/integrations/ralph/learning/pattern-learner.js +401 -0
- package/dist/src/integrations/ralph/learning/pattern-learner.js.map +7 -0
- package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js +448 -0
- package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js.map +7 -0
- package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js +294 -0
- package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js.map +7 -0
- package/dist/src/integrations/ralph/monitoring/swarm-registry.js +108 -0
- package/dist/src/integrations/ralph/monitoring/swarm-registry.js.map +7 -0
- package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js +463 -0
- package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +7 -0
- package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js +400 -0
- package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js.map +7 -0
- package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js +473 -0
- package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js.map +7 -0
- package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js +388 -0
- package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js.map +7 -0
- package/dist/src/integrations/ralph/performance/performance-optimizer.js +358 -0
- package/dist/src/integrations/ralph/performance/performance-optimizer.js.map +7 -0
- package/dist/src/integrations/ralph/recovery/crash-recovery.js +462 -0
- package/dist/src/integrations/ralph/recovery/crash-recovery.js.map +7 -0
- package/dist/src/integrations/ralph/state/state-reconciler.js +404 -0
- package/dist/src/integrations/ralph/state/state-reconciler.js.map +7 -0
- package/dist/src/integrations/ralph/swarm/git-workflow-manager.js +428 -0
- package/dist/src/integrations/ralph/swarm/git-workflow-manager.js.map +7 -0
- package/dist/src/integrations/ralph/swarm/swarm-coordinator.js +996 -0
- package/dist/src/integrations/ralph/swarm/swarm-coordinator.js.map +7 -0
- package/dist/src/integrations/ralph/types.js +5 -0
- package/dist/src/integrations/ralph/types.js.map +7 -0
- package/dist/src/integrations/ralph/visualization/ralph-debugger.js +585 -0
- package/dist/src/integrations/ralph/visualization/ralph-debugger.js.map +7 -0
- package/dist/src/mcp/stackmemory-mcp-server.js +554 -0
- package/dist/src/mcp/stackmemory-mcp-server.js.map +7 -0
- package/dist/src/middleware/exponential-rate-limiter.js +289 -0
- package/dist/src/middleware/exponential-rate-limiter.js.map +7 -0
- package/dist/src/models/user.model.js +358 -0
- package/dist/src/models/user.model.js.map +7 -0
- package/dist/src/servers/production/auth-middleware.js +528 -0
- package/dist/src/servers/production/auth-middleware.js.map +7 -0
- package/dist/src/services/config-service.js +65 -0
- package/dist/src/services/config-service.js.map +7 -0
- package/dist/src/services/context-service.js +194 -0
- package/dist/src/services/context-service.js.map +7 -0
- package/dist/src/skills/api-discovery.js +354 -0
- package/dist/src/skills/api-discovery.js.map +7 -0
- package/dist/src/skills/api-skill.js +475 -0
- package/dist/src/skills/api-skill.js.map +7 -0
- package/dist/src/skills/claude-skills.js +1061 -0
- package/dist/src/skills/claude-skills.js.map +7 -0
- package/dist/src/skills/dashboard-launcher.js +216 -0
- package/dist/src/skills/dashboard-launcher.js.map +7 -0
- package/dist/src/skills/recursive-agent-orchestrator.js +575 -0
- package/dist/src/skills/recursive-agent-orchestrator.js.map +7 -0
- package/dist/src/skills/repo-ingestion-skill.js +609 -0
- package/dist/src/skills/repo-ingestion-skill.js.map +7 -0
- package/dist/src/skills/unified-rlm-orchestrator.js +404 -0
- package/dist/src/skills/unified-rlm-orchestrator.js.map +7 -0
- package/dist/src/types/task.js +5 -0
- package/dist/src/types/task.js.map +7 -0
- package/dist/src/utils/env.js +50 -0
- package/dist/src/utils/env.js.map +7 -0
- package/dist/src/utils/formatting.js +62 -0
- package/dist/src/utils/formatting.js.map +7 -0
- package/dist/src/utils/process-cleanup.js +136 -0
- package/dist/src/utils/process-cleanup.js.map +7 -0
- package/package.json +3 -3
- package/scripts/initialize.ts +16 -7
- package/scripts/install.sh +14 -62
- package/scripts/status.ts +111 -46
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/env tsx
|
|
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 { createClient } from "redis";
|
|
7
|
+
import dotenv from "dotenv";
|
|
8
|
+
function getEnv(key, defaultValue) {
|
|
9
|
+
const value = process.env[key];
|
|
10
|
+
if (value === void 0) {
|
|
11
|
+
if (defaultValue !== void 0) return defaultValue;
|
|
12
|
+
throw new Error(`Environment variable ${key} is required`);
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
function getOptionalEnv(key) {
|
|
17
|
+
return process.env[key];
|
|
18
|
+
}
|
|
19
|
+
dotenv.config();
|
|
20
|
+
async function checkRedis() {
|
|
21
|
+
const client = createClient({ url: process.env["REDIS_URL"] });
|
|
22
|
+
await client.connect();
|
|
23
|
+
const keys = await client.keys("trace:*");
|
|
24
|
+
console.log("Redis trace keys:", keys.length);
|
|
25
|
+
if (keys.length > 0) {
|
|
26
|
+
console.log("Sample keys:", keys.slice(0, 3));
|
|
27
|
+
const sample = await client.hGetAll(keys[0]);
|
|
28
|
+
console.log("Sample trace fields:", Object.keys(sample));
|
|
29
|
+
console.log("Sample trace data size:", sample.data?.length || 0, "bytes");
|
|
30
|
+
console.log(
|
|
31
|
+
"Sample trace compressed:",
|
|
32
|
+
sample.compressed === "true" ? "yes" : "no"
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
const scoreIndex = await client.zCard("traces:by_score");
|
|
36
|
+
const timeIndex = await client.zCard("traces:by_time");
|
|
37
|
+
console.log("Score index entries:", scoreIndex);
|
|
38
|
+
console.log("Time index entries:", timeIndex);
|
|
39
|
+
await client.quit();
|
|
40
|
+
}
|
|
41
|
+
checkRedis().catch(console.error);
|
|
42
|
+
//# sourceMappingURL=check-redis.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../scripts/check-redis.ts"],
|
|
4
|
+
"sourcesContent": ["#!/usr/bin/env tsx\n\nimport { createClient } from 'redis';\nimport dotenv from 'dotenv';\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\ndotenv.config();\n\nasync function checkRedis() {\n const client = createClient({ url: process.env['REDIS_URL'] });\n await client.connect();\n\n const keys = await client.keys('trace:*');\n console.log('Redis trace keys:', keys.length);\n\n if (keys.length > 0) {\n console.log('Sample keys:', keys.slice(0, 3));\n // Using hGetAll since we store as hash\n const sample = await client.hGetAll(keys[0]);\n console.log('Sample trace fields:', Object.keys(sample));\n console.log('Sample trace data size:', sample.data?.length || 0, 'bytes');\n console.log(\n 'Sample trace compressed:',\n sample.compressed === 'true' ? 'yes' : 'no'\n );\n }\n\n const scoreIndex = await client.zCard('traces:by_score');\n const timeIndex = await client.zCard('traces:by_time');\n console.log('Score index entries:', scoreIndex);\n console.log('Time index entries:', timeIndex);\n\n await client.quit();\n}\n\ncheckRedis().catch(console.error);\n"],
|
|
5
|
+
"mappings": ";;;;;AAEA,SAAS,oBAAoB;AAC7B,OAAO,YAAY;AAEnB,SAAS,OAAO,KAAa,cAA+B;AAC1D,QAAM,QAAQ,QAAQ,IAAI,GAAG;AAC7B,MAAI,UAAU,QAAW;AACvB,QAAI,iBAAiB,OAAW,QAAO;AACvC,UAAM,IAAI,MAAM,wBAAwB,GAAG,cAAc;AAAA,EAC3D;AACA,SAAO;AACT;AAEA,SAAS,eAAe,KAAiC;AACvD,SAAO,QAAQ,IAAI,GAAG;AACxB;AAEA,OAAO,OAAO;AAEd,eAAe,aAAa;AAC1B,QAAM,SAAS,aAAa,EAAE,KAAK,QAAQ,IAAI,WAAW,EAAE,CAAC;AAC7D,QAAM,OAAO,QAAQ;AAErB,QAAM,OAAO,MAAM,OAAO,KAAK,SAAS;AACxC,UAAQ,IAAI,qBAAqB,KAAK,MAAM;AAE5C,MAAI,KAAK,SAAS,GAAG;AACnB,YAAQ,IAAI,gBAAgB,KAAK,MAAM,GAAG,CAAC,CAAC;AAE5C,UAAM,SAAS,MAAM,OAAO,QAAQ,KAAK,CAAC,CAAC;AAC3C,YAAQ,IAAI,wBAAwB,OAAO,KAAK,MAAM,CAAC;AACvD,YAAQ,IAAI,2BAA2B,OAAO,MAAM,UAAU,GAAG,OAAO;AACxE,YAAQ;AAAA,MACN;AAAA,MACA,OAAO,eAAe,SAAS,QAAQ;AAAA,IACzC;AAAA,EACF;AAEA,QAAM,aAAa,MAAM,OAAO,MAAM,iBAAiB;AACvD,QAAM,YAAY,MAAM,OAAO,MAAM,gBAAgB;AACrD,UAAQ,IAAI,wBAAwB,UAAU;AAC9C,UAAQ,IAAI,uBAAuB,SAAS;AAE5C,QAAM,OAAO,KAAK;AACpB;AAEA,WAAW,EAAE,MAAM,QAAQ,KAAK;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
#!/usr/bin/env tsx
|
|
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 {
|
|
7
|
+
existsSync,
|
|
8
|
+
mkdirSync,
|
|
9
|
+
writeFileSync,
|
|
10
|
+
readFileSync,
|
|
11
|
+
appendFileSync
|
|
12
|
+
} from "fs";
|
|
13
|
+
import { join } from "path";
|
|
14
|
+
import { execSync } from "child_process";
|
|
15
|
+
import chalk from "chalk";
|
|
16
|
+
function getEnv(key, defaultValue) {
|
|
17
|
+
const value = process.env[key];
|
|
18
|
+
if (value === void 0) {
|
|
19
|
+
if (defaultValue !== void 0) return defaultValue;
|
|
20
|
+
throw new Error(`Environment variable ${key} is required`);
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
function getOptionalEnv(key) {
|
|
25
|
+
return process.env[key];
|
|
26
|
+
}
|
|
27
|
+
const projectRoot = process.cwd();
|
|
28
|
+
console.log(chalk.blue.bold("\n\u{1F680} Initializing StackMemory...\n"));
|
|
29
|
+
const stackDir = join(projectRoot, ".stackmemory");
|
|
30
|
+
if (!existsSync(stackDir)) {
|
|
31
|
+
mkdirSync(stackDir, { recursive: true });
|
|
32
|
+
console.log(chalk.green("\u2713") + " Created .stackmemory directory");
|
|
33
|
+
} else {
|
|
34
|
+
console.log(chalk.yellow("\u26A0") + " .stackmemory directory already exists");
|
|
35
|
+
}
|
|
36
|
+
const gitignorePath = join(projectRoot, ".gitignore");
|
|
37
|
+
const gitignoreEntry = "\n# StackMemory\n.stackmemory/*.db\n.stackmemory/*.db-*\n";
|
|
38
|
+
if (existsSync(gitignorePath)) {
|
|
39
|
+
const gitignore = readFileSync(gitignorePath, "utf-8");
|
|
40
|
+
if (!gitignore.includes(".stackmemory")) {
|
|
41
|
+
appendFileSync(gitignorePath, gitignoreEntry);
|
|
42
|
+
console.log(chalk.green("\u2713") + " Added .stackmemory to .gitignore");
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
writeFileSync(gitignorePath, gitignoreEntry);
|
|
46
|
+
console.log(chalk.green("\u2713") + " Created .gitignore with .stackmemory");
|
|
47
|
+
}
|
|
48
|
+
const configPath = join(stackDir, "config.json");
|
|
49
|
+
if (!existsSync(configPath)) {
|
|
50
|
+
const config = {
|
|
51
|
+
projectId: projectRoot.split("/").pop(),
|
|
52
|
+
userId: process.env["USER"] || "default",
|
|
53
|
+
teamId: "local",
|
|
54
|
+
initialized: (/* @__PURE__ */ new Date()).toISOString()
|
|
55
|
+
};
|
|
56
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
57
|
+
console.log(chalk.green("\u2713") + " Created config file");
|
|
58
|
+
}
|
|
59
|
+
const jsonlPath = join(stackDir, "frames.jsonl");
|
|
60
|
+
if (!existsSync(jsonlPath)) {
|
|
61
|
+
const initialFrame = {
|
|
62
|
+
id: "init_" + Date.now(),
|
|
63
|
+
type: "system",
|
|
64
|
+
content: "StackMemory initialized",
|
|
65
|
+
timestamp: Date.now()
|
|
66
|
+
};
|
|
67
|
+
writeFileSync(jsonlPath, JSON.stringify(initialFrame) + "\n");
|
|
68
|
+
console.log(chalk.green("\u2713") + " Created frames.jsonl");
|
|
69
|
+
}
|
|
70
|
+
const isMacOS = process.platform === "darwin";
|
|
71
|
+
const mcpConfigPath = isMacOS ? join(
|
|
72
|
+
process.env["HOME"] || "~",
|
|
73
|
+
"Library",
|
|
74
|
+
"Application Support",
|
|
75
|
+
"Claude",
|
|
76
|
+
"claude_desktop_config.json"
|
|
77
|
+
) : join(
|
|
78
|
+
process.env["HOME"] || "~",
|
|
79
|
+
".config",
|
|
80
|
+
"claude",
|
|
81
|
+
"claude_desktop_config.json"
|
|
82
|
+
);
|
|
83
|
+
console.log(chalk.blue("\n\u{1F4DD} MCP Configuration for Claude Code:\n"));
|
|
84
|
+
const mcpConfig = {
|
|
85
|
+
mcpServers: {
|
|
86
|
+
stackmemory: {
|
|
87
|
+
command: "node",
|
|
88
|
+
args: [join(projectRoot, "dist", "integrations", "mcp", "server.js")],
|
|
89
|
+
env: {
|
|
90
|
+
PROJECT_ROOT: projectRoot
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
console.log(chalk.gray("Add this to your Claude Code MCP configuration:"));
|
|
96
|
+
console.log(chalk.gray("(" + mcpConfigPath + ")\n"));
|
|
97
|
+
console.log(chalk.cyan(JSON.stringify(mcpConfig, null, 2)));
|
|
98
|
+
console.log(chalk.blue("\n\u{1F4E6} Building TypeScript files...\n"));
|
|
99
|
+
try {
|
|
100
|
+
execSync("npm run build", { stdio: "inherit", cwd: projectRoot });
|
|
101
|
+
console.log(chalk.green("\u2713") + " Build completed");
|
|
102
|
+
} catch {
|
|
103
|
+
console.log(chalk.yellow("\u26A0") + " Build failed - run npm run build manually");
|
|
104
|
+
}
|
|
105
|
+
console.log(chalk.green.bold("\n\u2705 StackMemory initialized successfully!\n"));
|
|
106
|
+
console.log(chalk.gray("Next steps:"));
|
|
107
|
+
console.log(chalk.gray("1. Add the MCP configuration above to Claude Code"));
|
|
108
|
+
console.log(chalk.gray("2. Restart Claude Code"));
|
|
109
|
+
console.log(chalk.gray("3. Start using context tracking!"));
|
|
110
|
+
console.log(chalk.gray("\nUseful commands:"));
|
|
111
|
+
console.log(
|
|
112
|
+
chalk.cyan(" npm run mcp:dev") + " - Start MCP server in dev mode"
|
|
113
|
+
);
|
|
114
|
+
console.log(chalk.cyan(" npm run status") + " - Check StackMemory status");
|
|
115
|
+
console.log(chalk.cyan(" npm run analyze") + " - Analyze context usage\n");
|
|
116
|
+
//# sourceMappingURL=initialize.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../scripts/initialize.ts"],
|
|
4
|
+
"sourcesContent": ["#!/usr/bin/env tsx\n/**\n * Initialize StackMemory in the current project\n */\n\nimport {\n existsSync,\n mkdirSync,\n writeFileSync,\n readFileSync,\n appendFileSync,\n} from 'fs';\nimport { join } from 'path';\nimport { execSync } from 'child_process';\nimport chalk from 'chalk';\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\nconst projectRoot = process.cwd();\n\nconsole.log(chalk.blue.bold('\\n\uD83D\uDE80 Initializing StackMemory...\\n'));\n\n// 1. Create .stackmemory directory\nconst stackDir = join(projectRoot, '.stackmemory');\nif (!existsSync(stackDir)) {\n mkdirSync(stackDir, { recursive: true });\n console.log(chalk.green('\u2713') + ' Created .stackmemory directory');\n} else {\n console.log(chalk.yellow('\u26A0') + ' .stackmemory directory already exists');\n}\n\n// 2. Add to .gitignore\nconst gitignorePath = join(projectRoot, '.gitignore');\nconst gitignoreEntry =\n '\\n# StackMemory\\n.stackmemory/*.db\\n.stackmemory/*.db-*\\n';\n\nif (existsSync(gitignorePath)) {\n const gitignore = readFileSync(gitignorePath, 'utf-8');\n if (!gitignore.includes('.stackmemory')) {\n appendFileSync(gitignorePath, gitignoreEntry);\n console.log(chalk.green('\u2713') + ' Added .stackmemory to .gitignore');\n }\n} else {\n writeFileSync(gitignorePath, gitignoreEntry);\n console.log(chalk.green('\u2713') + ' Created .gitignore with .stackmemory');\n}\n\n// 3. Create config file\nconst configPath = join(stackDir, 'config.json');\nif (!existsSync(configPath)) {\n const config = {\n projectId: projectRoot.split('/').pop(),\n userId: process.env['USER'] || 'default',\n teamId: 'local',\n initialized: new Date().toISOString(),\n };\n writeFileSync(configPath, JSON.stringify(config, null, 2));\n console.log(chalk.green('\u2713') + ' Created config file');\n}\n\n// 4. Create initial JSONL file\nconst jsonlPath = join(stackDir, 'frames.jsonl');\nif (!existsSync(jsonlPath)) {\n const initialFrame = {\n id: 'init_' + Date.now(),\n type: 'system',\n content: 'StackMemory initialized',\n timestamp: Date.now(),\n };\n writeFileSync(jsonlPath, JSON.stringify(initialFrame) + '\\n');\n console.log(chalk.green('\u2713') + ' Created frames.jsonl');\n}\n\n// 5. Create MCP config for Claude Code\nconst isMacOS = process.platform === 'darwin';\nconst mcpConfigPath = isMacOS\n ? join(\n process.env['HOME'] || '~',\n 'Library',\n 'Application Support',\n 'Claude',\n 'claude_desktop_config.json'\n )\n : join(\n process.env['HOME'] || '~',\n '.config',\n 'claude',\n 'claude_desktop_config.json'\n );\nconsole.log(chalk.blue('\\n\uD83D\uDCDD MCP Configuration for Claude Code:\\n'));\n\nconst mcpConfig = {\n mcpServers: {\n stackmemory: {\n command: 'node',\n args: [join(projectRoot, 'dist', 'integrations', 'mcp', 'server.js')],\n env: {\n PROJECT_ROOT: projectRoot,\n },\n },\n },\n};\n\nconsole.log(chalk.gray('Add this to your Claude Code MCP configuration:'));\nconsole.log(chalk.gray('(' + mcpConfigPath + ')\\n'));\nconsole.log(chalk.cyan(JSON.stringify(mcpConfig, null, 2)));\n\n// 6. Build the project\nconsole.log(chalk.blue('\\n\uD83D\uDCE6 Building TypeScript files...\\n'));\ntry {\n execSync('npm run build', { stdio: 'inherit', cwd: projectRoot });\n console.log(chalk.green('\u2713') + ' Build completed');\n} catch {\n console.log(chalk.yellow('\u26A0') + ' Build failed - run npm run build manually');\n}\n\nconsole.log(chalk.green.bold('\\n\u2705 StackMemory initialized successfully!\\n'));\nconsole.log(chalk.gray('Next steps:'));\nconsole.log(chalk.gray('1. Add the MCP configuration above to Claude Code'));\nconsole.log(chalk.gray('2. Restart Claude Code'));\nconsole.log(chalk.gray('3. Start using context tracking!'));\nconsole.log(chalk.gray('\\nUseful commands:'));\nconsole.log(\n chalk.cyan(' npm run mcp:dev') + ' - Start MCP server in dev mode'\n);\nconsole.log(chalk.cyan(' npm run status') + ' - Check StackMemory status');\nconsole.log(chalk.cyan(' npm run analyze') + ' - Analyze context usage\\n');\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
#!/usr/bin/env ts-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 { LinearClient } from "../src/integrations/linear/client.js";
|
|
7
|
+
import { LinearAuthManager } from "../src/integrations/linear/auth.js";
|
|
8
|
+
import chalk from "chalk";
|
|
9
|
+
function getEnv(key, defaultValue) {
|
|
10
|
+
const value = process.env[key];
|
|
11
|
+
if (value === void 0) {
|
|
12
|
+
if (defaultValue !== void 0) return defaultValue;
|
|
13
|
+
throw new Error(`Environment variable ${key} is required`);
|
|
14
|
+
}
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
function getOptionalEnv(key) {
|
|
18
|
+
return process.env[key];
|
|
19
|
+
}
|
|
20
|
+
async function main() {
|
|
21
|
+
try {
|
|
22
|
+
console.log(chalk.cyan("\u{1F50D} Fetching Linear tasks...\n"));
|
|
23
|
+
const authManager = new LinearAuthManager(process.cwd());
|
|
24
|
+
const tokens = authManager.loadTokens();
|
|
25
|
+
const apiKey = process.env["LINEAR_API_KEY"];
|
|
26
|
+
if (!tokens && !apiKey) {
|
|
27
|
+
console.log(chalk.red("\u274C Not authenticated with Linear"));
|
|
28
|
+
console.log("Run: node dist/src/cli/index.js linear setup");
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
const client = apiKey ? new LinearClient({ apiKey }) : new LinearClient({
|
|
32
|
+
apiKey: tokens?.accessToken ?? "",
|
|
33
|
+
useBearer: true
|
|
34
|
+
});
|
|
35
|
+
console.log(chalk.gray("Fetching issues..."));
|
|
36
|
+
const issues = await client.getIssues({ limit: 200 });
|
|
37
|
+
if (!issues || issues.length === 0) {
|
|
38
|
+
console.log(chalk.gray("No issues found"));
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
console.log(chalk.green(`\u2713 Found ${issues.length} tasks`));
|
|
42
|
+
const tasksByStatus = {};
|
|
43
|
+
issues.forEach((issue) => {
|
|
44
|
+
const statusType = issue.state.type;
|
|
45
|
+
const statusName = issue.state.name;
|
|
46
|
+
const key = `${statusType} (${statusName})`;
|
|
47
|
+
if (!tasksByStatus[key]) {
|
|
48
|
+
tasksByStatus[key] = [];
|
|
49
|
+
}
|
|
50
|
+
tasksByStatus[key].push({
|
|
51
|
+
identifier: issue.identifier,
|
|
52
|
+
title: issue.title,
|
|
53
|
+
priority: issue.priority,
|
|
54
|
+
assignee: issue.assignee?.name,
|
|
55
|
+
url: issue.url
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
const statusOrder = [
|
|
59
|
+
"backlog",
|
|
60
|
+
"unstarted",
|
|
61
|
+
"started",
|
|
62
|
+
"completed",
|
|
63
|
+
"cancelled"
|
|
64
|
+
];
|
|
65
|
+
console.log(chalk.cyan("\n\u{1F4CB} Linear Tasks by Status:\n"));
|
|
66
|
+
statusOrder.forEach((statusType) => {
|
|
67
|
+
const matchingKeys = Object.keys(tasksByStatus).filter(
|
|
68
|
+
(key) => key.startsWith(statusType)
|
|
69
|
+
);
|
|
70
|
+
matchingKeys.forEach((statusKey) => {
|
|
71
|
+
const tasks = tasksByStatus[statusKey];
|
|
72
|
+
if (tasks.length === 0) return;
|
|
73
|
+
console.log(
|
|
74
|
+
chalk.bold.white(
|
|
75
|
+
`
|
|
76
|
+
${getStatusEmoji(statusType)} ${statusKey} (${tasks.length} tasks)`
|
|
77
|
+
)
|
|
78
|
+
);
|
|
79
|
+
console.log(chalk.gray("".padEnd(60, "\u2500")));
|
|
80
|
+
tasks.forEach((task) => {
|
|
81
|
+
const priorityStr = task.priority > 0 ? chalk.yellow(`P${task.priority}`) : chalk.gray("--");
|
|
82
|
+
const assigneeStr = task.assignee ? chalk.blue(task.assignee) : chalk.gray("Unassigned");
|
|
83
|
+
const titleStr = task.title.length > 50 ? task.title.substring(0, 47) + "..." : task.title;
|
|
84
|
+
console.log(
|
|
85
|
+
` ${chalk.cyan(task.identifier.padEnd(8))} ${titleStr.padEnd(50)} ${priorityStr.padEnd(8)} ${assigneeStr}`
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
const totalTasks = issues.length;
|
|
91
|
+
const statusCounts = Object.entries(tasksByStatus).map(
|
|
92
|
+
([status, tasks]) => ({
|
|
93
|
+
status,
|
|
94
|
+
count: tasks.length
|
|
95
|
+
})
|
|
96
|
+
);
|
|
97
|
+
console.log(chalk.cyan("\n\u{1F4CA} Summary:"));
|
|
98
|
+
statusCounts.forEach(({ status, count }) => {
|
|
99
|
+
console.log(chalk.gray(` ${status}: ${count} tasks`));
|
|
100
|
+
});
|
|
101
|
+
console.log(chalk.bold(` Total: ${totalTasks} tasks`));
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.error(chalk.red("\u274C Error:"), error.message);
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function getStatusEmoji(statusType) {
|
|
108
|
+
switch (statusType) {
|
|
109
|
+
case "backlog":
|
|
110
|
+
return "\u{1F4CB}";
|
|
111
|
+
case "unstarted":
|
|
112
|
+
return "\u{1F4DD}";
|
|
113
|
+
case "started":
|
|
114
|
+
return "\u23F3";
|
|
115
|
+
case "completed":
|
|
116
|
+
return "\u2705";
|
|
117
|
+
case "cancelled":
|
|
118
|
+
return "\u274C";
|
|
119
|
+
default:
|
|
120
|
+
return "\u{1F4C4}";
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
main();
|
|
124
|
+
//# sourceMappingURL=list-linear-tasks.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../scripts/list-linear-tasks.ts"],
|
|
4
|
+
"sourcesContent": ["#!/usr/bin/env ts-node\n\n/**\n * Standalone script to list all Linear tasks grouped by status\n */\n\nimport { LinearClient } from '../src/integrations/linear/client.js';\nimport { LinearAuthManager } from '../src/integrations/linear/auth.js';\nimport chalk from 'chalk';\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\ninterface TasksByStatus {\n [status: string]: Array<{\n identifier: string;\n title: string;\n priority: number;\n assignee?: string;\n url: string;\n }>;\n}\n\nasync function main() {\n try {\n console.log(chalk.cyan('\uD83D\uDD0D Fetching Linear tasks...\\n'));\n\n // Try to get authentication\n const authManager = new LinearAuthManager(process.cwd());\n const tokens = authManager.loadTokens();\n const apiKey = process.env['LINEAR_API_KEY'];\n\n if (!tokens && !apiKey) {\n console.log(chalk.red('\u274C Not authenticated with Linear'));\n console.log('Run: node dist/src/cli/index.js linear setup');\n process.exit(1);\n }\n\n // Create client\n const client = apiKey\n ? new LinearClient({ apiKey })\n : new LinearClient({\n apiKey: tokens?.accessToken ?? '',\n useBearer: true,\n });\n\n // Get all issues (increase limit to get more tasks)\n console.log(chalk.gray('Fetching issues...'));\n const issues = await client.getIssues({ limit: 200 });\n\n if (!issues || issues.length === 0) {\n console.log(chalk.gray('No issues found'));\n return;\n }\n\n console.log(chalk.green(`\u2713 Found ${issues.length} tasks`));\n\n // Group tasks by status\n const tasksByStatus: TasksByStatus = {};\n\n issues.forEach((issue) => {\n const statusType = issue.state.type;\n const statusName = issue.state.name;\n const key = `${statusType} (${statusName})`;\n\n if (!tasksByStatus[key]) {\n tasksByStatus[key] = [];\n }\n\n tasksByStatus[key].push({\n identifier: issue.identifier,\n title: issue.title,\n priority: issue.priority,\n assignee: issue.assignee?.name,\n url: issue.url,\n });\n });\n\n // Define status order for display\n const statusOrder = [\n 'backlog',\n 'unstarted',\n 'started',\n 'completed',\n 'cancelled',\n ];\n\n // Display results grouped by status\n console.log(chalk.cyan('\\n\uD83D\uDCCB Linear Tasks by Status:\\n'));\n\n statusOrder.forEach((statusType) => {\n // Find all status keys that match this type\n const matchingKeys = Object.keys(tasksByStatus).filter((key) =>\n key.startsWith(statusType)\n );\n\n matchingKeys.forEach((statusKey) => {\n const tasks = tasksByStatus[statusKey];\n if (tasks.length === 0) return;\n\n // Status header with count\n console.log(\n chalk.bold.white(\n `\\n${getStatusEmoji(statusType)} ${statusKey} (${tasks.length} tasks)`\n )\n );\n console.log(chalk.gray(''.padEnd(60, '\u2500')));\n\n // List tasks\n tasks.forEach((task) => {\n const priorityStr =\n task.priority > 0\n ? chalk.yellow(`P${task.priority}`)\n : chalk.gray('--');\n const assigneeStr = task.assignee\n ? chalk.blue(task.assignee)\n : chalk.gray('Unassigned');\n const titleStr =\n task.title.length > 50\n ? task.title.substring(0, 47) + '...'\n : task.title;\n\n console.log(\n ` ${chalk.cyan(task.identifier.padEnd(8))} ${titleStr.padEnd(50)} ${priorityStr.padEnd(8)} ${assigneeStr}`\n );\n });\n });\n });\n\n // Summary\n const totalTasks = issues.length;\n const statusCounts = Object.entries(tasksByStatus).map(\n ([status, tasks]) => ({\n status,\n count: tasks.length,\n })\n );\n\n console.log(chalk.cyan('\\n\uD83D\uDCCA Summary:'));\n statusCounts.forEach(({ status, count }) => {\n console.log(chalk.gray(` ${status}: ${count} tasks`));\n });\n console.log(chalk.bold(` Total: ${totalTasks} tasks`));\n } catch (error: unknown) {\n console.error(chalk.red('\u274C Error:'), (error as Error).message);\n process.exit(1);\n }\n}\n\nfunction getStatusEmoji(statusType: string): string {\n switch (statusType) {\n case 'backlog':\n return '\uD83D\uDCCB';\n case 'unstarted':\n return '\uD83D\uDCDD';\n case 'started':\n return '\u23F3';\n case 'completed':\n return '\u2705';\n case 'cancelled':\n return '\u274C';\n default:\n return '\uD83D\uDCC4';\n }\n}\n\n// Direct execution\nmain();\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|