@stackmemoryai/stackmemory 0.8.0 → 1.0.0
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/LICENSE +64 -0
- package/README.md +54 -4
- package/dist/src/agents/core/agent-task-manager.js +0 -1
- package/dist/src/agents/verifiers/base-verifier.js +0 -1
- package/dist/src/agents/verifiers/formatter-verifier.js +0 -1
- package/dist/src/agents/verifiers/llm-judge.js +0 -1
- package/dist/src/cli/auto-detect.js +0 -1
- package/dist/src/cli/claude-sm-danger.js +0 -1
- package/dist/src/cli/claude-sm.js +69 -373
- package/dist/src/cli/codex-sm-danger.js +0 -1
- package/dist/src/cli/codex-sm.js +28 -1
- package/dist/src/cli/commands/api.js +0 -1
- package/dist/src/cli/commands/auto-background.js +0 -1
- package/dist/src/cli/commands/cleanup-processes.js +0 -1
- package/dist/src/cli/commands/clear.js +0 -1
- package/dist/src/cli/commands/config.js +0 -1
- package/dist/src/cli/commands/context-rehydrate.js +0 -1
- package/dist/src/cli/commands/context.js +0 -1
- package/dist/src/cli/commands/daemon.js +0 -1
- package/dist/src/cli/commands/dashboard.js +4 -5
- package/dist/src/cli/commands/db.js +0 -1
- package/dist/src/cli/commands/decision.js +0 -1
- package/dist/src/cli/commands/discovery.js +0 -1
- package/dist/src/cli/commands/handoff.js +0 -1
- package/dist/src/cli/commands/hooks.js +0 -1
- package/dist/src/cli/commands/linear.js +0 -1
- package/dist/src/cli/commands/log.js +0 -1
- package/dist/src/cli/commands/login.js +0 -1
- package/dist/src/cli/commands/migrate.js +0 -1
- package/dist/src/cli/commands/model.js +0 -1
- package/dist/src/cli/commands/onboard.js +22 -7
- package/dist/src/cli/commands/ping.js +0 -1
- package/dist/src/cli/commands/projects.js +0 -1
- package/dist/src/cli/commands/ralph.js +0 -1
- package/dist/src/cli/commands/retrieval.js +0 -1
- package/dist/src/cli/commands/search.js +0 -1
- package/dist/src/cli/commands/service.js +0 -1
- package/dist/src/cli/commands/session.js +0 -1
- package/dist/src/cli/commands/setup.js +1 -6
- package/dist/src/cli/commands/shell.js +0 -1
- package/dist/src/cli/commands/signup.js +0 -1
- package/dist/src/cli/commands/skills.js +4 -3
- package/dist/src/cli/commands/storage-tier.js +0 -1
- package/dist/src/cli/commands/sweep.js +0 -1
- package/dist/src/cli/commands/tasks.js +0 -1
- package/dist/src/cli/commands/worktree.js +10 -5
- package/dist/src/cli/index.js +9 -76
- package/dist/src/cli/opencode-sm.js +28 -1
- package/dist/src/cli/utils/viewer.js +0 -1
- package/dist/src/core/config/config-manager.js +0 -1
- package/dist/src/core/config/feature-flags.js +1 -14
- package/dist/src/core/config/storage-config.js +0 -1
- package/dist/src/core/config/types.js +0 -1
- package/dist/src/core/context/auto-context.js +0 -1
- package/dist/src/core/context/dual-stack-manager.js +0 -1
- package/dist/src/core/context/enhanced-rehydration.js +0 -2
- package/dist/src/core/context/frame-database.js +60 -6
- package/dist/src/core/context/frame-digest.js +0 -1
- package/dist/src/core/context/frame-handoff-manager.js +0 -1
- package/dist/src/core/context/frame-lifecycle-hooks.js +0 -1
- package/dist/src/core/context/frame-recovery.js +0 -1
- package/dist/src/core/context/frame-stack.js +0 -1
- package/dist/src/core/context/frame-types.js +0 -1
- package/dist/src/core/context/index.js +0 -1
- package/dist/src/core/context/permission-manager.js +0 -1
- package/dist/src/core/context/recursive-context-manager.js +3 -2
- package/dist/src/core/context/refactored-frame-manager.js +0 -1
- package/dist/src/core/context/shared-context-layer.js +0 -1
- package/dist/src/core/context/stack-merge-resolver.js +0 -1
- package/dist/src/core/context/validation.js +0 -1
- package/dist/src/core/database/batch-operations.js +0 -1
- package/dist/src/core/database/connection-pool.js +0 -1
- package/dist/src/core/database/database-adapter.js +0 -1
- package/dist/src/core/database/embedding-provider-factory.js +0 -1
- package/dist/src/core/database/embedding-provider.js +0 -1
- package/dist/src/core/database/migration-manager.js +0 -1
- package/dist/src/core/database/ollama-embedding-provider.js +0 -1
- package/dist/src/core/database/openai-embedding-provider.js +0 -1
- package/dist/src/core/database/query-cache.js +0 -1
- package/dist/src/core/database/query-router.js +0 -1
- package/dist/src/core/database/sqlite-adapter.js +18 -108
- package/dist/src/core/database/transformers-embedding-provider.js +0 -1
- package/dist/src/core/digest/enhanced-hybrid-digest.js +0 -1
- package/dist/src/core/digest/frame-digest-integration.js +0 -1
- package/dist/src/core/digest/hybrid-digest-generator.js +0 -1
- package/dist/src/core/digest/index.js +0 -1
- package/dist/src/core/digest/types.js +0 -1
- package/dist/src/core/errors/error-utils.js +0 -1
- package/dist/src/core/errors/index.js +0 -1
- package/dist/src/core/errors/recovery.js +0 -1
- package/dist/src/core/execution/parallel-executor.js +0 -1
- package/dist/src/core/extensions/custom-tools.js +0 -1
- package/dist/src/core/extensions/index.js +0 -1
- package/dist/src/core/extensions/loader.js +0 -1
- package/dist/src/core/extensions/plugin-system.js +0 -1
- package/dist/src/core/extensions/provider-adapter.js +0 -1
- package/dist/src/core/extensions/sandbox-runtime.js +0 -1
- package/dist/src/core/extensions/types.js +0 -1
- package/dist/src/core/frame/workflow-templates.js +0 -1
- package/dist/src/core/merge/conflict-detector.js +0 -1
- package/dist/src/core/merge/index.js +0 -1
- package/dist/src/core/merge/resolution-engine.js +0 -1
- package/dist/src/core/merge/stack-diff.js +0 -1
- package/dist/src/core/merge/types.js +0 -1
- package/dist/src/core/merge/unified-merge-resolver.js +0 -1
- package/dist/src/core/models/fallback-monitor.js +0 -1
- package/dist/src/core/models/model-router.js +0 -1
- package/dist/src/core/monitoring/error-handler.js +0 -1
- package/dist/src/core/monitoring/logger.js +0 -1
- package/dist/src/core/monitoring/metrics.js +0 -1
- package/dist/src/core/monitoring/progress-tracker.js +0 -1
- package/dist/src/core/monitoring/session-monitor.js +0 -1
- package/dist/src/core/performance/context-cache.js +0 -1
- package/dist/src/core/performance/index.js +0 -1
- package/dist/src/core/performance/lazy-context-loader.js +3 -8
- package/dist/src/core/performance/monitor.js +0 -1
- package/dist/src/core/performance/optimized-frame-context.js +0 -1
- package/dist/src/core/performance/performance-benchmark.js +0 -1
- package/dist/src/core/performance/performance-profiler.js +0 -1
- package/dist/src/core/performance/streaming-jsonl-parser.js +0 -1
- package/dist/src/core/persistence/postgres-adapter.js +0 -1
- package/dist/src/core/projects/project-isolation.js +0 -1
- package/dist/src/core/projects/project-manager.js +0 -1
- package/dist/src/core/query/query-parser.js +0 -1
- package/dist/src/core/query/query-templates.js +0 -1
- package/dist/src/core/retrieval/context-retriever.js +0 -1
- package/dist/src/core/retrieval/index.js +0 -1
- package/dist/src/core/retrieval/llm-context-retrieval.js +0 -1
- package/dist/src/core/retrieval/llm-provider.js +0 -1
- package/dist/src/core/retrieval/privacy-filter.js +0 -1
- package/dist/src/core/retrieval/retrieval-audit.js +0 -1
- package/dist/src/core/retrieval/summary-generator.js +15 -6
- package/dist/src/core/retrieval/types.js +0 -1
- package/dist/src/core/retrieval/unified-context-assembler.js +0 -1
- package/dist/src/core/security/index.js +0 -1
- package/dist/src/core/security/input-sanitizer.js +0 -1
- package/dist/src/core/session/clear-survival.js +0 -1
- package/dist/src/core/session/enhanced-handoff.js +0 -1
- package/dist/src/core/session/handoff-generator.js +0 -1
- package/dist/src/core/session/index.js +0 -1
- package/dist/src/core/session/session-manager.js +0 -1
- package/dist/src/core/skills/index.js +0 -1
- package/dist/src/core/skills/skill-storage.js +0 -1
- package/dist/src/core/skills/types.js +0 -1
- package/dist/src/core/storage/chromadb-adapter.js +0 -1
- package/dist/src/core/storage/infinite-storage.js +0 -1
- package/dist/src/core/storage/project-registry.js +0 -1
- package/dist/src/core/storage/remote-storage.js +4 -2
- package/dist/src/core/storage/storage-tier-manager.js +0 -1
- package/dist/src/core/storage/two-tier-storage.js +0 -1
- package/dist/src/core/trace/cli-trace-wrapper.js +0 -1
- package/dist/src/core/trace/db-trace-wrapper.js +0 -1
- package/dist/src/core/trace/debug-trace.js +0 -1
- package/dist/src/core/trace/index.js +0 -1
- package/dist/src/core/trace/linear-api-wrapper.js +0 -1
- package/dist/src/core/trace/trace-detector.js +0 -1
- package/dist/src/core/trace/trace-store.js +4 -5
- package/dist/src/core/trace/types.js +0 -1
- package/dist/src/core/types.js +0 -1
- package/dist/src/core/utils/async-mutex.js +0 -1
- package/dist/src/core/utils/compression.js +0 -1
- package/dist/src/core/utils/update-checker.js +0 -1
- package/dist/src/core/worktree/worktree-manager.js +0 -1
- package/dist/src/daemon/daemon-config.js +0 -1
- package/dist/src/daemon/services/context-service.js +0 -1
- package/dist/src/daemon/services/linear-service.js +0 -1
- package/dist/src/daemon/services/maintenance-service.js +0 -1
- package/dist/src/daemon/services/memory-service.js +0 -1
- package/dist/src/daemon/session-daemon.js +0 -1
- package/dist/src/daemon/unified-daemon.js +0 -1
- package/dist/src/features/analytics/api/analytics-api.js +0 -1
- package/dist/src/features/analytics/core/analytics-service.js +1 -2
- package/dist/src/features/analytics/index.js +0 -1
- package/dist/src/features/analytics/queries/metrics-queries.js +8 -9
- package/dist/src/features/analytics/types/metrics.js +0 -1
- package/dist/src/features/browser/browser-mcp.js +0 -1
- package/dist/src/features/sweep/index.js +0 -1
- package/dist/src/features/sweep/prediction-client.js +0 -1
- package/dist/src/features/sweep/prompt-builder.js +0 -1
- package/dist/src/features/sweep/pty-wrapper.js +11 -2
- package/dist/src/features/sweep/state-watcher.js +0 -1
- package/dist/src/features/sweep/status-bar.js +0 -1
- package/dist/src/features/sweep/sweep-server-manager.js +0 -1
- package/dist/src/features/sweep/tab-interceptor.js +0 -1
- package/dist/src/features/sweep/types.js +0 -1
- package/dist/src/features/tasks/linear-task-manager.js +0 -1
- package/dist/src/features/tasks/task-aware-context.js +0 -1
- package/dist/src/features/tui/simple-monitor.js +0 -1
- package/dist/src/features/tui/swarm-monitor.js +0 -1
- package/dist/src/features/web/client/stores/task-store.js +0 -1
- package/dist/src/features/web/server/index.js +0 -1
- package/dist/src/features/workers/tmux-manager.js +0 -1
- package/dist/src/features/workers/worker-registry.js +0 -1
- package/dist/src/hooks/auto-background.js +0 -1
- package/dist/src/hooks/config.js +0 -1
- package/dist/src/hooks/daemon.js +0 -1
- package/dist/src/hooks/diffmem-hooks.js +0 -1
- package/dist/src/hooks/events.js +0 -1
- package/dist/src/hooks/index.js +0 -4
- package/dist/src/hooks/linear-task-picker.js +0 -1
- package/dist/src/hooks/schemas.js +0 -118
- package/dist/src/hooks/secure-fs.js +0 -1
- package/dist/src/hooks/security-logger.js +0 -1
- package/dist/src/hooks/session-summary.js +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/integrations/anthropic/client.js +0 -1
- package/dist/src/integrations/claude-code/agent-bridge.js +0 -1
- package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js +0 -1
- package/dist/src/integrations/claude-code/lifecycle-hooks.js +0 -1
- package/dist/src/integrations/claude-code/post-task-hooks.js +0 -1
- package/dist/src/integrations/claude-code/subagent-client-stub.js +0 -1
- package/dist/src/integrations/claude-code/subagent-client.js +0 -1
- package/dist/src/integrations/claude-code/task-coordinator.js +0 -1
- package/dist/src/integrations/diffmem/client.js +0 -1
- package/dist/src/integrations/diffmem/config.js +0 -1
- package/dist/src/integrations/diffmem/index.js +0 -1
- package/dist/src/integrations/diffmem/types.js +0 -1
- package/dist/src/integrations/linear/auth.js +0 -1
- package/dist/src/integrations/linear/auto-sync.js +0 -1
- package/dist/src/integrations/linear/client.js +0 -1
- package/dist/src/integrations/linear/config.js +0 -1
- package/dist/src/integrations/linear/migration.js +0 -1
- package/dist/src/integrations/linear/oauth-server.js +0 -1
- package/dist/src/integrations/linear/rest-client.js +0 -1
- package/dist/src/integrations/linear/sync-manager.js +0 -1
- package/dist/src/integrations/linear/sync-service.js +0 -1
- package/dist/src/integrations/linear/sync.js +0 -1
- package/dist/src/integrations/linear/types.js +0 -1
- package/dist/src/integrations/linear/unified-sync.js +0 -1
- package/dist/src/integrations/linear/webhook-handler.js +0 -1
- package/dist/src/integrations/linear/webhook-server.js +0 -1
- package/dist/src/integrations/linear/webhook.js +0 -1
- package/dist/src/integrations/mcp/handlers/code-execution-handlers.js +0 -1
- package/dist/src/integrations/mcp/handlers/context-handlers.js +43 -30
- package/dist/src/integrations/mcp/handlers/diffmem-handlers.js +0 -1
- package/dist/src/integrations/mcp/handlers/discovery-handlers.js +0 -1
- package/dist/src/integrations/mcp/handlers/index.js +1 -3
- package/dist/src/integrations/mcp/handlers/linear-handlers.js +24 -61
- package/dist/src/integrations/mcp/handlers/skill-handlers.js +0 -1
- package/dist/src/integrations/mcp/handlers/task-handlers.js +0 -1
- package/dist/src/integrations/mcp/handlers/trace-handlers.js +0 -1
- package/dist/src/integrations/mcp/index.js +0 -1
- package/dist/src/integrations/mcp/middleware/tool-scoring.js +3 -2
- package/dist/src/integrations/mcp/pending-utils.js +0 -1
- package/dist/src/integrations/mcp/refactored-server.js +0 -1
- package/dist/src/integrations/mcp/remote-server.js +0 -1
- package/dist/src/integrations/mcp/schemas.js +0 -1
- package/dist/src/integrations/mcp/server.js +20 -24
- package/dist/src/integrations/mcp/tool-definitions-code.js +0 -1
- package/dist/src/integrations/mcp/tool-definitions.js +0 -1
- package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js +0 -1
- package/dist/src/integrations/ralph/context/context-budget-manager.js +0 -1
- package/dist/src/integrations/ralph/context/stackmemory-context-loader.js +0 -1
- package/dist/src/integrations/ralph/coordination/enhanced-coordination.js +0 -1
- package/dist/src/integrations/ralph/index.js +0 -1
- package/dist/src/integrations/ralph/learning/pattern-learner.js +0 -1
- package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js +5 -5
- package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js +0 -1
- package/dist/src/integrations/ralph/monitoring/swarm-registry.js +0 -1
- package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js +0 -1
- package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js +0 -1
- package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js +0 -1
- package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js +0 -1
- package/dist/src/integrations/ralph/performance/performance-optimizer.js +0 -1
- package/dist/src/integrations/ralph/recovery/crash-recovery.js +0 -1
- package/dist/src/integrations/ralph/state/state-reconciler.js +25 -9
- package/dist/src/integrations/ralph/swarm/git-workflow-manager.js +0 -1
- package/dist/src/integrations/ralph/swarm/swarm-coordinator.js +0 -1
- package/dist/src/integrations/ralph/types.js +0 -1
- package/dist/src/integrations/ralph/visualization/ralph-debugger.js +0 -1
- package/dist/src/mcp/stackmemory-mcp-server.js +0 -1
- package/dist/src/middleware/exponential-rate-limiter.js +0 -1
- package/dist/src/models/user.model.js +0 -1
- package/dist/src/orchestrators/multimodal/constants.js +0 -1
- package/dist/src/orchestrators/multimodal/harness.js +0 -1
- package/dist/src/orchestrators/multimodal/providers.js +0 -1
- package/dist/src/orchestrators/multimodal/types.js +0 -1
- package/dist/src/orchestrators/multimodal/utils.js +0 -1
- package/dist/src/servers/production/auth-middleware.js +0 -1
- package/dist/src/services/config-service.js +0 -1
- package/dist/src/services/context-service.js +0 -1
- package/dist/src/skills/api-discovery.js +0 -1
- package/dist/src/skills/api-skill.js +0 -1
- package/dist/src/skills/claude-skills.js +0 -1
- package/dist/src/skills/dashboard-launcher.js +0 -1
- package/dist/src/skills/linear-task-runner.js +0 -1
- package/dist/src/skills/recursive-agent-orchestrator.js +0 -1
- package/dist/src/skills/repo-ingestion-skill.js +0 -1
- package/dist/src/skills/spec-generator-skill.js +0 -1
- package/dist/src/skills/unified-rlm-orchestrator.js +0 -1
- package/dist/src/types/task.js +0 -1
- package/dist/src/utils/env.js +0 -1
- package/dist/src/utils/formatting.js +0 -1
- package/dist/src/utils/process-cleanup.js +0 -1
- package/package.json +33 -8
- package/scripts/smoke-init-db.sh +77 -0
- package/dist/scripts/benchmark-performance.js +0 -48
- package/dist/scripts/benchmark-performance.js.map +0 -7
- package/dist/scripts/check-redis.js +0 -42
- package/dist/scripts/check-redis.js.map +0 -7
- package/dist/scripts/initialize.js +0 -183
- package/dist/scripts/initialize.js.map +0 -7
- package/dist/scripts/list-linear-tasks.js +0 -124
- package/dist/scripts/list-linear-tasks.js.map +0 -7
- package/dist/scripts/measure-handoff-impact.js +0 -340
- package/dist/scripts/measure-handoff-impact.js.map +0 -7
- package/dist/scripts/query-chromadb.js +0 -160
- package/dist/scripts/query-chromadb.js.map +0 -7
- package/dist/scripts/show-linear-summary.js +0 -119
- package/dist/scripts/show-linear-summary.js.map +0 -7
- package/dist/scripts/simple-swarm-demo.js +0 -90
- package/dist/scripts/simple-swarm-demo.js.map +0 -7
- package/dist/scripts/status.js +0 -155
- package/dist/scripts/status.js.map +0 -7
- package/dist/scripts/test-chromadb-sync.js +0 -192
- package/dist/scripts/test-chromadb-sync.js.map +0 -7
- package/dist/scripts/test-ralph-iteration-fix.js +0 -86
- package/dist/scripts/test-ralph-iteration-fix.js.map +0 -7
- package/dist/scripts/test-ralph-iterations.js +0 -121
- package/dist/scripts/test-ralph-iterations.js.map +0 -7
- package/dist/scripts/test-redis-storage.js +0 -389
- package/dist/scripts/test-redis-storage.js.map +0 -7
- package/dist/scripts/test-simple-ralph-state-sync.js +0 -115
- package/dist/scripts/test-simple-ralph-state-sync.js.map +0 -7
- package/dist/scripts/test-swarm-fixes.js +0 -125
- package/dist/scripts/test-swarm-fixes.js.map +0 -7
- package/dist/scripts/test-swarm-tui.js +0 -23
- package/dist/scripts/test-swarm-tui.js.map +0 -7
- package/dist/scripts/test-tui-shortcuts.js +0 -52
- package/dist/scripts/test-tui-shortcuts.js.map +0 -7
- package/dist/scripts/validate-tui-shortcuts.js +0 -60
- package/dist/scripts/validate-tui-shortcuts.js.map +0 -7
- package/dist/src/agents/core/agent-task-manager.js.map +0 -7
- package/dist/src/agents/verifiers/base-verifier.js.map +0 -7
- package/dist/src/agents/verifiers/formatter-verifier.js.map +0 -7
- package/dist/src/agents/verifiers/llm-judge.js.map +0 -7
- package/dist/src/cli/auto-detect.js.map +0 -7
- package/dist/src/cli/claude-sm-danger.js.map +0 -7
- package/dist/src/cli/claude-sm.js.map +0 -7
- package/dist/src/cli/codex-sm-danger.js.map +0 -7
- package/dist/src/cli/codex-sm.js.map +0 -7
- package/dist/src/cli/commands/api.js.map +0 -7
- package/dist/src/cli/commands/auto-background.js.map +0 -7
- package/dist/src/cli/commands/cleanup-processes.js.map +0 -7
- package/dist/src/cli/commands/clear.js.map +0 -7
- package/dist/src/cli/commands/config.js.map +0 -7
- package/dist/src/cli/commands/context-rehydrate.js.map +0 -7
- package/dist/src/cli/commands/context.js.map +0 -7
- package/dist/src/cli/commands/daemon.js.map +0 -7
- package/dist/src/cli/commands/dashboard.js.map +0 -7
- package/dist/src/cli/commands/db.js.map +0 -7
- package/dist/src/cli/commands/decision.js.map +0 -7
- package/dist/src/cli/commands/discovery.js.map +0 -7
- package/dist/src/cli/commands/handoff.js.map +0 -7
- package/dist/src/cli/commands/hooks.js.map +0 -7
- package/dist/src/cli/commands/linear.js.map +0 -7
- package/dist/src/cli/commands/log.js.map +0 -7
- package/dist/src/cli/commands/login.js.map +0 -7
- package/dist/src/cli/commands/migrate.js.map +0 -7
- package/dist/src/cli/commands/model.js.map +0 -7
- package/dist/src/cli/commands/onboard.js.map +0 -7
- package/dist/src/cli/commands/ping.js.map +0 -7
- package/dist/src/cli/commands/projects.js.map +0 -7
- package/dist/src/cli/commands/ralph.js.map +0 -7
- package/dist/src/cli/commands/retrieval.js.map +0 -7
- package/dist/src/cli/commands/search.js.map +0 -7
- package/dist/src/cli/commands/service.js.map +0 -7
- package/dist/src/cli/commands/session.js.map +0 -7
- package/dist/src/cli/commands/settings.js +0 -306
- package/dist/src/cli/commands/settings.js.map +0 -7
- package/dist/src/cli/commands/setup.js.map +0 -7
- package/dist/src/cli/commands/shell.js.map +0 -7
- package/dist/src/cli/commands/signup.js.map +0 -7
- package/dist/src/cli/commands/skills.js.map +0 -7
- package/dist/src/cli/commands/sms-notify.js +0 -795
- package/dist/src/cli/commands/sms-notify.js.map +0 -7
- package/dist/src/cli/commands/storage-tier.js.map +0 -7
- package/dist/src/cli/commands/sweep.js.map +0 -7
- package/dist/src/cli/commands/tasks.js.map +0 -7
- package/dist/src/cli/commands/worktree.js.map +0 -7
- package/dist/src/cli/index.js.map +0 -7
- package/dist/src/cli/opencode-sm.js.map +0 -7
- package/dist/src/cli/utils/viewer.js.map +0 -7
- package/dist/src/core/config/config-manager.js.map +0 -7
- package/dist/src/core/config/feature-flags.js.map +0 -7
- package/dist/src/core/config/storage-config.js.map +0 -7
- package/dist/src/core/config/types.js.map +0 -7
- package/dist/src/core/context/auto-context.js.map +0 -7
- package/dist/src/core/context/dual-stack-manager.js.map +0 -7
- package/dist/src/core/context/enhanced-rehydration.js.map +0 -7
- package/dist/src/core/context/frame-database.js.map +0 -7
- package/dist/src/core/context/frame-digest.js.map +0 -7
- package/dist/src/core/context/frame-handoff-manager.js.map +0 -7
- package/dist/src/core/context/frame-lifecycle-hooks.js.map +0 -7
- package/dist/src/core/context/frame-recovery.js.map +0 -7
- package/dist/src/core/context/frame-stack.js.map +0 -7
- package/dist/src/core/context/frame-types.js.map +0 -7
- package/dist/src/core/context/index.js.map +0 -7
- package/dist/src/core/context/permission-manager.js.map +0 -7
- package/dist/src/core/context/recursive-context-manager.js.map +0 -7
- package/dist/src/core/context/refactored-frame-manager.js.map +0 -7
- package/dist/src/core/context/shared-context-layer.js.map +0 -7
- package/dist/src/core/context/stack-merge-resolver.js.map +0 -7
- package/dist/src/core/context/validation.js.map +0 -7
- package/dist/src/core/database/batch-operations.js.map +0 -7
- package/dist/src/core/database/connection-pool.js.map +0 -7
- package/dist/src/core/database/database-adapter.js.map +0 -7
- package/dist/src/core/database/embedding-provider-factory.js.map +0 -7
- package/dist/src/core/database/embedding-provider.js.map +0 -7
- package/dist/src/core/database/migration-manager.js.map +0 -7
- package/dist/src/core/database/ollama-embedding-provider.js.map +0 -7
- package/dist/src/core/database/openai-embedding-provider.js.map +0 -7
- package/dist/src/core/database/query-cache.js.map +0 -7
- package/dist/src/core/database/query-router.js.map +0 -7
- package/dist/src/core/database/sqlite-adapter.js.map +0 -7
- package/dist/src/core/database/transformers-embedding-provider.js.map +0 -7
- package/dist/src/core/digest/enhanced-hybrid-digest.js.map +0 -7
- package/dist/src/core/digest/frame-digest-integration.js.map +0 -7
- package/dist/src/core/digest/hybrid-digest-generator.js.map +0 -7
- package/dist/src/core/digest/index.js.map +0 -7
- package/dist/src/core/digest/types.js.map +0 -7
- package/dist/src/core/errors/error-utils.js.map +0 -7
- package/dist/src/core/errors/index.js.map +0 -7
- package/dist/src/core/errors/recovery.js.map +0 -7
- package/dist/src/core/execution/parallel-executor.js.map +0 -7
- package/dist/src/core/extensions/custom-tools.js.map +0 -7
- package/dist/src/core/extensions/index.js.map +0 -7
- package/dist/src/core/extensions/loader.js.map +0 -7
- package/dist/src/core/extensions/plugin-system.js.map +0 -7
- package/dist/src/core/extensions/provider-adapter.js.map +0 -7
- package/dist/src/core/extensions/sandbox-runtime.js.map +0 -7
- package/dist/src/core/extensions/types.js.map +0 -7
- package/dist/src/core/frame/workflow-templates.js.map +0 -7
- package/dist/src/core/merge/conflict-detector.js.map +0 -7
- package/dist/src/core/merge/index.js.map +0 -7
- package/dist/src/core/merge/resolution-engine.js.map +0 -7
- package/dist/src/core/merge/stack-diff.js.map +0 -7
- package/dist/src/core/merge/types.js.map +0 -7
- package/dist/src/core/merge/unified-merge-resolver.js.map +0 -7
- package/dist/src/core/models/fallback-monitor.js.map +0 -7
- package/dist/src/core/models/model-router.js.map +0 -7
- package/dist/src/core/monitoring/error-handler.js.map +0 -7
- package/dist/src/core/monitoring/logger.js.map +0 -7
- package/dist/src/core/monitoring/metrics.js.map +0 -7
- package/dist/src/core/monitoring/progress-tracker.js.map +0 -7
- package/dist/src/core/monitoring/session-monitor.js.map +0 -7
- package/dist/src/core/performance/context-cache.js.map +0 -7
- package/dist/src/core/performance/index.js.map +0 -7
- package/dist/src/core/performance/lazy-context-loader.js.map +0 -7
- package/dist/src/core/performance/monitor.js.map +0 -7
- package/dist/src/core/performance/optimized-frame-context.js.map +0 -7
- package/dist/src/core/performance/performance-benchmark.js.map +0 -7
- package/dist/src/core/performance/performance-profiler.js.map +0 -7
- package/dist/src/core/performance/streaming-jsonl-parser.js.map +0 -7
- package/dist/src/core/persistence/postgres-adapter.js.map +0 -7
- package/dist/src/core/projects/project-isolation.js.map +0 -7
- package/dist/src/core/projects/project-manager.js.map +0 -7
- package/dist/src/core/query/query-parser.js.map +0 -7
- package/dist/src/core/query/query-templates.js.map +0 -7
- package/dist/src/core/retrieval/context-retriever.js.map +0 -7
- package/dist/src/core/retrieval/index.js.map +0 -7
- package/dist/src/core/retrieval/llm-context-retrieval.js.map +0 -7
- package/dist/src/core/retrieval/llm-provider.js.map +0 -7
- package/dist/src/core/retrieval/privacy-filter.js.map +0 -7
- package/dist/src/core/retrieval/retrieval-audit.js.map +0 -7
- package/dist/src/core/retrieval/summary-generator.js.map +0 -7
- package/dist/src/core/retrieval/types.js.map +0 -7
- package/dist/src/core/retrieval/unified-context-assembler.js.map +0 -7
- package/dist/src/core/security/index.js.map +0 -7
- package/dist/src/core/security/input-sanitizer.js.map +0 -7
- package/dist/src/core/session/clear-survival.js.map +0 -7
- package/dist/src/core/session/enhanced-handoff.js.map +0 -7
- package/dist/src/core/session/handoff-generator.js.map +0 -7
- package/dist/src/core/session/index.js.map +0 -7
- package/dist/src/core/session/session-manager.js.map +0 -7
- package/dist/src/core/skills/index.js.map +0 -7
- package/dist/src/core/skills/skill-storage.js.map +0 -7
- package/dist/src/core/skills/types.js.map +0 -7
- package/dist/src/core/storage/chromadb-adapter.js.map +0 -7
- package/dist/src/core/storage/infinite-storage.js.map +0 -7
- package/dist/src/core/storage/project-registry.js.map +0 -7
- package/dist/src/core/storage/remote-storage.js.map +0 -7
- package/dist/src/core/storage/storage-tier-manager.js.map +0 -7
- package/dist/src/core/storage/two-tier-storage.js.map +0 -7
- package/dist/src/core/trace/cli-trace-wrapper.js.map +0 -7
- package/dist/src/core/trace/db-trace-wrapper.js.map +0 -7
- package/dist/src/core/trace/debug-trace.js.map +0 -7
- package/dist/src/core/trace/index.js.map +0 -7
- package/dist/src/core/trace/linear-api-wrapper.js.map +0 -7
- package/dist/src/core/trace/trace-detector.js.map +0 -7
- package/dist/src/core/trace/trace-store.js.map +0 -7
- package/dist/src/core/trace/types.js.map +0 -7
- package/dist/src/core/types.js.map +0 -7
- package/dist/src/core/utils/async-mutex.js.map +0 -7
- package/dist/src/core/utils/compression.js.map +0 -7
- package/dist/src/core/utils/update-checker.js.map +0 -7
- package/dist/src/core/worktree/worktree-manager.js.map +0 -7
- package/dist/src/daemon/daemon-config.js.map +0 -7
- package/dist/src/daemon/services/context-service.js.map +0 -7
- package/dist/src/daemon/services/linear-service.js.map +0 -7
- package/dist/src/daemon/services/maintenance-service.js.map +0 -7
- package/dist/src/daemon/services/memory-service.js.map +0 -7
- package/dist/src/daemon/session-daemon.js.map +0 -7
- package/dist/src/daemon/unified-daemon.js.map +0 -7
- package/dist/src/features/analytics/api/analytics-api.js.map +0 -7
- package/dist/src/features/analytics/core/analytics-service.js.map +0 -7
- package/dist/src/features/analytics/index.js.map +0 -7
- package/dist/src/features/analytics/queries/metrics-queries.js.map +0 -7
- package/dist/src/features/analytics/types/metrics.js.map +0 -7
- package/dist/src/features/browser/browser-mcp.js.map +0 -7
- package/dist/src/features/sweep/index.js.map +0 -7
- package/dist/src/features/sweep/prediction-client.js.map +0 -7
- package/dist/src/features/sweep/prompt-builder.js.map +0 -7
- package/dist/src/features/sweep/pty-wrapper.js.map +0 -7
- package/dist/src/features/sweep/state-watcher.js.map +0 -7
- package/dist/src/features/sweep/status-bar.js.map +0 -7
- package/dist/src/features/sweep/sweep-server-manager.js.map +0 -7
- package/dist/src/features/sweep/tab-interceptor.js.map +0 -7
- package/dist/src/features/sweep/types.js.map +0 -7
- package/dist/src/features/tasks/linear-task-manager.js.map +0 -7
- package/dist/src/features/tasks/task-aware-context.js.map +0 -7
- package/dist/src/features/tui/simple-monitor.js.map +0 -7
- package/dist/src/features/tui/swarm-monitor.js.map +0 -7
- package/dist/src/features/web/client/stores/task-store.js.map +0 -7
- package/dist/src/features/web/server/index.js.map +0 -7
- package/dist/src/features/workers/tmux-manager.js.map +0 -7
- package/dist/src/features/workers/worker-registry.js.map +0 -7
- package/dist/src/hooks/auto-background.js.map +0 -7
- package/dist/src/hooks/claude-code-whatsapp-hook.js +0 -197
- package/dist/src/hooks/claude-code-whatsapp-hook.js.map +0 -7
- package/dist/src/hooks/config.js.map +0 -7
- package/dist/src/hooks/daemon.js.map +0 -7
- package/dist/src/hooks/diffmem-hooks.js.map +0 -7
- package/dist/src/hooks/events.js.map +0 -7
- package/dist/src/hooks/index.js.map +0 -7
- package/dist/src/hooks/linear-task-picker.js.map +0 -7
- package/dist/src/hooks/schemas.js.map +0 -7
- package/dist/src/hooks/secure-fs.js.map +0 -7
- package/dist/src/hooks/security-logger.js.map +0 -7
- package/dist/src/hooks/session-summary.js.map +0 -7
- package/dist/src/hooks/sms-action-runner.js +0 -371
- package/dist/src/hooks/sms-action-runner.js.map +0 -7
- package/dist/src/hooks/sms-notify.js +0 -506
- package/dist/src/hooks/sms-notify.js.map +0 -7
- package/dist/src/hooks/sms-watcher.js +0 -93
- package/dist/src/hooks/sms-watcher.js.map +0 -7
- package/dist/src/hooks/sms-webhook.js +0 -555
- package/dist/src/hooks/sms-webhook.js.map +0 -7
- package/dist/src/hooks/whatsapp-commands.js +0 -479
- package/dist/src/hooks/whatsapp-commands.js.map +0 -7
- package/dist/src/hooks/whatsapp-scheduler.js +0 -317
- package/dist/src/hooks/whatsapp-scheduler.js.map +0 -7
- package/dist/src/hooks/whatsapp-sync.js +0 -409
- package/dist/src/hooks/whatsapp-sync.js.map +0 -7
- package/dist/src/index.js.map +0 -7
- package/dist/src/integrations/anthropic/client.js.map +0 -7
- package/dist/src/integrations/claude-code/agent-bridge.js.map +0 -7
- package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js.map +0 -7
- package/dist/src/integrations/claude-code/lifecycle-hooks.js.map +0 -7
- package/dist/src/integrations/claude-code/post-task-hooks.js.map +0 -7
- package/dist/src/integrations/claude-code/subagent-client-stub.js.map +0 -7
- package/dist/src/integrations/claude-code/subagent-client.js.map +0 -7
- package/dist/src/integrations/claude-code/task-coordinator.js.map +0 -7
- package/dist/src/integrations/diffmem/client.js.map +0 -7
- package/dist/src/integrations/diffmem/config.js.map +0 -7
- package/dist/src/integrations/diffmem/index.js.map +0 -7
- package/dist/src/integrations/diffmem/types.js.map +0 -7
- package/dist/src/integrations/linear/auth.js.map +0 -7
- package/dist/src/integrations/linear/auto-sync.js.map +0 -7
- package/dist/src/integrations/linear/client.js.map +0 -7
- package/dist/src/integrations/linear/config.js.map +0 -7
- package/dist/src/integrations/linear/migration.js.map +0 -7
- package/dist/src/integrations/linear/oauth-server.js.map +0 -7
- package/dist/src/integrations/linear/rest-client.js.map +0 -7
- package/dist/src/integrations/linear/sync-manager.js.map +0 -7
- package/dist/src/integrations/linear/sync-service.js.map +0 -7
- package/dist/src/integrations/linear/sync.js.map +0 -7
- package/dist/src/integrations/linear/types.js.map +0 -7
- package/dist/src/integrations/linear/unified-sync.js.map +0 -7
- package/dist/src/integrations/linear/webhook-handler.js.map +0 -7
- package/dist/src/integrations/linear/webhook-server.js.map +0 -7
- package/dist/src/integrations/linear/webhook.js.map +0 -7
- package/dist/src/integrations/mcp/handlers/code-execution-handlers.js.map +0 -7
- package/dist/src/integrations/mcp/handlers/context-handlers.js.map +0 -7
- package/dist/src/integrations/mcp/handlers/diffmem-handlers.js.map +0 -7
- package/dist/src/integrations/mcp/handlers/discovery-handlers.js.map +0 -7
- package/dist/src/integrations/mcp/handlers/index.js.map +0 -7
- package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +0 -7
- package/dist/src/integrations/mcp/handlers/skill-handlers.js.map +0 -7
- package/dist/src/integrations/mcp/handlers/task-handlers.js.map +0 -7
- package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +0 -7
- package/dist/src/integrations/mcp/index.js.map +0 -7
- package/dist/src/integrations/mcp/middleware/tool-scoring.js.map +0 -7
- package/dist/src/integrations/mcp/pending-utils.js.map +0 -7
- package/dist/src/integrations/mcp/refactored-server.js.map +0 -7
- package/dist/src/integrations/mcp/remote-server.js.map +0 -7
- package/dist/src/integrations/mcp/schemas.js.map +0 -7
- package/dist/src/integrations/mcp/server.js.map +0 -7
- package/dist/src/integrations/mcp/tool-definitions-code.js.map +0 -7
- package/dist/src/integrations/mcp/tool-definitions.js.map +0 -7
- package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +0 -7
- package/dist/src/integrations/ralph/context/context-budget-manager.js.map +0 -7
- package/dist/src/integrations/ralph/context/stackmemory-context-loader.js.map +0 -7
- package/dist/src/integrations/ralph/coordination/enhanced-coordination.js.map +0 -7
- package/dist/src/integrations/ralph/index.js.map +0 -7
- package/dist/src/integrations/ralph/learning/pattern-learner.js.map +0 -7
- package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js.map +0 -7
- package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js.map +0 -7
- package/dist/src/integrations/ralph/monitoring/swarm-registry.js.map +0 -7
- package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +0 -7
- package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js.map +0 -7
- package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js.map +0 -7
- package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js.map +0 -7
- package/dist/src/integrations/ralph/performance/performance-optimizer.js.map +0 -7
- package/dist/src/integrations/ralph/recovery/crash-recovery.js.map +0 -7
- package/dist/src/integrations/ralph/state/state-reconciler.js.map +0 -7
- package/dist/src/integrations/ralph/swarm/git-workflow-manager.js.map +0 -7
- package/dist/src/integrations/ralph/swarm/swarm-coordinator.js.map +0 -7
- package/dist/src/integrations/ralph/types.js.map +0 -7
- package/dist/src/integrations/ralph/visualization/ralph-debugger.js.map +0 -7
- package/dist/src/mcp/stackmemory-mcp-server.js.map +0 -7
- package/dist/src/middleware/exponential-rate-limiter.js.map +0 -7
- package/dist/src/models/user.model.js.map +0 -7
- package/dist/src/orchestrators/multimodal/constants.js.map +0 -7
- package/dist/src/orchestrators/multimodal/harness.js.map +0 -7
- package/dist/src/orchestrators/multimodal/providers.js.map +0 -7
- package/dist/src/orchestrators/multimodal/types.js.map +0 -7
- package/dist/src/orchestrators/multimodal/utils.js.map +0 -7
- package/dist/src/servers/production/auth-middleware.js.map +0 -7
- package/dist/src/services/config-service.js.map +0 -7
- package/dist/src/services/context-service.js.map +0 -7
- package/dist/src/skills/api-discovery.js.map +0 -7
- package/dist/src/skills/api-skill.js.map +0 -7
- package/dist/src/skills/claude-skills.js.map +0 -7
- package/dist/src/skills/dashboard-launcher.js.map +0 -7
- package/dist/src/skills/linear-task-runner.js.map +0 -7
- package/dist/src/skills/recursive-agent-orchestrator.js.map +0 -7
- package/dist/src/skills/repo-ingestion-skill.js.map +0 -7
- package/dist/src/skills/spec-generator-skill.js.map +0 -7
- package/dist/src/skills/unified-rlm-orchestrator.js.map +0 -7
- package/dist/src/types/task.js.map +0 -7
- package/dist/src/utils/env.js.map +0 -7
- package/dist/src/utils/formatting.js.map +0 -7
- package/dist/src/utils/process-cleanup.js.map +0 -7
- package/scripts/README-TESTING.md +0 -186
- package/scripts/analyze-cli-security.js +0 -288
- package/scripts/archive/add-phase-tasks-to-linear.js +0 -163
- package/scripts/archive/analyze-linear-duplicates.js +0 -214
- package/scripts/archive/analyze-remaining-duplicates.js +0 -230
- package/scripts/archive/analyze-sta-duplicates.js +0 -292
- package/scripts/archive/analyze-sta-graphql.js +0 -399
- package/scripts/archive/cancel-duplicate-tasks.ts +0 -246
- package/scripts/archive/check-all-duplicates.ts +0 -419
- package/scripts/archive/clean-duplicate-tasks.js +0 -114
- package/scripts/archive/cleanup-duplicate-tasks.ts +0 -286
- package/scripts/archive/create-phase-tasks.js +0 -387
- package/scripts/archive/delete-linear-duplicates.js +0 -182
- package/scripts/archive/delete-remaining-duplicates.js +0 -158
- package/scripts/archive/delete-sta-duplicates.js +0 -201
- package/scripts/archive/delete-sta-oauth.js +0 -201
- package/scripts/archive/export-sta-tasks.js +0 -62
- package/scripts/archive/install-auto-sync.js +0 -266
- package/scripts/archive/install-chromadb-hooks.sh +0 -133
- package/scripts/archive/install-enhanced-clear-hooks.sh +0 -431
- package/scripts/archive/install-post-task-hooks.sh +0 -289
- package/scripts/archive/install-stackmemory-hooks.sh +0 -420
- package/scripts/archive/merge-linear-duplicates-safe.ts +0 -362
- package/scripts/archive/merge-linear-duplicates.ts +0 -182
- package/scripts/archive/remove-sta-tasks.js +0 -70
- package/scripts/archive/setup-background-sync.sh +0 -168
- package/scripts/archive/setup-claude-auto-triggers.sh +0 -181
- package/scripts/archive/setup-claude-autostart.sh +0 -305
- package/scripts/archive/setup-git-hooks.sh +0 -25
- package/scripts/archive/setup-linear-oauth.sh +0 -46
- package/scripts/archive/setup-mcp.sh +0 -113
- package/scripts/archive/setup-railway-deployment.sh +0 -81
- package/scripts/auto-handoff.sh +0 -262
- package/scripts/background-sync-manager.js +0 -478
- package/scripts/benchmark-performance.ts +0 -57
- package/scripts/check-redis.ts +0 -48
- package/scripts/chromadb-auto-loader.sh +0 -128
- package/scripts/chromadb-context-loader.js +0 -479
- package/scripts/claude-chromadb-hook.js +0 -460
- package/scripts/claude-linear-skill.js +0 -455
- package/scripts/claude-pre-commit.sh +0 -302
- package/scripts/claude-sm-autostart.js +0 -579
- package/scripts/claude-with-chromadb.sh +0 -69
- package/scripts/clean-linear-backlog.js +0 -273
- package/scripts/cleanup-old-sessions.sh +0 -57
- package/scripts/create-cleanup-issues.js +0 -302
- package/scripts/create-sandbox.sh +0 -269
- package/scripts/debug-linear-update.js +0 -174
- package/scripts/delete-linear-tasks.js +0 -167
- package/scripts/demos/browser-test.ts +0 -39
- package/scripts/demos/ralph-integration-demo.ts +0 -245
- package/scripts/demos/trace-demo.ts +0 -200
- package/scripts/demos/trace-detector.demo.ts +0 -171
- package/scripts/demos/trace-test.ts +0 -79
- package/scripts/deploy-ralph-swarm.sh +0 -365
- package/scripts/deploy.sh +0 -89
- package/scripts/deployment/test-deployment.js +0 -194
- package/scripts/detect-and-rehydrate.js +0 -162
- package/scripts/detect-and-rehydrate.mjs +0 -165
- package/scripts/development/create-demo-tasks.js +0 -143
- package/scripts/development/debug-frame-test.js +0 -16
- package/scripts/development/demo-auto-sync.js +0 -128
- package/scripts/development/fix-all-imports.js +0 -213
- package/scripts/development/fix-imports.js +0 -229
- package/scripts/development/fix-lint-loop.cjs +0 -103
- package/scripts/development/fix-project-id.ts +0 -161
- package/scripts/development/fix-strict-mode-issues.ts +0 -291
- package/scripts/development/reorganize-structure.sh +0 -228
- package/scripts/development/test-persistence-direct.js +0 -148
- package/scripts/development/test-persistence.js +0 -114
- package/scripts/development/test-tasks.js +0 -93
- package/scripts/development/update-imports.js +0 -212
- package/scripts/fetch-linear-status.js +0 -125
- package/scripts/initialize.ts +0 -220
- package/scripts/install-notify-hook.sh +0 -84
- package/scripts/linear-auto-sync.js +0 -262
- package/scripts/linear-auto-sync.sh +0 -161
- package/scripts/linear-sync-daemon.js +0 -150
- package/scripts/linear-task-review.js +0 -237
- package/scripts/list-linear-tasks.ts +0 -178
- package/scripts/mcp-proxy.js +0 -66
- package/scripts/measure-handoff-impact.mjs +0 -395
- package/scripts/measure-handoff-impact.ts +0 -450
- package/scripts/publish-local.js +0 -74
- package/scripts/query-chromadb.ts +0 -201
- package/scripts/ralph-integration-test.js +0 -274
- package/scripts/reconcile-local-tasks.js +0 -170
- package/scripts/recreate-frames-db.js +0 -89
- package/scripts/setup-notify-webhook.sh +0 -103
- package/scripts/show-linear-summary.ts +0 -172
- package/scripts/simple-swarm-demo.ts +0 -114
- package/scripts/stackmemory-auto-handoff.sh +0 -231
- package/scripts/start-linear-sync-daemon.sh +0 -141
- package/scripts/start-temporal-paradox.sh +0 -214
- package/scripts/status.ts +0 -224
- package/scripts/stop-notify-webhook.sh +0 -19
- package/scripts/swarm-monitor.js +0 -509
- package/scripts/sync-and-clean-tasks.js +0 -258
- package/scripts/sync-linear-graphql.js +0 -303
- package/scripts/sync-linear-tasks.js +0 -186
- package/scripts/test-auto-triggers.sh +0 -57
- package/scripts/test-browser-mcp.js +0 -74
- package/scripts/test-chromadb-full.js +0 -115
- package/scripts/test-chromadb-hooks.sh +0 -28
- package/scripts/test-chromadb-sync.ts +0 -245
- package/scripts/test-claude-config.sh +0 -123
- package/scripts/test-cli-security.js +0 -293
- package/scripts/test-code-execution.js +0 -143
- package/scripts/test-hooks-persistence.sh +0 -220
- package/scripts/test-installation-scenarios.sh +0 -359
- package/scripts/test-installation.sh +0 -224
- package/scripts/test-mcp.js +0 -163
- package/scripts/test-parallel-swarms.js +0 -443
- package/scripts/test-pre-publish-quick.sh +0 -77
- package/scripts/test-quality-gates.sh +0 -263
- package/scripts/test-ralph-iteration-fix.ts +0 -118
- package/scripts/test-ralph-iterations.ts +0 -164
- package/scripts/test-redis-storage.ts +0 -490
- package/scripts/test-rlm-basic.sh +0 -122
- package/scripts/test-rlm-comprehensive.sh +0 -260
- package/scripts/test-rlm-e2e.sh +0 -268
- package/scripts/test-rlm-simple.js +0 -90
- package/scripts/test-rlm.js +0 -110
- package/scripts/test-session-handoff.sh +0 -165
- package/scripts/test-setup-e2e.sh +0 -154
- package/scripts/test-shell-integration.sh +0 -275
- package/scripts/test-simple-ralph-state-sync.ts +0 -178
- package/scripts/test-swarm-fixes.ts +0 -161
- package/scripts/test-swarm-git-workflow.js +0 -338
- package/scripts/test-swarm-tui.ts +0 -34
- package/scripts/test-tui-shortcuts.ts +0 -66
- package/scripts/testing/ab-test-runner.ts +0 -510
- package/scripts/testing/collect-metrics.ts +0 -457
- package/scripts/testing/quick-effectiveness-demo.js +0 -187
- package/scripts/testing/ralph-cli-test.js +0 -88
- package/scripts/testing/ralph-integration-validation.js +0 -727
- package/scripts/testing/ralph-swarm-test-scenarios.js +0 -613
- package/scripts/testing/real-performance-test.js +0 -422
- package/scripts/testing/results/real-performance-results.json +0 -90
- package/scripts/testing/run-effectiveness-tests.sh +0 -176
- package/scripts/testing/simple-effectiveness-test.js +0 -310
- package/scripts/testing/test-tier-migration.js +0 -100
- package/scripts/update-linear-status.js +0 -268
- package/scripts/update-linear-tasks-fixed.js +0 -284
- package/scripts/validate-claude-config.sh +0 -155
- package/scripts/validate-swarm-implementation.js +0 -467
- package/scripts/validate-tui-shortcuts.ts +0 -83
- package/templates/claude-hooks/notify-review-hook.js +0 -360
- package/templates/claude-hooks/sms-response-handler.js +0 -174
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackmemoryai/stackmemory",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Project-scoped memory for AI coding tools. Durable context across sessions with MCP integration, frames, smart retrieval, Claude Code skills, and automatic hooks.",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.0.0",
|
|
@@ -16,11 +16,34 @@
|
|
|
16
16
|
"claude-smd": "bin/claude-smd",
|
|
17
17
|
"opencode-sm": "bin/opencode-sm"
|
|
18
18
|
},
|
|
19
|
-
"types": "dist/src/index.d.ts",
|
|
20
19
|
"files": [
|
|
21
20
|
"bin",
|
|
22
|
-
"dist",
|
|
23
|
-
"scripts",
|
|
21
|
+
"dist/src",
|
|
22
|
+
"scripts/gepa",
|
|
23
|
+
"scripts/git-hooks",
|
|
24
|
+
"scripts/hooks",
|
|
25
|
+
"scripts/setup",
|
|
26
|
+
"scripts/setup.sh",
|
|
27
|
+
"scripts/install.sh",
|
|
28
|
+
"scripts/install-global.sh",
|
|
29
|
+
"scripts/install-claude-hooks.sh",
|
|
30
|
+
"scripts/install-auto-background-hook.sh",
|
|
31
|
+
"scripts/install-sweep-hook.sh",
|
|
32
|
+
"scripts/install-code-execution-hooks.sh",
|
|
33
|
+
"scripts/install-claude-hooks-auto.js",
|
|
34
|
+
"scripts/claude-worktree-manager.sh",
|
|
35
|
+
"scripts/claude-worktree-setup.sh",
|
|
36
|
+
"scripts/claude-worktree-monitor.sh",
|
|
37
|
+
"scripts/claude-code-wrapper.sh",
|
|
38
|
+
"scripts/claude-sm-setup.sh",
|
|
39
|
+
"scripts/codex-wrapper.sh",
|
|
40
|
+
"scripts/opencode-wrapper.sh",
|
|
41
|
+
"scripts/stackmemory-daemon.sh",
|
|
42
|
+
"scripts/ralph-loop-implementation.js",
|
|
43
|
+
"scripts/setup-claude-integration.sh",
|
|
44
|
+
"scripts/setup-claude-integration.js",
|
|
45
|
+
"scripts/verify-dist.cjs",
|
|
46
|
+
"scripts/smoke-init-db.sh",
|
|
24
47
|
"templates",
|
|
25
48
|
"README.md",
|
|
26
49
|
"LICENSE"
|
|
@@ -34,7 +57,10 @@
|
|
|
34
57
|
"url": "https://github.com/stackmemoryai/stackmemory/issues"
|
|
35
58
|
},
|
|
36
59
|
"author": "StackMemory AI",
|
|
37
|
-
"license": "
|
|
60
|
+
"license": "BUSL-1.1",
|
|
61
|
+
"publishConfig": {
|
|
62
|
+
"access": "public"
|
|
63
|
+
},
|
|
38
64
|
"keywords": [
|
|
39
65
|
"ai",
|
|
40
66
|
"memory",
|
|
@@ -60,8 +86,7 @@
|
|
|
60
86
|
"setup": "npm install && npm run build && npm run init",
|
|
61
87
|
"postinstall": "node scripts/install-claude-hooks-auto.js || true",
|
|
62
88
|
"init": "node dist/scripts/initialize.js",
|
|
63
|
-
"build": "node esbuild.config.js",
|
|
64
|
-
"build:types": "tsc --emitDeclarationOnly --project tsconfig.build.json",
|
|
89
|
+
"build": "rm -rf dist && node esbuild.config.js",
|
|
65
90
|
"lint": "eslint src/**/*.ts scripts/**/*.ts",
|
|
66
91
|
"lint:fix": "eslint src/**/*.ts scripts/**/*.ts --fix --max-warnings=-1",
|
|
67
92
|
"lint:fast": "oxlint src scripts",
|
|
@@ -94,6 +119,7 @@
|
|
|
94
119
|
"sync:setup": "./scripts/setup-background-sync.sh",
|
|
95
120
|
"prepare": "echo 'Prepare step completed'",
|
|
96
121
|
"verify:dist": "node scripts/verify-dist.cjs",
|
|
122
|
+
"test:smoke-db": "bash scripts/smoke-init-db.sh",
|
|
97
123
|
"rebuild:native": "npm rebuild better-sqlite3 || true",
|
|
98
124
|
"deps:reset": "rm -rf node_modules package-lock.json && npm ci"
|
|
99
125
|
},
|
|
@@ -123,7 +149,6 @@
|
|
|
123
149
|
"ignore": "^7.0.5",
|
|
124
150
|
"inquirer": "^9.3.8",
|
|
125
151
|
"msgpackr": "^1.10.1",
|
|
126
|
-
"ngrok": "^5.0.0-beta.2",
|
|
127
152
|
"node-pty": "^1.1.0",
|
|
128
153
|
"open": "^11.0.0",
|
|
129
154
|
"ora": "^9.0.0",
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
# Smoke test: verify wrappers auto-init StackMemory and create context.db
|
|
5
|
+
#
|
|
6
|
+
# Steps:
|
|
7
|
+
# - Create a fresh git repo
|
|
8
|
+
# - Prepend a PATH shim so "stackmemory" resolves to local dist CLI
|
|
9
|
+
# - Run each wrapper with flags to avoid external tool execution
|
|
10
|
+
# - Assert .stackmemory/context.db is created (DB enabled)
|
|
11
|
+
#
|
|
12
|
+
# Notes:
|
|
13
|
+
# - Requires that better-sqlite3 can load on this system.
|
|
14
|
+
# - Unsets env that disables DB in CLI (STACKMEMORY_TEST_SKIP_DB).
|
|
15
|
+
|
|
16
|
+
WS_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
17
|
+
DIST_CLI="$WS_ROOT/dist/src/cli/index.js"
|
|
18
|
+
if [[ ! -f "$DIST_CLI" ]]; then
|
|
19
|
+
echo "dist CLI not found at $DIST_CLI; run: npm run build" >&2
|
|
20
|
+
exit 1
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
TEST_ROOT="$WS_ROOT/tmp/smoke-db-$(date +%s)"
|
|
24
|
+
SM_BIN_DIR="$TEST_ROOT/bin"
|
|
25
|
+
mkdir -p "$SM_BIN_DIR" "$TEST_ROOT"
|
|
26
|
+
|
|
27
|
+
# PATH shim for stackmemory -> local dist CLI
|
|
28
|
+
cat > "$SM_BIN_DIR/stackmemory" <<EOS
|
|
29
|
+
#!/usr/bin/env bash
|
|
30
|
+
exec node "$DIST_CLI" "$@"
|
|
31
|
+
EOS
|
|
32
|
+
chmod +x "$SM_BIN_DIR/stackmemory"
|
|
33
|
+
|
|
34
|
+
# Fresh git repo
|
|
35
|
+
mkdir -p "$TEST_ROOT/repo"
|
|
36
|
+
cd "$TEST_ROOT/repo"
|
|
37
|
+
git init -q
|
|
38
|
+
echo "# Smoke Test Repo" > README.md
|
|
39
|
+
git add README.md
|
|
40
|
+
git -c user.email=test@example.com -c user.name=test commit -q -m "init"
|
|
41
|
+
|
|
42
|
+
# PATH and env (ensure DB path is taken)
|
|
43
|
+
export PATH="$SM_BIN_DIR:$PATH"
|
|
44
|
+
unset STACKMEMORY_TEST_SKIP_DB || true
|
|
45
|
+
unset VITEST || true
|
|
46
|
+
unset NODE_ENV || true
|
|
47
|
+
|
|
48
|
+
failures=0
|
|
49
|
+
|
|
50
|
+
run_case() {
|
|
51
|
+
local name="$1"; shift
|
|
52
|
+
local cmd=("$@")
|
|
53
|
+
rm -rf .stackmemory
|
|
54
|
+
set +e
|
|
55
|
+
( "${cmd[@]}" ) >/dev/null 2>&1
|
|
56
|
+
local rc=$?
|
|
57
|
+
set -e
|
|
58
|
+
if [[ -f .stackmemory/context.db ]]; then
|
|
59
|
+
echo "$name: DB_OK (rc=$rc)"
|
|
60
|
+
else
|
|
61
|
+
echo "$name: DB_MISSING (rc=$rc)"; failures=$((failures+1))
|
|
62
|
+
fi
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
# Run wrappers to trigger auto-init
|
|
66
|
+
run_case codex-sm "$WS_ROOT/bin/codex-sm" --no-context --no-trace --codex-bin /bin/false
|
|
67
|
+
run_case opencode-sm "$WS_ROOT/bin/opencode-sm" --no-context --no-trace --opencode-bin /bin/false
|
|
68
|
+
run_case claude-sm "$WS_ROOT/bin/claude-sm" --no-context --no-trace --claude-bin /bin/false
|
|
69
|
+
|
|
70
|
+
if [[ $failures -eq 0 ]]; then
|
|
71
|
+
echo "ALL_DB_OK"
|
|
72
|
+
exit 0
|
|
73
|
+
else
|
|
74
|
+
echo "FAILURES=$failures"
|
|
75
|
+
exit 1
|
|
76
|
+
fi
|
|
77
|
+
|
|
@@ -1,48 +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 Database from "better-sqlite3";
|
|
7
|
-
import { join } from "path";
|
|
8
|
-
import { existsSync } from "fs";
|
|
9
|
-
import { PerformanceBenchmark } from "../src/core/performance/performance-benchmark.js";
|
|
10
|
-
import { logger } from "../src/core/monitoring/logger.js";
|
|
11
|
-
async function runBenchmarks() {
|
|
12
|
-
const projectRoot = process.cwd();
|
|
13
|
-
const dbPath = join(projectRoot, ".stackmemory", "context.db");
|
|
14
|
-
if (!existsSync(dbPath)) {
|
|
15
|
-
console.error(
|
|
16
|
-
'\u274C StackMemory not initialized. Run "stackmemory init" first.'
|
|
17
|
-
);
|
|
18
|
-
process.exit(1);
|
|
19
|
-
}
|
|
20
|
-
const db = new Database(dbPath, { readonly: false });
|
|
21
|
-
const projectId = "benchmark-test";
|
|
22
|
-
console.log("\u{1F680} Starting Performance Benchmarks...\n");
|
|
23
|
-
const benchmark = new PerformanceBenchmark();
|
|
24
|
-
try {
|
|
25
|
-
const suite = await benchmark.runFullSuite(projectRoot, db, projectId);
|
|
26
|
-
console.log("\n\u2705 Benchmarks completed successfully!");
|
|
27
|
-
if (suite.averageImprovement > 0) {
|
|
28
|
-
console.log(
|
|
29
|
-
`
|
|
30
|
-
\u{1F389} Overall performance improved by ${suite.averageImprovement.toFixed(1)}%`
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
process.exit(0);
|
|
34
|
-
} catch (error) {
|
|
35
|
-
console.error("\n\u274C Benchmark failed:", error);
|
|
36
|
-
logger.error("Benchmark error", error);
|
|
37
|
-
process.exit(1);
|
|
38
|
-
} finally {
|
|
39
|
-
db.close();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
43
|
-
runBenchmarks().catch(console.error);
|
|
44
|
-
}
|
|
45
|
-
export {
|
|
46
|
-
runBenchmarks
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=benchmark-performance.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../scripts/benchmark-performance.ts"],
|
|
4
|
-
"sourcesContent": ["#!/usr/bin/env node\n/**\n * Run performance benchmarks\n */\n\nimport Database from 'better-sqlite3';\nimport { join } from 'path';\nimport { existsSync } from 'fs';\nimport { PerformanceBenchmark } from '../src/core/performance/performance-benchmark.js';\nimport { logger } from '../src/core/monitoring/logger.js';\n\nasync function runBenchmarks() {\n const projectRoot = process.cwd();\n const dbPath = join(projectRoot, '.stackmemory', 'context.db');\n\n if (!existsSync(dbPath)) {\n console.error(\n '\u274C StackMemory not initialized. Run \"stackmemory init\" first.'\n );\n process.exit(1);\n }\n\n const db = new Database(dbPath, { readonly: false });\n const projectId = 'benchmark-test';\n\n console.log('\uD83D\uDE80 Starting Performance Benchmarks...\\n');\n\n const benchmark = new PerformanceBenchmark();\n\n try {\n const suite = await benchmark.runFullSuite(projectRoot, db, projectId);\n\n console.log('\\n\u2705 Benchmarks completed successfully!');\n\n // Summary\n if (suite.averageImprovement > 0) {\n console.log(\n `\\n\uD83C\uDF89 Overall performance improved by ${suite.averageImprovement.toFixed(1)}%`\n );\n }\n\n process.exit(0);\n } catch (error: unknown) {\n console.error('\\n\u274C Benchmark failed:', error);\n logger.error('Benchmark error', error as Error);\n process.exit(1);\n } finally {\n db.close();\n }\n}\n\n// Run if called directly\nif (import.meta.url === `file://${process.argv[1]}`) {\n runBenchmarks().catch(console.error);\n}\n\nexport { runBenchmarks };\n"],
|
|
5
|
-
"mappings": ";;;;;AAKA,OAAO,cAAc;AACrB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,4BAA4B;AACrC,SAAS,cAAc;AAEvB,eAAe,gBAAgB;AAC7B,QAAM,cAAc,QAAQ,IAAI;AAChC,QAAM,SAAS,KAAK,aAAa,gBAAgB,YAAY;AAE7D,MAAI,CAAC,WAAW,MAAM,GAAG;AACvB,YAAQ;AAAA,MACN;AAAA,IACF;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,KAAK,IAAI,SAAS,QAAQ,EAAE,UAAU,MAAM,CAAC;AACnD,QAAM,YAAY;AAElB,UAAQ,IAAI,gDAAyC;AAErD,QAAM,YAAY,IAAI,qBAAqB;AAE3C,MAAI;AACF,UAAM,QAAQ,MAAM,UAAU,aAAa,aAAa,IAAI,SAAS;AAErE,YAAQ,IAAI,6CAAwC;AAGpD,QAAI,MAAM,qBAAqB,GAAG;AAChC,cAAQ;AAAA,QACN;AAAA,4CAAwC,MAAM,mBAAmB,QAAQ,CAAC,CAAC;AAAA,MAC7E;AAAA,IACF;AAEA,YAAQ,KAAK,CAAC;AAAA,EAChB,SAAS,OAAgB;AACvB,YAAQ,MAAM,8BAAyB,KAAK;AAC5C,WAAO,MAAM,mBAAmB,KAAc;AAC9C,YAAQ,KAAK,CAAC;AAAA,EAChB,UAAE;AACA,OAAG,MAAM;AAAA,EACX;AACF;AAGA,IAAI,YAAY,QAAQ,UAAU,QAAQ,KAAK,CAAC,CAAC,IAAI;AACnD,gBAAc,EAAE,MAAM,QAAQ,KAAK;AACrC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
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
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,183 +0,0 @@
|
|
|
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
|
-
const enableDiffMem = process.argv.includes("--with-diffmem");
|
|
17
|
-
function getEnv(key, defaultValue) {
|
|
18
|
-
const value = process.env[key];
|
|
19
|
-
if (value === void 0) {
|
|
20
|
-
if (defaultValue !== void 0) return defaultValue;
|
|
21
|
-
throw new Error(`Environment variable ${key} is required`);
|
|
22
|
-
}
|
|
23
|
-
return value;
|
|
24
|
-
}
|
|
25
|
-
function getOptionalEnv(key) {
|
|
26
|
-
return process.env[key];
|
|
27
|
-
}
|
|
28
|
-
const projectRoot = process.cwd();
|
|
29
|
-
console.log(chalk.blue.bold("\n\u{1F680} Initializing StackMemory...\n"));
|
|
30
|
-
const stackDir = join(projectRoot, ".stackmemory");
|
|
31
|
-
if (!existsSync(stackDir)) {
|
|
32
|
-
mkdirSync(stackDir, { recursive: true });
|
|
33
|
-
console.log(chalk.green("\u2713") + " Created .stackmemory directory");
|
|
34
|
-
} else {
|
|
35
|
-
console.log(chalk.yellow("\u26A0") + " .stackmemory directory already exists");
|
|
36
|
-
}
|
|
37
|
-
const gitignorePath = join(projectRoot, ".gitignore");
|
|
38
|
-
const gitignoreEntry = "\n# StackMemory\n.stackmemory/*.db\n.stackmemory/*.db-*\n";
|
|
39
|
-
if (existsSync(gitignorePath)) {
|
|
40
|
-
const gitignore = readFileSync(gitignorePath, "utf-8");
|
|
41
|
-
if (!gitignore.includes(".stackmemory")) {
|
|
42
|
-
appendFileSync(gitignorePath, gitignoreEntry);
|
|
43
|
-
console.log(chalk.green("\u2713") + " Added .stackmemory to .gitignore");
|
|
44
|
-
}
|
|
45
|
-
} else {
|
|
46
|
-
writeFileSync(gitignorePath, gitignoreEntry);
|
|
47
|
-
console.log(chalk.green("\u2713") + " Created .gitignore with .stackmemory");
|
|
48
|
-
}
|
|
49
|
-
const configPath = join(stackDir, "config.json");
|
|
50
|
-
if (!existsSync(configPath)) {
|
|
51
|
-
const config = {
|
|
52
|
-
projectId: projectRoot.split("/").pop(),
|
|
53
|
-
userId: process.env["USER"] || "default",
|
|
54
|
-
teamId: "local",
|
|
55
|
-
initialized: (/* @__PURE__ */ new Date()).toISOString()
|
|
56
|
-
};
|
|
57
|
-
writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
58
|
-
console.log(chalk.green("\u2713") + " Created config file");
|
|
59
|
-
}
|
|
60
|
-
const jsonlPath = join(stackDir, "frames.jsonl");
|
|
61
|
-
if (!existsSync(jsonlPath)) {
|
|
62
|
-
const initialFrame = {
|
|
63
|
-
id: "init_" + Date.now(),
|
|
64
|
-
type: "system",
|
|
65
|
-
content: "StackMemory initialized",
|
|
66
|
-
timestamp: Date.now()
|
|
67
|
-
};
|
|
68
|
-
writeFileSync(jsonlPath, JSON.stringify(initialFrame) + "\n");
|
|
69
|
-
console.log(chalk.green("\u2713") + " Created frames.jsonl");
|
|
70
|
-
}
|
|
71
|
-
const isMacOS = process.platform === "darwin";
|
|
72
|
-
const mcpConfigPath = isMacOS ? join(
|
|
73
|
-
process.env["HOME"] || "~",
|
|
74
|
-
"Library",
|
|
75
|
-
"Application Support",
|
|
76
|
-
"Claude",
|
|
77
|
-
"claude_desktop_config.json"
|
|
78
|
-
) : join(
|
|
79
|
-
process.env["HOME"] || "~",
|
|
80
|
-
".config",
|
|
81
|
-
"claude",
|
|
82
|
-
"claude_desktop_config.json"
|
|
83
|
-
);
|
|
84
|
-
console.log(chalk.blue("\n\u{1F4DD} MCP Configuration for Claude Code:\n"));
|
|
85
|
-
const mcpConfig = {
|
|
86
|
-
mcpServers: {
|
|
87
|
-
stackmemory: {
|
|
88
|
-
command: "node",
|
|
89
|
-
args: [join(projectRoot, "dist", "integrations", "mcp", "server.js")],
|
|
90
|
-
env: {
|
|
91
|
-
PROJECT_ROOT: projectRoot
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
console.log(chalk.gray("Add this to your Claude Code MCP configuration:"));
|
|
97
|
-
console.log(chalk.gray("(" + mcpConfigPath + ")\n"));
|
|
98
|
-
console.log(chalk.cyan(JSON.stringify(mcpConfig, null, 2)));
|
|
99
|
-
console.log(chalk.blue("\n\u{1F4E6} Building TypeScript files...\n"));
|
|
100
|
-
try {
|
|
101
|
-
execSync("npm run build", { stdio: "inherit", cwd: projectRoot });
|
|
102
|
-
console.log(chalk.green("\u2713") + " Build completed");
|
|
103
|
-
} catch {
|
|
104
|
-
console.log(chalk.yellow("\u26A0") + " Build failed - run npm run build manually");
|
|
105
|
-
}
|
|
106
|
-
if (enableDiffMem) {
|
|
107
|
-
console.log(chalk.blue("\n\u{1F9E0} Setting up DiffMem integration...\n"));
|
|
108
|
-
const diffmemDir = join(stackDir, "diffmem");
|
|
109
|
-
const diffmemStorageDir = join(diffmemDir, "storage");
|
|
110
|
-
const diffmemWorktreesDir = join(diffmemDir, "worktrees");
|
|
111
|
-
mkdirSync(diffmemStorageDir, { recursive: true });
|
|
112
|
-
mkdirSync(diffmemWorktreesDir, { recursive: true });
|
|
113
|
-
if (!existsSync(join(diffmemStorageDir, ".git"))) {
|
|
114
|
-
try {
|
|
115
|
-
execSync("git init", { cwd: diffmemStorageDir, stdio: "pipe" });
|
|
116
|
-
execSync('git commit --allow-empty -m "Initialize DiffMem storage"', {
|
|
117
|
-
cwd: diffmemStorageDir,
|
|
118
|
-
stdio: "pipe"
|
|
119
|
-
});
|
|
120
|
-
console.log(chalk.green("\u2713") + " Initialized DiffMem storage repository");
|
|
121
|
-
} catch {
|
|
122
|
-
console.log(
|
|
123
|
-
chalk.yellow("\u26A0") + " Failed to initialize git repo for DiffMem"
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
const diffmemConfigPath = join(diffmemDir, "config.json");
|
|
128
|
-
const diffmemConfig = {
|
|
129
|
-
enabled: true,
|
|
130
|
-
endpoint: "http://localhost:8000",
|
|
131
|
-
userId: process.env["USER"] || "default",
|
|
132
|
-
storagePath: diffmemStorageDir,
|
|
133
|
-
worktreePath: diffmemWorktreesDir
|
|
134
|
-
};
|
|
135
|
-
writeFileSync(diffmemConfigPath, JSON.stringify(diffmemConfig, null, 2));
|
|
136
|
-
console.log(chalk.green("\u2713") + " Created DiffMem configuration");
|
|
137
|
-
const envPath = join(projectRoot, ".env");
|
|
138
|
-
const diffmemEnvVars = `
|
|
139
|
-
# DiffMem Configuration (Long-term User Memory)
|
|
140
|
-
DIFFMEM_ENABLED=true
|
|
141
|
-
DIFFMEM_ENDPOINT=http://localhost:8000
|
|
142
|
-
DIFFMEM_USER_ID=${process.env["USER"] || "default"}
|
|
143
|
-
DIFFMEM_STORAGE_PATH=${diffmemStorageDir}
|
|
144
|
-
DIFFMEM_WORKTREE_PATH=${diffmemWorktreesDir}
|
|
145
|
-
`;
|
|
146
|
-
if (existsSync(envPath)) {
|
|
147
|
-
const envContent = readFileSync(envPath, "utf-8");
|
|
148
|
-
if (!envContent.includes("DIFFMEM_")) {
|
|
149
|
-
appendFileSync(envPath, diffmemEnvVars);
|
|
150
|
-
console.log(chalk.green("\u2713") + " Added DiffMem configuration to .env");
|
|
151
|
-
}
|
|
152
|
-
} else {
|
|
153
|
-
writeFileSync(envPath, diffmemEnvVars.trim() + "\n");
|
|
154
|
-
console.log(chalk.green("\u2713") + " Created .env with DiffMem configuration");
|
|
155
|
-
}
|
|
156
|
-
console.log(chalk.green("\u2713") + " DiffMem integration configured");
|
|
157
|
-
console.log(
|
|
158
|
-
chalk.gray(
|
|
159
|
-
" Note: DiffMem server must be running for user memory features"
|
|
160
|
-
)
|
|
161
|
-
);
|
|
162
|
-
}
|
|
163
|
-
console.log(chalk.green.bold("\n\u2705 StackMemory initialized successfully!\n"));
|
|
164
|
-
console.log(chalk.gray("Next steps:"));
|
|
165
|
-
console.log(chalk.gray("1. Add the MCP configuration above to Claude Code"));
|
|
166
|
-
console.log(chalk.gray("2. Restart Claude Code"));
|
|
167
|
-
console.log(chalk.gray("3. Start using context tracking!"));
|
|
168
|
-
if (enableDiffMem) {
|
|
169
|
-
console.log(chalk.gray("4. Start DiffMem server: npm run diffmem:start"));
|
|
170
|
-
}
|
|
171
|
-
console.log(chalk.gray("\nUseful commands:"));
|
|
172
|
-
console.log(
|
|
173
|
-
chalk.cyan(" npm run mcp:dev") + " - Start MCP server in dev mode"
|
|
174
|
-
);
|
|
175
|
-
console.log(chalk.cyan(" npm run status") + " - Check StackMemory status");
|
|
176
|
-
console.log(chalk.cyan(" npm run analyze") + " - Analyze context usage");
|
|
177
|
-
if (enableDiffMem) {
|
|
178
|
-
console.log(
|
|
179
|
-
chalk.cyan(" npm run diffmem:start") + " - Start DiffMem server"
|
|
180
|
-
);
|
|
181
|
-
}
|
|
182
|
-
console.log();
|
|
183
|
-
//# sourceMappingURL=initialize.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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\n// Parse CLI args for --with-diffmem flag\nconst enableDiffMem = process.argv.includes('--with-diffmem');\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\n// 7. Optional: Initialize DiffMem for long-term user memory\nif (enableDiffMem) {\n console.log(chalk.blue('\\n\uD83E\uDDE0 Setting up DiffMem integration...\\n'));\n\n const diffmemDir = join(stackDir, 'diffmem');\n const diffmemStorageDir = join(diffmemDir, 'storage');\n const diffmemWorktreesDir = join(diffmemDir, 'worktrees');\n\n // Create DiffMem directories\n mkdirSync(diffmemStorageDir, { recursive: true });\n mkdirSync(diffmemWorktreesDir, { recursive: true });\n\n // Initialize git repo for storage\n if (!existsSync(join(diffmemStorageDir, '.git'))) {\n try {\n execSync('git init', { cwd: diffmemStorageDir, stdio: 'pipe' });\n execSync('git commit --allow-empty -m \"Initialize DiffMem storage\"', {\n cwd: diffmemStorageDir,\n stdio: 'pipe',\n });\n console.log(chalk.green('\u2713') + ' Initialized DiffMem storage repository');\n } catch {\n console.log(\n chalk.yellow('\u26A0') + ' Failed to initialize git repo for DiffMem'\n );\n }\n }\n\n // Create DiffMem config\n const diffmemConfigPath = join(diffmemDir, 'config.json');\n const diffmemConfig = {\n enabled: true,\n endpoint: 'http://localhost:8000',\n userId: process.env['USER'] || 'default',\n storagePath: diffmemStorageDir,\n worktreePath: diffmemWorktreesDir,\n };\n writeFileSync(diffmemConfigPath, JSON.stringify(diffmemConfig, null, 2));\n console.log(chalk.green('\u2713') + ' Created DiffMem configuration');\n\n // Add DiffMem env vars to .env file\n const envPath = join(projectRoot, '.env');\n const diffmemEnvVars = `\n# DiffMem Configuration (Long-term User Memory)\nDIFFMEM_ENABLED=true\nDIFFMEM_ENDPOINT=http://localhost:8000\nDIFFMEM_USER_ID=${process.env['USER'] || 'default'}\nDIFFMEM_STORAGE_PATH=${diffmemStorageDir}\nDIFFMEM_WORKTREE_PATH=${diffmemWorktreesDir}\n`;\n\n if (existsSync(envPath)) {\n const envContent = readFileSync(envPath, 'utf-8');\n if (!envContent.includes('DIFFMEM_')) {\n appendFileSync(envPath, diffmemEnvVars);\n console.log(chalk.green('\u2713') + ' Added DiffMem configuration to .env');\n }\n } else {\n writeFileSync(envPath, diffmemEnvVars.trim() + '\\n');\n console.log(chalk.green('\u2713') + ' Created .env with DiffMem configuration');\n }\n\n console.log(chalk.green('\u2713') + ' DiffMem integration configured');\n console.log(\n chalk.gray(\n ' Note: DiffMem server must be running for user memory features'\n )\n );\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!'));\nif (enableDiffMem) {\n console.log(chalk.gray('4. Start DiffMem server: npm run diffmem:start'));\n}\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');\nif (enableDiffMem) {\n console.log(\n chalk.cyan(' npm run diffmem:start') + ' - Start DiffMem server'\n );\n}\nconsole.log();\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,124 +0,0 @@
|
|
|
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
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|
-
}
|