@stackmemoryai/stackmemory 0.5.59 → 0.5.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -1
- package/dist/src/cli/claude-sm.js +130 -50
- package/dist/src/cli/claude-sm.js.map +2 -2
- package/dist/src/cli/index.js +18 -3
- package/dist/src/cli/index.js.map +3 -3
- package/dist/src/core/extensions/custom-tools.js +567 -0
- package/dist/src/core/extensions/custom-tools.js.map +7 -0
- package/dist/src/core/extensions/index.js +55 -0
- package/dist/src/core/extensions/index.js.map +7 -0
- package/dist/src/core/extensions/loader.js +709 -0
- package/dist/src/core/extensions/loader.js.map +7 -0
- package/dist/src/core/extensions/plugin-system.js +506 -0
- package/dist/src/core/extensions/plugin-system.js.map +7 -0
- package/dist/src/core/extensions/provider-adapter.js +617 -0
- package/dist/src/core/extensions/provider-adapter.js.map +7 -0
- package/dist/src/core/extensions/sandbox-runtime.js +664 -0
- package/dist/src/core/extensions/sandbox-runtime.js.map +7 -0
- package/dist/src/core/storage/chromadb-adapter.js +32 -6
- package/dist/src/core/storage/chromadb-adapter.js.map +2 -2
- package/dist/src/skills/repo-ingestion-skill.js +35 -12
- package/dist/src/skills/repo-ingestion-skill.js.map +2 -2
- package/package.json +11 -7
- package/scripts/background-sync-manager.js +145 -83
- package/scripts/claude-sm-autostart.js +17 -12
- package/scripts/gepa/README.md +275 -0
- package/scripts/gepa/config.json +53 -0
- package/scripts/gepa/evals/coding-tasks.jsonl +5 -0
- package/scripts/gepa/evals/fixtures/buggy-loop.js +18 -0
- package/scripts/gepa/evals/fixtures/callback-hell.js +53 -0
- package/scripts/gepa/generations/gen-000/baseline.md +124 -0
- package/scripts/gepa/hooks/auto-optimize.js +494 -0
- package/scripts/gepa/hooks/eval-tracker.js +203 -0
- package/scripts/gepa/hooks/reflect.js +311 -0
- package/scripts/gepa/optimize.js +611 -0
- package/scripts/gepa/state.json +14 -0
- package/scripts/test-pre-publish-quick.sh +1 -1
- package/dist/agents/core/agent-task-manager.js +0 -527
- package/dist/agents/core/agent-task-manager.js.map +0 -7
- package/dist/agents/testing-agent.js +0 -614
- package/dist/agents/testing-agent.js.map +0 -7
- package/dist/agents/verifiers/base-verifier.js +0 -133
- package/dist/agents/verifiers/base-verifier.js.map +0 -7
- package/dist/agents/verifiers/formatter-verifier.js +0 -130
- package/dist/agents/verifiers/formatter-verifier.js.map +0 -7
- package/dist/agents/verifiers/llm-judge.js +0 -252
- package/dist/agents/verifiers/llm-judge.js.map +0 -7
- package/dist/cli/auto-detect.js +0 -321
- package/dist/cli/auto-detect.js.map +0 -7
- package/dist/cli/browser-test.js +0 -33
- package/dist/cli/browser-test.js.map +0 -7
- package/dist/cli/claude-sm-danger.js +0 -21
- package/dist/cli/claude-sm-danger.js.map +0 -7
- package/dist/cli/claude-sm.js +0 -1156
- package/dist/cli/claude-sm.js.map +0 -7
- package/dist/cli/codex-sm-danger.js +0 -21
- package/dist/cli/codex-sm-danger.js.map +0 -7
- package/dist/cli/codex-sm.js +0 -349
- package/dist/cli/codex-sm.js.map +0 -7
- package/dist/cli/commands/api.js +0 -232
- package/dist/cli/commands/api.js.map +0 -7
- package/dist/cli/commands/auto-background.js +0 -180
- package/dist/cli/commands/auto-background.js.map +0 -7
- package/dist/cli/commands/cleanup-processes.js +0 -68
- package/dist/cli/commands/cleanup-processes.js.map +0 -7
- package/dist/cli/commands/clear.js +0 -202
- package/dist/cli/commands/clear.js.map +0 -7
- package/dist/cli/commands/config.js +0 -445
- package/dist/cli/commands/config.js.map +0 -7
- package/dist/cli/commands/context-rehydrate.js +0 -751
- package/dist/cli/commands/context-rehydrate.js.map +0 -7
- package/dist/cli/commands/context.js +0 -343
- package/dist/cli/commands/context.js.map +0 -7
- package/dist/cli/commands/daemon.js +0 -392
- package/dist/cli/commands/daemon.js.map +0 -7
- package/dist/cli/commands/dashboard.js +0 -210
- package/dist/cli/commands/dashboard.js.map +0 -7
- package/dist/cli/commands/db.js +0 -147
- package/dist/cli/commands/db.js.map +0 -7
- package/dist/cli/commands/decision.js +0 -266
- package/dist/cli/commands/decision.js.map +0 -7
- package/dist/cli/commands/discovery.js +0 -279
- package/dist/cli/commands/discovery.js.map +0 -7
- package/dist/cli/commands/handoff.js +0 -624
- package/dist/cli/commands/handoff.js.map +0 -7
- package/dist/cli/commands/hooks.js +0 -298
- package/dist/cli/commands/hooks.js.map +0 -7
- package/dist/cli/commands/linear-unified.js +0 -353
- package/dist/cli/commands/linear-unified.js.map +0 -7
- package/dist/cli/commands/linear.js +0 -529
- package/dist/cli/commands/linear.js.map +0 -7
- package/dist/cli/commands/log.js +0 -169
- package/dist/cli/commands/log.js.map +0 -7
- package/dist/cli/commands/login.js +0 -172
- package/dist/cli/commands/login.js.map +0 -7
- package/dist/cli/commands/migrate.js +0 -240
- package/dist/cli/commands/migrate.js.map +0 -7
- package/dist/cli/commands/model.js +0 -533
- package/dist/cli/commands/model.js.map +0 -7
- package/dist/cli/commands/monitor.js +0 -313
- package/dist/cli/commands/monitor.js.map +0 -7
- package/dist/cli/commands/onboard.js +0 -536
- package/dist/cli/commands/onboard.js.map +0 -7
- package/dist/cli/commands/projects.js +0 -199
- package/dist/cli/commands/projects.js.map +0 -7
- package/dist/cli/commands/quality.js +0 -413
- package/dist/cli/commands/quality.js.map +0 -7
- package/dist/cli/commands/ralph.js +0 -909
- package/dist/cli/commands/ralph.js.map +0 -7
- package/dist/cli/commands/retrieval.js +0 -248
- package/dist/cli/commands/retrieval.js.map +0 -7
- package/dist/cli/commands/search.js +0 -173
- package/dist/cli/commands/search.js.map +0 -7
- package/dist/cli/commands/service.js +0 -749
- package/dist/cli/commands/service.js.map +0 -7
- package/dist/cli/commands/session.js +0 -200
- package/dist/cli/commands/session.js.map +0 -7
- package/dist/cli/commands/settings.js +0 -306
- package/dist/cli/commands/settings.js.map +0 -7
- package/dist/cli/commands/setup.js +0 -701
- package/dist/cli/commands/setup.js.map +0 -7
- package/dist/cli/commands/shell.js +0 -249
- package/dist/cli/commands/shell.js.map +0 -7
- package/dist/cli/commands/signup.js +0 -50
- package/dist/cli/commands/signup.js.map +0 -7
- package/dist/cli/commands/skills.js +0 -470
- package/dist/cli/commands/skills.js.map +0 -7
- package/dist/cli/commands/sms-notify.js +0 -795
- package/dist/cli/commands/sms-notify.js.map +0 -7
- package/dist/cli/commands/storage-tier.js +0 -183
- package/dist/cli/commands/storage-tier.js.map +0 -7
- package/dist/cli/commands/storage.js +0 -360
- package/dist/cli/commands/storage.js.map +0 -7
- package/dist/cli/commands/sweep.js +0 -249
- package/dist/cli/commands/sweep.js.map +0 -7
- package/dist/cli/commands/tasks.js +0 -213
- package/dist/cli/commands/tasks.js.map +0 -7
- package/dist/cli/commands/test.js +0 -286
- package/dist/cli/commands/test.js.map +0 -7
- package/dist/cli/commands/workflow.js +0 -142
- package/dist/cli/commands/workflow.js.map +0 -7
- package/dist/cli/commands/worktree.js +0 -319
- package/dist/cli/commands/worktree.js.map +0 -7
- package/dist/cli/index.js +0 -594
- package/dist/cli/index.js.map +0 -7
- package/dist/cli/opencode-sm.js +0 -448
- package/dist/cli/opencode-sm.js.map +0 -7
- package/dist/cli/utils/viewer.js +0 -96
- package/dist/cli/utils/viewer.js.map +0 -7
- package/dist/core/analytics/team-analytics.js +0 -378
- package/dist/core/analytics/team-analytics.js.map +0 -7
- package/dist/core/config/config-manager.js +0 -398
- package/dist/core/config/config-manager.js.map +0 -7
- package/dist/core/config/feature-flags.js +0 -76
- package/dist/core/config/feature-flags.js.map +0 -7
- package/dist/core/config/storage-config.js +0 -115
- package/dist/core/config/storage-config.js.map +0 -7
- package/dist/core/config/types.js +0 -144
- package/dist/core/config/types.js.map +0 -7
- package/dist/core/context/auto-context.js +0 -80
- package/dist/core/context/auto-context.js.map +0 -7
- package/dist/core/context/dual-stack-manager.js +0 -870
- package/dist/core/context/dual-stack-manager.js.map +0 -7
- package/dist/core/context/enhanced-rehydration.js +0 -994
- package/dist/core/context/enhanced-rehydration.js.map +0 -7
- package/dist/core/context/frame-database.js +0 -479
- package/dist/core/context/frame-database.js.map +0 -7
- package/dist/core/context/frame-digest.js +0 -250
- package/dist/core/context/frame-digest.js.map +0 -7
- package/dist/core/context/frame-handoff-manager.js +0 -778
- package/dist/core/context/frame-handoff-manager.js.map +0 -7
- package/dist/core/context/frame-lifecycle-hooks.js +0 -119
- package/dist/core/context/frame-lifecycle-hooks.js.map +0 -7
- package/dist/core/context/frame-manager.js +0 -1069
- package/dist/core/context/frame-manager.js.map +0 -7
- package/dist/core/context/frame-recovery.js +0 -302
- package/dist/core/context/frame-recovery.js.map +0 -7
- package/dist/core/context/frame-stack.js +0 -314
- package/dist/core/context/frame-stack.js.map +0 -7
- package/dist/core/context/frame-types.js +0 -5
- package/dist/core/context/frame-types.js.map +0 -7
- package/dist/core/context/incremental-gc.js +0 -290
- package/dist/core/context/incremental-gc.js.map +0 -7
- package/dist/core/context/index.js +0 -25
- package/dist/core/context/index.js.map +0 -7
- package/dist/core/context/model-aware-compaction.js +0 -623
- package/dist/core/context/model-aware-compaction.js.map +0 -7
- package/dist/core/context/permission-manager.js +0 -185
- package/dist/core/context/permission-manager.js.map +0 -7
- package/dist/core/context/recursive-context-manager.js +0 -592
- package/dist/core/context/recursive-context-manager.js.map +0 -7
- package/dist/core/context/refactored-frame-manager.js +0 -754
- package/dist/core/context/refactored-frame-manager.js.map +0 -7
- package/dist/core/context/shared-context-layer.js +0 -621
- package/dist/core/context/shared-context-layer.js.map +0 -7
- package/dist/core/context/stack-merge-resolver.js +0 -749
- package/dist/core/context/stack-merge-resolver.js.map +0 -7
- package/dist/core/context/validation.js +0 -130
- package/dist/core/context/validation.js.map +0 -7
- package/dist/core/database/batch-operations.js +0 -384
- package/dist/core/database/batch-operations.js.map +0 -7
- package/dist/core/database/connection-pool.js +0 -330
- package/dist/core/database/connection-pool.js.map +0 -7
- package/dist/core/database/database-adapter.js +0 -60
- package/dist/core/database/database-adapter.js.map +0 -7
- package/dist/core/database/migration-manager.js +0 -614
- package/dist/core/database/migration-manager.js.map +0 -7
- package/dist/core/database/paradedb-adapter.js +0 -990
- package/dist/core/database/paradedb-adapter.js.map +0 -7
- package/dist/core/database/query-cache.js +0 -298
- package/dist/core/database/query-cache.js.map +0 -7
- package/dist/core/database/query-router.js +0 -430
- package/dist/core/database/query-router.js.map +0 -7
- package/dist/core/database/sqlite-adapter.js +0 -738
- package/dist/core/database/sqlite-adapter.js.map +0 -7
- package/dist/core/digest/enhanced-hybrid-digest.js +0 -277
- package/dist/core/digest/enhanced-hybrid-digest.js.map +0 -7
- package/dist/core/digest/frame-digest-integration.js +0 -176
- package/dist/core/digest/frame-digest-integration.js.map +0 -7
- package/dist/core/digest/hybrid-digest-generator.js +0 -553
- package/dist/core/digest/hybrid-digest-generator.js.map +0 -7
- package/dist/core/digest/index.js +0 -9
- package/dist/core/digest/index.js.map +0 -7
- package/dist/core/digest/types.js +0 -25
- package/dist/core/digest/types.js.map +0 -7
- package/dist/core/errors/error-utils.js +0 -208
- package/dist/core/errors/error-utils.js.map +0 -7
- package/dist/core/errors/index.js +0 -521
- package/dist/core/errors/index.js.map +0 -7
- package/dist/core/errors/recovery.js +0 -269
- package/dist/core/errors/recovery.js.map +0 -7
- package/dist/core/execution/parallel-executor.js +0 -258
- package/dist/core/execution/parallel-executor.js.map +0 -7
- package/dist/core/frame/workflow-templates.js +0 -319
- package/dist/core/frame/workflow-templates.js.map +0 -7
- package/dist/core/merge/conflict-detector.js +0 -431
- package/dist/core/merge/conflict-detector.js.map +0 -7
- package/dist/core/merge/index.js +0 -9
- package/dist/core/merge/index.js.map +0 -7
- package/dist/core/merge/resolution-engine.js +0 -558
- package/dist/core/merge/resolution-engine.js.map +0 -7
- package/dist/core/merge/stack-diff.js +0 -532
- package/dist/core/merge/stack-diff.js.map +0 -7
- package/dist/core/merge/unified-merge-resolver.js +0 -303
- package/dist/core/merge/unified-merge-resolver.js.map +0 -7
- package/dist/core/models/fallback-monitor.js +0 -232
- package/dist/core/models/fallback-monitor.js.map +0 -7
- package/dist/core/models/model-router.js +0 -340
- package/dist/core/models/model-router.js.map +0 -7
- package/dist/core/monitoring/error-handler.js +0 -49
- package/dist/core/monitoring/error-handler.js.map +0 -7
- package/dist/core/monitoring/logger.js +0 -202
- package/dist/core/monitoring/logger.js.map +0 -7
- package/dist/core/monitoring/metrics.js +0 -172
- package/dist/core/monitoring/metrics.js.map +0 -7
- package/dist/core/monitoring/progress-tracker.js +0 -189
- package/dist/core/monitoring/progress-tracker.js.map +0 -7
- package/dist/core/monitoring/session-monitor.js +0 -300
- package/dist/core/monitoring/session-monitor.js.map +0 -7
- package/dist/core/performance/context-cache.js +0 -273
- package/dist/core/performance/context-cache.js.map +0 -7
- package/dist/core/performance/index.js +0 -11
- package/dist/core/performance/index.js.map +0 -7
- package/dist/core/performance/lazy-context-loader.js +0 -327
- package/dist/core/performance/lazy-context-loader.js.map +0 -7
- package/dist/core/performance/monitor.js +0 -221
- package/dist/core/performance/monitor.js.map +0 -7
- package/dist/core/performance/optimized-frame-context.js +0 -345
- package/dist/core/performance/optimized-frame-context.js.map +0 -7
- package/dist/core/performance/performance-benchmark.js +0 -277
- package/dist/core/performance/performance-benchmark.js.map +0 -7
- package/dist/core/performance/performance-profiler.js +0 -370
- package/dist/core/performance/performance-profiler.js.map +0 -7
- package/dist/core/performance/streaming-jsonl-parser.js +0 -195
- package/dist/core/performance/streaming-jsonl-parser.js.map +0 -7
- package/dist/core/persistence/postgres-adapter.js +0 -349
- package/dist/core/persistence/postgres-adapter.js.map +0 -7
- package/dist/core/projects/project-isolation.js +0 -201
- package/dist/core/projects/project-isolation.js.map +0 -7
- package/dist/core/projects/project-manager.js +0 -697
- package/dist/core/projects/project-manager.js.map +0 -7
- package/dist/core/query/query-parser.js +0 -370
- package/dist/core/query/query-parser.js.map +0 -7
- package/dist/core/query/query-templates.js +0 -321
- package/dist/core/query/query-templates.js.map +0 -7
- package/dist/core/retrieval/context-retriever.js +0 -479
- package/dist/core/retrieval/context-retriever.js.map +0 -7
- package/dist/core/retrieval/graph-retrieval.js +0 -662
- package/dist/core/retrieval/graph-retrieval.js.map +0 -7
- package/dist/core/retrieval/hierarchical-retrieval.js +0 -656
- package/dist/core/retrieval/hierarchical-retrieval.js.map +0 -7
- package/dist/core/retrieval/index.js +0 -8
- package/dist/core/retrieval/index.js.map +0 -7
- package/dist/core/retrieval/llm-context-retrieval.js +0 -613
- package/dist/core/retrieval/llm-context-retrieval.js.map +0 -7
- package/dist/core/retrieval/llm-provider.js +0 -151
- package/dist/core/retrieval/llm-provider.js.map +0 -7
- package/dist/core/retrieval/retrieval-audit.js +0 -236
- package/dist/core/retrieval/retrieval-audit.js.map +0 -7
- package/dist/core/retrieval/retrieval-benchmarks.js +0 -521
- package/dist/core/retrieval/retrieval-benchmarks.js.map +0 -7
- package/dist/core/retrieval/summary-generator.js +0 -589
- package/dist/core/retrieval/summary-generator.js.map +0 -7
- package/dist/core/retrieval/types.js +0 -21
- package/dist/core/retrieval/types.js.map +0 -7
- package/dist/core/security/index.js +0 -35
- package/dist/core/security/index.js.map +0 -7
- package/dist/core/security/input-sanitizer.js +0 -321
- package/dist/core/security/input-sanitizer.js.map +0 -7
- package/dist/core/session/clear-survival.js +0 -465
- package/dist/core/session/clear-survival.js.map +0 -7
- package/dist/core/session/enhanced-handoff.js +0 -792
- package/dist/core/session/enhanced-handoff.js.map +0 -7
- package/dist/core/session/handoff-generator.js +0 -343
- package/dist/core/session/handoff-generator.js.map +0 -7
- package/dist/core/session/index.js +0 -15
- package/dist/core/session/index.js.map +0 -7
- package/dist/core/session/session-manager.js +0 -347
- package/dist/core/session/session-manager.js.map +0 -7
- package/dist/core/skills/index.js +0 -7
- package/dist/core/skills/index.js.map +0 -7
- package/dist/core/skills/skill-storage.js +0 -764
- package/dist/core/skills/skill-storage.js.map +0 -7
- package/dist/core/skills/types.js +0 -193
- package/dist/core/skills/types.js.map +0 -7
- package/dist/core/storage/chromadb-adapter.js +0 -354
- package/dist/core/storage/chromadb-adapter.js.map +0 -7
- package/dist/core/storage/infinite-storage.js +0 -510
- package/dist/core/storage/infinite-storage.js.map +0 -7
- package/dist/core/storage/railway-optimized-storage.js +0 -591
- package/dist/core/storage/railway-optimized-storage.js.map +0 -7
- package/dist/core/storage/remote-storage.js +0 -489
- package/dist/core/storage/remote-storage.js.map +0 -7
- package/dist/core/storage/two-tier-storage.js +0 -766
- package/dist/core/storage/two-tier-storage.js.map +0 -7
- package/dist/core/trace/cli-trace-wrapper.js +0 -132
- package/dist/core/trace/cli-trace-wrapper.js.map +0 -7
- package/dist/core/trace/db-trace-wrapper.js +0 -247
- package/dist/core/trace/db-trace-wrapper.js.map +0 -7
- package/dist/core/trace/debug-trace.js +0 -417
- package/dist/core/trace/debug-trace.js.map +0 -7
- package/dist/core/trace/index.js +0 -109
- package/dist/core/trace/index.js.map +0 -7
- package/dist/core/trace/linear-api-wrapper.js +0 -178
- package/dist/core/trace/linear-api-wrapper.js.map +0 -7
- package/dist/core/trace/trace-demo.js +0 -154
- package/dist/core/trace/trace-demo.js.map +0 -7
- package/dist/core/trace/trace-detector.demo.js +0 -142
- package/dist/core/trace/trace-detector.demo.js.map +0 -7
- package/dist/core/trace/trace-detector.js +0 -528
- package/dist/core/trace/trace-detector.js.map +0 -7
- package/dist/core/trace/trace-store.js +0 -345
- package/dist/core/trace/trace-store.js.map +0 -7
- package/dist/core/trace/types.js +0 -77
- package/dist/core/trace/types.js.map +0 -7
- package/dist/core/types.js +0 -5
- package/dist/core/types.js.map +0 -7
- package/dist/core/utils/async-mutex.js +0 -114
- package/dist/core/utils/async-mutex.js.map +0 -7
- package/dist/core/utils/compression.js +0 -83
- package/dist/core/utils/compression.js.map +0 -7
- package/dist/core/utils/update-checker.js +0 -218
- package/dist/core/utils/update-checker.js.map +0 -7
- package/dist/core/worktree/worktree-manager.js +0 -465
- package/dist/core/worktree/worktree-manager.js.map +0 -7
- package/dist/daemon/daemon-config.js +0 -149
- package/dist/daemon/daemon-config.js.map +0 -7
- package/dist/daemon/services/context-service.js +0 -122
- package/dist/daemon/services/context-service.js.map +0 -7
- package/dist/daemon/services/linear-service.js +0 -136
- package/dist/daemon/services/linear-service.js.map +0 -7
- package/dist/daemon/session-daemon.js +0 -312
- package/dist/daemon/session-daemon.js.map +0 -7
- package/dist/daemon/unified-daemon.js +0 -276
- package/dist/daemon/unified-daemon.js.map +0 -7
- package/dist/features/analytics/api/analytics-api.js +0 -287
- package/dist/features/analytics/api/analytics-api.js.map +0 -7
- package/dist/features/analytics/core/analytics-service.js +0 -282
- package/dist/features/analytics/core/analytics-service.js.map +0 -7
- package/dist/features/analytics/index.js +0 -18
- package/dist/features/analytics/index.js.map +0 -7
- package/dist/features/analytics/queries/metrics-queries.js +0 -277
- package/dist/features/analytics/queries/metrics-queries.js.map +0 -7
- package/dist/features/analytics/types/metrics.js +0 -5
- package/dist/features/analytics/types/metrics.js.map +0 -7
- package/dist/features/browser/browser-mcp.js +0 -492
- package/dist/features/browser/browser-mcp.js.map +0 -7
- package/dist/features/sweep/index.js +0 -20
- package/dist/features/sweep/index.js.map +0 -7
- package/dist/features/sweep/prediction-client.js +0 -155
- package/dist/features/sweep/prediction-client.js.map +0 -7
- package/dist/features/sweep/prompt-builder.js +0 -85
- package/dist/features/sweep/prompt-builder.js.map +0 -7
- package/dist/features/sweep/pty-wrapper.js +0 -171
- package/dist/features/sweep/pty-wrapper.js.map +0 -7
- package/dist/features/sweep/state-watcher.js +0 -87
- package/dist/features/sweep/state-watcher.js.map +0 -7
- package/dist/features/sweep/status-bar.js +0 -88
- package/dist/features/sweep/status-bar.js.map +0 -7
- package/dist/features/sweep/sweep-server-manager.js +0 -226
- package/dist/features/sweep/sweep-server-manager.js.map +0 -7
- package/dist/features/sweep/tab-interceptor.js +0 -38
- package/dist/features/sweep/tab-interceptor.js.map +0 -7
- package/dist/features/sweep/types.js +0 -18
- package/dist/features/sweep/types.js.map +0 -7
- package/dist/features/tasks/linear-task-manager.js +0 -487
- package/dist/features/tasks/linear-task-manager.js.map +0 -7
- package/dist/features/tasks/task-aware-context.js +0 -410
- package/dist/features/tasks/task-aware-context.js.map +0 -7
- package/dist/features/tui/simple-monitor.js +0 -116
- package/dist/features/tui/simple-monitor.js.map +0 -7
- package/dist/features/tui/swarm-monitor.js +0 -648
- package/dist/features/tui/swarm-monitor.js.map +0 -7
- package/dist/features/web/client/stores/task-store.js +0 -26
- package/dist/features/web/client/stores/task-store.js.map +0 -7
- package/dist/features/web/server/index.js +0 -194
- package/dist/features/web/server/index.js.map +0 -7
- package/dist/hooks/auto-background.js +0 -151
- package/dist/hooks/auto-background.js.map +0 -7
- package/dist/hooks/claude-code-whatsapp-hook.js +0 -197
- package/dist/hooks/claude-code-whatsapp-hook.js.map +0 -7
- package/dist/hooks/config.js +0 -150
- package/dist/hooks/config.js.map +0 -7
- package/dist/hooks/daemon.js +0 -364
- package/dist/hooks/daemon.js.map +0 -7
- package/dist/hooks/events.js +0 -58
- package/dist/hooks/events.js.map +0 -7
- package/dist/hooks/index.js +0 -12
- package/dist/hooks/index.js.map +0 -7
- package/dist/hooks/linear-task-picker.js +0 -186
- package/dist/hooks/linear-task-picker.js.map +0 -7
- package/dist/hooks/schemas.js +0 -197
- package/dist/hooks/schemas.js.map +0 -7
- package/dist/hooks/secure-fs.js +0 -49
- package/dist/hooks/secure-fs.js.map +0 -7
- package/dist/hooks/security-logger.js +0 -155
- package/dist/hooks/security-logger.js.map +0 -7
- package/dist/hooks/session-summary.js +0 -222
- package/dist/hooks/session-summary.js.map +0 -7
- package/dist/hooks/sms-action-runner.js +0 -371
- package/dist/hooks/sms-action-runner.js.map +0 -7
- package/dist/hooks/sms-notify.js +0 -506
- package/dist/hooks/sms-notify.js.map +0 -7
- package/dist/hooks/sms-watcher.js +0 -93
- package/dist/hooks/sms-watcher.js.map +0 -7
- package/dist/hooks/sms-webhook.js +0 -555
- package/dist/hooks/sms-webhook.js.map +0 -7
- package/dist/hooks/whatsapp-commands.js +0 -479
- package/dist/hooks/whatsapp-commands.js.map +0 -7
- package/dist/hooks/whatsapp-scheduler.js +0 -317
- package/dist/hooks/whatsapp-scheduler.js.map +0 -7
- package/dist/hooks/whatsapp-sync.js +0 -409
- package/dist/hooks/whatsapp-sync.js.map +0 -7
- package/dist/index.js +0 -25
- package/dist/index.js.map +0 -7
- package/dist/integrations/anthropic/client.js +0 -263
- package/dist/integrations/anthropic/client.js.map +0 -7
- package/dist/integrations/claude-code/agent-bridge.js +0 -768
- package/dist/integrations/claude-code/agent-bridge.js.map +0 -7
- package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js +0 -459
- package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +0 -7
- package/dist/integrations/claude-code/lifecycle-hooks.js +0 -254
- package/dist/integrations/claude-code/lifecycle-hooks.js.map +0 -7
- package/dist/integrations/claude-code/post-task-hooks.js +0 -545
- package/dist/integrations/claude-code/post-task-hooks.js.map +0 -7
- package/dist/integrations/claude-code/subagent-client-stub.js +0 -20
- package/dist/integrations/claude-code/subagent-client-stub.js.map +0 -7
- package/dist/integrations/claude-code/subagent-client.js +0 -511
- package/dist/integrations/claude-code/subagent-client.js.map +0 -7
- package/dist/integrations/claude-code/task-coordinator.js +0 -360
- package/dist/integrations/claude-code/task-coordinator.js.map +0 -7
- package/dist/integrations/linear/auth.js +0 -337
- package/dist/integrations/linear/auth.js.map +0 -7
- package/dist/integrations/linear/auto-sync.js +0 -258
- package/dist/integrations/linear/auto-sync.js.map +0 -7
- package/dist/integrations/linear/client.js +0 -634
- package/dist/integrations/linear/client.js.map +0 -7
- package/dist/integrations/linear/config.js +0 -130
- package/dist/integrations/linear/config.js.map +0 -7
- package/dist/integrations/linear/migration.js +0 -361
- package/dist/integrations/linear/migration.js.map +0 -7
- package/dist/integrations/linear/oauth-server.js +0 -454
- package/dist/integrations/linear/oauth-server.js.map +0 -7
- package/dist/integrations/linear/rest-client.js +0 -213
- package/dist/integrations/linear/rest-client.js.map +0 -7
- package/dist/integrations/linear/sync-manager.js +0 -236
- package/dist/integrations/linear/sync-manager.js.map +0 -7
- package/dist/integrations/linear/sync-service.js +0 -231
- package/dist/integrations/linear/sync-service.js.map +0 -7
- package/dist/integrations/linear/sync.js +0 -782
- package/dist/integrations/linear/sync.js.map +0 -7
- package/dist/integrations/linear/types.js +0 -5
- package/dist/integrations/linear/types.js.map +0 -7
- package/dist/integrations/linear/unified-sync.js +0 -589
- package/dist/integrations/linear/unified-sync.js.map +0 -7
- package/dist/integrations/linear/webhook-handler.js +0 -219
- package/dist/integrations/linear/webhook-handler.js.map +0 -7
- package/dist/integrations/linear/webhook-server.js +0 -218
- package/dist/integrations/linear/webhook-server.js.map +0 -7
- package/dist/integrations/linear/webhook.js +0 -291
- package/dist/integrations/linear/webhook.js.map +0 -7
- package/dist/integrations/mcp/handlers/code-execution-handlers.js +0 -266
- package/dist/integrations/mcp/handlers/code-execution-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/context-handlers.js +0 -257
- package/dist/integrations/mcp/handlers/context-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/discovery-handlers.js +0 -497
- package/dist/integrations/mcp/handlers/discovery-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/index.js +0 -166
- package/dist/integrations/mcp/handlers/index.js.map +0 -7
- package/dist/integrations/mcp/handlers/linear-handlers.js +0 -247
- package/dist/integrations/mcp/handlers/linear-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/skill-handlers.js +0 -529
- package/dist/integrations/mcp/handlers/skill-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/task-handlers.js +0 -239
- package/dist/integrations/mcp/handlers/task-handlers.js.map +0 -7
- package/dist/integrations/mcp/handlers/trace-handlers.js +0 -308
- package/dist/integrations/mcp/handlers/trace-handlers.js.map +0 -7
- package/dist/integrations/mcp/index.js +0 -23
- package/dist/integrations/mcp/index.js.map +0 -7
- package/dist/integrations/mcp/middleware/tool-scoring.js +0 -356
- package/dist/integrations/mcp/middleware/tool-scoring.js.map +0 -7
- package/dist/integrations/mcp/refactored-server.js +0 -374
- package/dist/integrations/mcp/refactored-server.js.map +0 -7
- package/dist/integrations/mcp/remote-server.js +0 -682
- package/dist/integrations/mcp/remote-server.js.map +0 -7
- package/dist/integrations/mcp/schemas.js +0 -147
- package/dist/integrations/mcp/schemas.js.map +0 -7
- package/dist/integrations/mcp/server.js +0 -1975
- package/dist/integrations/mcp/server.js.map +0 -7
- package/dist/integrations/mcp/tool-definitions-code.js +0 -125
- package/dist/integrations/mcp/tool-definitions-code.js.map +0 -7
- package/dist/integrations/mcp/tool-definitions.js +0 -702
- package/dist/integrations/mcp/tool-definitions.js.map +0 -7
- package/dist/integrations/mcp/trace-test.js +0 -48
- package/dist/integrations/mcp/trace-test.js.map +0 -7
- package/dist/integrations/pg-aiguide/embedding-provider.js +0 -189
- package/dist/integrations/pg-aiguide/embedding-provider.js.map +0 -7
- package/dist/integrations/pg-aiguide/semantic-search.js +0 -187
- package/dist/integrations/pg-aiguide/semantic-search.js.map +0 -7
- package/dist/integrations/pg-aiguide/timescale-analytics.js +0 -224
- package/dist/integrations/pg-aiguide/timescale-analytics.js.map +0 -7
- package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js +0 -860
- package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +0 -7
- package/dist/integrations/ralph/context/context-budget-manager.js +0 -301
- package/dist/integrations/ralph/context/context-budget-manager.js.map +0 -7
- package/dist/integrations/ralph/context/stackmemory-context-loader.js +0 -360
- package/dist/integrations/ralph/context/stackmemory-context-loader.js.map +0 -7
- package/dist/integrations/ralph/coordination/enhanced-coordination.js +0 -410
- package/dist/integrations/ralph/coordination/enhanced-coordination.js.map +0 -7
- package/dist/integrations/ralph/index.js +0 -18
- package/dist/integrations/ralph/index.js.map +0 -7
- package/dist/integrations/ralph/learning/pattern-learner.js +0 -401
- package/dist/integrations/ralph/learning/pattern-learner.js.map +0 -7
- package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js +0 -448
- package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js.map +0 -7
- package/dist/integrations/ralph/monitoring/swarm-dashboard.js +0 -294
- package/dist/integrations/ralph/monitoring/swarm-dashboard.js.map +0 -7
- package/dist/integrations/ralph/monitoring/swarm-registry.js +0 -108
- package/dist/integrations/ralph/monitoring/swarm-registry.js.map +0 -7
- package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js +0 -463
- package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +0 -7
- package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js +0 -400
- package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js.map +0 -7
- package/dist/integrations/ralph/patterns/extended-coherence-sessions.js +0 -473
- package/dist/integrations/ralph/patterns/extended-coherence-sessions.js.map +0 -7
- package/dist/integrations/ralph/patterns/oracle-worker-pattern.js +0 -388
- package/dist/integrations/ralph/patterns/oracle-worker-pattern.js.map +0 -7
- package/dist/integrations/ralph/performance/performance-optimizer.js +0 -358
- package/dist/integrations/ralph/performance/performance-optimizer.js.map +0 -7
- package/dist/integrations/ralph/ralph-integration-demo.js +0 -182
- package/dist/integrations/ralph/ralph-integration-demo.js.map +0 -7
- package/dist/integrations/ralph/recovery/crash-recovery.js +0 -462
- package/dist/integrations/ralph/recovery/crash-recovery.js.map +0 -7
- package/dist/integrations/ralph/state/state-reconciler.js +0 -404
- package/dist/integrations/ralph/state/state-reconciler.js.map +0 -7
- package/dist/integrations/ralph/swarm/git-workflow-manager.js +0 -428
- package/dist/integrations/ralph/swarm/git-workflow-manager.js.map +0 -7
- package/dist/integrations/ralph/swarm/swarm-coordinator.js +0 -996
- package/dist/integrations/ralph/swarm/swarm-coordinator.js.map +0 -7
- package/dist/integrations/ralph/types.js +0 -5
- package/dist/integrations/ralph/types.js.map +0 -7
- package/dist/integrations/ralph/visualization/ralph-debugger.js +0 -585
- package/dist/integrations/ralph/visualization/ralph-debugger.js.map +0 -7
- package/dist/mcp/stackmemory-mcp-server.js +0 -554
- package/dist/mcp/stackmemory-mcp-server.js.map +0 -7
- package/dist/middleware/exponential-rate-limiter.js +0 -289
- package/dist/middleware/exponential-rate-limiter.js.map +0 -7
- package/dist/models/user.model.js +0 -358
- package/dist/models/user.model.js.map +0 -7
- package/dist/servers/production/auth-middleware.js +0 -528
- package/dist/servers/production/auth-middleware.js.map +0 -7
- package/dist/servers/railway/config.js +0 -55
- package/dist/servers/railway/config.js.map +0 -7
- package/dist/servers/railway/index-enhanced.js +0 -160
- package/dist/servers/railway/index-enhanced.js.map +0 -7
- package/dist/servers/railway/index.js +0 -1349
- package/dist/servers/railway/index.js.map +0 -7
- package/dist/servers/railway/simple.js +0 -64
- package/dist/servers/railway/simple.js.map +0 -7
- package/dist/servers/railway/storage-test.js +0 -459
- package/dist/servers/railway/storage-test.js.map +0 -7
- package/dist/services/config-service.js +0 -65
- package/dist/services/config-service.js.map +0 -7
- package/dist/services/context-service.js +0 -194
- package/dist/services/context-service.js.map +0 -7
- package/dist/skills/api-discovery.js +0 -354
- package/dist/skills/api-discovery.js.map +0 -7
- package/dist/skills/api-skill.js +0 -475
- package/dist/skills/api-skill.js.map +0 -7
- package/dist/skills/claude-skills.js +0 -1061
- package/dist/skills/claude-skills.js.map +0 -7
- package/dist/skills/dashboard-launcher.js +0 -216
- package/dist/skills/dashboard-launcher.js.map +0 -7
- package/dist/skills/recursive-agent-orchestrator.js +0 -575
- package/dist/skills/recursive-agent-orchestrator.js.map +0 -7
- package/dist/skills/repo-ingestion-skill.js +0 -609
- package/dist/skills/repo-ingestion-skill.js.map +0 -7
- package/dist/skills/security-secrets-scanner.js +0 -284
- package/dist/skills/security-secrets-scanner.js.map +0 -7
- package/dist/skills/unified-rlm-orchestrator.js +0 -404
- package/dist/skills/unified-rlm-orchestrator.js.map +0 -7
- package/dist/types/task.js +0 -5
- package/dist/types/task.js.map +0 -7
- package/dist/utils/env.js +0 -50
- package/dist/utils/env.js.map +0 -7
- package/dist/utils/formatting.js +0 -62
- package/dist/utils/formatting.js.map +0 -7
- package/dist/utils/process-cleanup.js +0 -136
- package/dist/utils/process-cleanup.js.map +0 -7
- package/dist/validation/schemas.js +0 -222
- package/dist/validation/schemas.js.map +0 -7
- /package/dist/{core/merge → src/core/extensions}/types.js +0 -0
- /package/dist/{core/merge → src/core/extensions}/types.js.map +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/core/digest/types.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Types for Hybrid Digest Generation System\n * 80% deterministic extraction, 20% AI-generated review/insights\n */\n\nimport { Frame, Anchor, Event } from '../context/index.js';\n\n/**\n * Deterministic fields extracted directly from frame data (60%)\n */\nexport interface DeterministicDigest {\n /** Files that were modified during this frame */\n filesModified: FileModification[];\n /** Tests that were run */\n testsRun: TestResult[];\n /** Errors encountered */\n errorsEncountered: ErrorInfo[];\n /** Number of tool calls made */\n toolCallCount: number;\n /** Tool calls by type */\n toolCallsByType: Record<string, number>;\n /** Frame duration in seconds */\n durationSeconds: number;\n /** Exit status */\n exitStatus: 'success' | 'failure' | 'partial' | 'cancelled';\n /** Anchors by type */\n anchorCounts: Record<string, number>;\n /** Key decisions made (extracted from DECISION anchors) */\n decisions: string[];\n /** Constraints established (extracted from CONSTRAINT anchors) */\n constraints: string[];\n /** Risks identified (extracted from RISK anchors) */\n risks: string[];\n}\n\nexport interface FileModification {\n path: string;\n operation: 'create' | 'modify' | 'delete' | 'read';\n linesChanged?: number;\n}\n\nexport interface TestResult {\n name: string;\n status: 'passed' | 'failed' | 'skipped';\n duration?: number;\n}\n\nexport interface ErrorInfo {\n type: string;\n message: string;\n resolved: boolean;\n count: number;\n}\n\n/**\n * AI-generated review fields (20%)\n * Focused on high-value insights only\n */\nexport interface AIGeneratedDigest {\n /** One-line summary of what was accomplished */\n summary: string;\n /** Key insight or learning (if any) */\n insight?: string;\n /** Potential issue or risk spotted */\n flaggedIssue?: string;\n /** Generated at timestamp */\n generatedAt: number;\n /** Model used for generation */\n modelUsed?: string;\n /** Tokens used */\n tokensUsed?: number;\n}\n\n/**\n * Complete hybrid digest combining both approaches\n */\nexport interface HybridDigest {\n /** Frame identifier */\n frameId: string;\n /** Frame name/goal */\n frameName: string;\n /** Frame type */\n frameType: string;\n /** Deterministic fields (always available) */\n deterministic: DeterministicDigest;\n /** AI-generated fields (may be pending) */\n aiGenerated?: AIGeneratedDigest;\n /** Processing status */\n status: DigestStatus;\n /** Human-readable text representation */\n text: string;\n /** Version for schema evolution */\n version: number;\n /** Created timestamp */\n createdAt: number;\n /** Last updated timestamp */\n updatedAt: number;\n}\n\nexport type DigestStatus =\n | 'deterministic_only' // Only deterministic fields populated\n | 'ai_pending' // Queued for AI generation\n | 'ai_processing' // Currently being processed by AI\n | 'complete' // Both deterministic and AI fields populated\n | 'ai_failed'; // AI generation failed, falling back to deterministic\n\n/**\n * Digest generation request for the queue\n */\nexport interface DigestGenerationRequest {\n frameId: string;\n frameName: string;\n frameType: string;\n priority: 'low' | 'normal' | 'high';\n createdAt: number;\n retryCount: number;\n maxRetries: number;\n}\n\n/**\n * Configuration for the digest generator\n */\nexport interface DigestConfig {\n /** Enable AI generation (can be disabled for deterministic-only mode) */\n enableAIGeneration: boolean;\n /** Maximum tokens for AI summary */\n maxTokens: number;\n /** Batch size for idle processing */\n batchSize: number;\n /** Idle threshold in ms before processing queue */\n idleThresholdMs: number;\n /** Maximum retries for failed AI generation */\n maxRetries: number;\n /** Retry delay in ms */\n retryDelayMs: number;\n /** LLM provider configuration */\n llmConfig: {\n provider: 'anthropic' | 'openai' | 'local' | 'none';\n model: string;\n temperature: number;\n };\n}\n\nexport const DEFAULT_DIGEST_CONFIG: DigestConfig = {\n enableAIGeneration: true,\n maxTokens: 100, // Reduced for 20% AI contribution\n batchSize: 10, // Process more at once since smaller\n idleThresholdMs: 3000, // 3 seconds of idle time\n maxRetries: 2,\n retryDelayMs: 1000,\n llmConfig: {\n provider: 'anthropic',\n model: 'claude-3-haiku-20240307',\n temperature: 0.2, // Lower for more consistent output\n },\n};\n\n/**\n * Input for digest generation\n */\nexport interface DigestInput {\n frame: Frame;\n anchors: Anchor[];\n events: Event[];\n parentDigest?: HybridDigest;\n}\n\n/**\n * LLM provider interface for AI digest generation\n */\nexport interface DigestLLMProvider {\n generateSummary(\n input: DigestInput,\n deterministic: DeterministicDigest,\n maxTokens: number\n ): Promise<AIGeneratedDigest>;\n}\n\n/**\n * Digest queue statistics\n */\nexport interface DigestQueueStats {\n pending: number;\n processing: number;\n completed: number;\n failed: number;\n avgProcessingTimeMs: number;\n}\n"],
|
|
5
|
-
"mappings": ";;;;AA+IO,MAAM,wBAAsC;AAAA,EACjD,oBAAoB;AAAA,EACpB,WAAW;AAAA;AAAA,EACX,WAAW;AAAA;AAAA,EACX,iBAAiB;AAAA;AAAA,EACjB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,aAAa;AAAA;AAAA,EACf;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
2
|
-
import { dirname as __pathDirname } from 'path';
|
|
3
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
4
|
-
const __dirname = __pathDirname(__filename);
|
|
5
|
-
import { logger } from "../monitoring/logger.js";
|
|
6
|
-
import {
|
|
7
|
-
StackMemoryError,
|
|
8
|
-
ErrorCode,
|
|
9
|
-
getErrorMessage,
|
|
10
|
-
SystemError,
|
|
11
|
-
IntegrationError,
|
|
12
|
-
DatabaseError
|
|
13
|
-
} from "./index.js";
|
|
14
|
-
async function safeExecute(operation, context, defaultValue) {
|
|
15
|
-
try {
|
|
16
|
-
return await operation();
|
|
17
|
-
} catch (error) {
|
|
18
|
-
logger.debug(
|
|
19
|
-
`Silent failure in ${context.component}.${context.operation}`,
|
|
20
|
-
{
|
|
21
|
-
error: getErrorMessage(error),
|
|
22
|
-
...context.additionalInfo
|
|
23
|
-
}
|
|
24
|
-
);
|
|
25
|
-
return defaultValue;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function safeExecuteSync(operation, context, defaultValue) {
|
|
29
|
-
try {
|
|
30
|
-
return operation();
|
|
31
|
-
} catch (error) {
|
|
32
|
-
logger.debug(
|
|
33
|
-
`Silent failure in ${context.component}.${context.operation}`,
|
|
34
|
-
{
|
|
35
|
-
error: getErrorMessage(error),
|
|
36
|
-
...context.additionalInfo
|
|
37
|
-
}
|
|
38
|
-
);
|
|
39
|
-
return defaultValue;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async function executeWithFallback(operation, context) {
|
|
43
|
-
try {
|
|
44
|
-
return await operation();
|
|
45
|
-
} catch (error) {
|
|
46
|
-
logger.warn(`Operation failed: ${context.component}.${context.operation}`, {
|
|
47
|
-
error: getErrorMessage(error),
|
|
48
|
-
...context.additionalInfo
|
|
49
|
-
});
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function executeWithFallbackSync(operation, context) {
|
|
54
|
-
try {
|
|
55
|
-
return operation();
|
|
56
|
-
} catch (error) {
|
|
57
|
-
logger.warn(`Operation failed: ${context.component}.${context.operation}`, {
|
|
58
|
-
error: getErrorMessage(error),
|
|
59
|
-
...context.additionalInfo
|
|
60
|
-
});
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
function extractError(error) {
|
|
65
|
-
if (error instanceof StackMemoryError) {
|
|
66
|
-
return {
|
|
67
|
-
message: error.message,
|
|
68
|
-
code: error.code,
|
|
69
|
-
isRetryable: error.isRetryable,
|
|
70
|
-
cause: error.cause
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
if (error instanceof Error) {
|
|
74
|
-
const nodeError = error;
|
|
75
|
-
return {
|
|
76
|
-
message: error.message,
|
|
77
|
-
code: nodeError.code,
|
|
78
|
-
isRetryable: isNetworkError(error),
|
|
79
|
-
cause: error
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
return {
|
|
83
|
-
message: typeof error === "string" ? error : "Unknown error",
|
|
84
|
-
isRetryable: false
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
function isNetworkError(error) {
|
|
88
|
-
if (!(error instanceof Error)) return false;
|
|
89
|
-
const message = error.message.toLowerCase();
|
|
90
|
-
const networkIndicators = [
|
|
91
|
-
"econnrefused",
|
|
92
|
-
"enotfound",
|
|
93
|
-
"timeout",
|
|
94
|
-
"socket hang up",
|
|
95
|
-
"econnreset",
|
|
96
|
-
"epipe",
|
|
97
|
-
"network",
|
|
98
|
-
"fetch failed"
|
|
99
|
-
];
|
|
100
|
-
return networkIndicators.some((indicator) => message.includes(indicator));
|
|
101
|
-
}
|
|
102
|
-
function toTypedError(error, fallbackCode = ErrorCode.UNKNOWN_ERROR) {
|
|
103
|
-
if (error instanceof StackMemoryError) {
|
|
104
|
-
return error;
|
|
105
|
-
}
|
|
106
|
-
const extracted = extractError(error);
|
|
107
|
-
return new SystemError(
|
|
108
|
-
extracted.message,
|
|
109
|
-
fallbackCode,
|
|
110
|
-
{ originalError: extracted.code },
|
|
111
|
-
extracted.cause
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
function createApiError(response, body, context) {
|
|
115
|
-
const code = response.status === 401 || response.status === 403 ? ErrorCode.LINEAR_AUTH_FAILED : ErrorCode.LINEAR_API_ERROR;
|
|
116
|
-
return new IntegrationError(
|
|
117
|
-
`API error: ${response.status} ${response.statusText}`,
|
|
118
|
-
code,
|
|
119
|
-
{
|
|
120
|
-
status: response.status,
|
|
121
|
-
statusText: response.statusText,
|
|
122
|
-
body,
|
|
123
|
-
...context
|
|
124
|
-
}
|
|
125
|
-
);
|
|
126
|
-
}
|
|
127
|
-
function logAndRethrow(error, context) {
|
|
128
|
-
const extracted = extractError(error);
|
|
129
|
-
logger.error(`Error in ${context.component}.${context.operation}`, {
|
|
130
|
-
error: extracted.message,
|
|
131
|
-
code: extracted.code,
|
|
132
|
-
...context.additionalInfo
|
|
133
|
-
});
|
|
134
|
-
if (error instanceof Error) {
|
|
135
|
-
throw error;
|
|
136
|
-
}
|
|
137
|
-
throw new SystemError(extracted.message, ErrorCode.UNKNOWN_ERROR);
|
|
138
|
-
}
|
|
139
|
-
async function withDatabaseErrorHandling(operation, operationName) {
|
|
140
|
-
try {
|
|
141
|
-
return await operation();
|
|
142
|
-
} catch (error) {
|
|
143
|
-
const message = getErrorMessage(error);
|
|
144
|
-
logger.error(`Database operation failed: ${operationName}`, {
|
|
145
|
-
error: message
|
|
146
|
-
});
|
|
147
|
-
if (error instanceof DatabaseError) {
|
|
148
|
-
throw error;
|
|
149
|
-
}
|
|
150
|
-
throw new DatabaseError(
|
|
151
|
-
`${operationName}: ${message}`,
|
|
152
|
-
ErrorCode.DB_QUERY_FAILED,
|
|
153
|
-
{ operation: operationName },
|
|
154
|
-
error instanceof Error ? error : void 0
|
|
155
|
-
);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
function withDatabaseErrorHandlingSync(operation, operationName) {
|
|
159
|
-
try {
|
|
160
|
-
return operation();
|
|
161
|
-
} catch (error) {
|
|
162
|
-
const message = getErrorMessage(error);
|
|
163
|
-
logger.error(`Database operation failed: ${operationName}`, {
|
|
164
|
-
error: message
|
|
165
|
-
});
|
|
166
|
-
if (error instanceof DatabaseError) {
|
|
167
|
-
throw error;
|
|
168
|
-
}
|
|
169
|
-
throw new DatabaseError(
|
|
170
|
-
`${operationName}: ${message}`,
|
|
171
|
-
ErrorCode.DB_QUERY_FAILED,
|
|
172
|
-
{ operation: operationName },
|
|
173
|
-
error instanceof Error ? error : void 0
|
|
174
|
-
);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
function assertCondition(condition, message, code = ErrorCode.VALIDATION_FAILED) {
|
|
178
|
-
if (!condition) {
|
|
179
|
-
throw new StackMemoryError({
|
|
180
|
-
message,
|
|
181
|
-
code
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
function assertDefined(value, message, code = ErrorCode.NOT_FOUND) {
|
|
186
|
-
if (value === null || value === void 0) {
|
|
187
|
-
throw new StackMemoryError({
|
|
188
|
-
message,
|
|
189
|
-
code
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
export {
|
|
194
|
-
assertCondition,
|
|
195
|
-
assertDefined,
|
|
196
|
-
createApiError,
|
|
197
|
-
executeWithFallback,
|
|
198
|
-
executeWithFallbackSync,
|
|
199
|
-
extractError,
|
|
200
|
-
isNetworkError,
|
|
201
|
-
logAndRethrow,
|
|
202
|
-
safeExecute,
|
|
203
|
-
safeExecuteSync,
|
|
204
|
-
toTypedError,
|
|
205
|
-
withDatabaseErrorHandling,
|
|
206
|
-
withDatabaseErrorHandlingSync
|
|
207
|
-
};
|
|
208
|
-
//# sourceMappingURL=error-utils.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/core/errors/error-utils.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Error Utilities for StackMemory\n * Provides consistent error handling patterns and utilities\n */\n\nimport { logger } from '../monitoring/logger.js';\nimport {\n StackMemoryError,\n ErrorCode,\n getErrorMessage,\n SystemError,\n IntegrationError,\n DatabaseError,\n} from './index.js';\n\n/**\n * Log context for silent error handling\n * Used when errors should be logged but not thrown\n */\nexport interface SilentErrorContext {\n operation: string;\n component: string;\n additionalInfo?: Record<string, unknown>;\n}\n\n/**\n * Safely execute an operation and return undefined on failure\n * Logs the error with context for debugging\n */\nexport async function safeExecute<T>(\n operation: () => Promise<T>,\n context: SilentErrorContext,\n defaultValue?: T\n): Promise<T | undefined> {\n try {\n return await operation();\n } catch (error: unknown) {\n logger.debug(\n `Silent failure in ${context.component}.${context.operation}`,\n {\n error: getErrorMessage(error),\n ...context.additionalInfo,\n }\n );\n return defaultValue;\n }\n}\n\n/**\n * Synchronous version of safeExecute\n */\nexport function safeExecuteSync<T>(\n operation: () => T,\n context: SilentErrorContext,\n defaultValue?: T\n): T | undefined {\n try {\n return operation();\n } catch (error: unknown) {\n logger.debug(\n `Silent failure in ${context.component}.${context.operation}`,\n {\n error: getErrorMessage(error),\n ...context.additionalInfo,\n }\n );\n return defaultValue;\n }\n}\n\n/**\n * Execute with logging on failure but without throwing\n * Returns null on error, allowing caller to handle gracefully\n */\nexport async function executeWithFallback<T>(\n operation: () => Promise<T>,\n context: SilentErrorContext\n): Promise<T | null> {\n try {\n return await operation();\n } catch (error: unknown) {\n logger.warn(`Operation failed: ${context.component}.${context.operation}`, {\n error: getErrorMessage(error),\n ...context.additionalInfo,\n });\n return null;\n }\n}\n\n/**\n * Synchronous version of executeWithFallback\n */\nexport function executeWithFallbackSync<T>(\n operation: () => T,\n context: SilentErrorContext\n): T | null {\n try {\n return operation();\n } catch (error: unknown) {\n logger.warn(`Operation failed: ${context.component}.${context.operation}`, {\n error: getErrorMessage(error),\n ...context.additionalInfo,\n });\n return null;\n }\n}\n\n/**\n * Type-safe error extraction\n * Handles the common pattern of extracting error message from unknown errors\n */\nexport function extractError(error: unknown): {\n message: string;\n code?: string;\n isRetryable: boolean;\n cause?: Error;\n} {\n if (error instanceof StackMemoryError) {\n return {\n message: error.message,\n code: error.code,\n isRetryable: error.isRetryable,\n cause: error.cause,\n };\n }\n\n if (error instanceof Error) {\n const nodeError = error as NodeJS.ErrnoException;\n return {\n message: error.message,\n code: nodeError.code,\n isRetryable: isNetworkError(error),\n cause: error,\n };\n }\n\n return {\n message: typeof error === 'string' ? error : 'Unknown error',\n isRetryable: false,\n };\n}\n\n/**\n * Check if error is a network-related error that may be retryable\n */\nexport function isNetworkError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n\n const message = error.message.toLowerCase();\n const networkIndicators = [\n 'econnrefused',\n 'enotfound',\n 'timeout',\n 'socket hang up',\n 'econnreset',\n 'epipe',\n 'network',\n 'fetch failed',\n ];\n\n return networkIndicators.some((indicator) => message.includes(indicator));\n}\n\n/**\n * Create a typed error from an unknown error\n */\nexport function toTypedError(\n error: unknown,\n fallbackCode: ErrorCode = ErrorCode.UNKNOWN_ERROR\n): StackMemoryError {\n if (error instanceof StackMemoryError) {\n return error;\n }\n\n const extracted = extractError(error);\n return new SystemError(\n extracted.message,\n fallbackCode,\n { originalError: extracted.code },\n extracted.cause\n );\n}\n\n/**\n * Create an integration error from an API response\n */\nexport function createApiError(\n response: { status: number; statusText: string },\n body?: string,\n context?: Record<string, unknown>\n): IntegrationError {\n const code =\n response.status === 401 || response.status === 403\n ? ErrorCode.LINEAR_AUTH_FAILED\n : ErrorCode.LINEAR_API_ERROR;\n\n return new IntegrationError(\n `API error: ${response.status} ${response.statusText}`,\n code,\n {\n status: response.status,\n statusText: response.statusText,\n body,\n ...context,\n }\n );\n}\n\n/**\n * Log and rethrow with additional context\n */\nexport function logAndRethrow(\n error: unknown,\n context: SilentErrorContext\n): never {\n const extracted = extractError(error);\n logger.error(`Error in ${context.component}.${context.operation}`, {\n error: extracted.message,\n code: extracted.code,\n ...context.additionalInfo,\n });\n\n if (error instanceof Error) {\n throw error;\n }\n throw new SystemError(extracted.message, ErrorCode.UNKNOWN_ERROR);\n}\n\n/**\n * Wrap database operations with proper error handling\n */\nexport async function withDatabaseErrorHandling<T>(\n operation: () => Promise<T>,\n operationName: string\n): Promise<T> {\n try {\n return await operation();\n } catch (error: unknown) {\n const message = getErrorMessage(error);\n logger.error(`Database operation failed: ${operationName}`, {\n error: message,\n });\n\n if (error instanceof DatabaseError) {\n throw error;\n }\n\n throw new DatabaseError(\n `${operationName}: ${message}`,\n ErrorCode.DB_QUERY_FAILED,\n { operation: operationName },\n error instanceof Error ? error : undefined\n );\n }\n}\n\n/**\n * Wrap sync database operations with proper error handling\n */\nexport function withDatabaseErrorHandlingSync<T>(\n operation: () => T,\n operationName: string\n): T {\n try {\n return operation();\n } catch (error: unknown) {\n const message = getErrorMessage(error);\n logger.error(`Database operation failed: ${operationName}`, {\n error: message,\n });\n\n if (error instanceof DatabaseError) {\n throw error;\n }\n\n throw new DatabaseError(\n `${operationName}: ${message}`,\n ErrorCode.DB_QUERY_FAILED,\n { operation: operationName },\n error instanceof Error ? error : undefined\n );\n }\n}\n\n/**\n * Assert condition and throw if not met\n */\nexport function assertCondition(\n condition: boolean,\n message: string,\n code: ErrorCode = ErrorCode.VALIDATION_FAILED\n): asserts condition {\n if (!condition) {\n throw new StackMemoryError({\n message,\n code,\n });\n }\n}\n\n/**\n * Assert value is not null or undefined\n */\nexport function assertDefined<T>(\n value: T | null | undefined,\n message: string,\n code: ErrorCode = ErrorCode.NOT_FOUND\n): asserts value is T {\n if (value === null || value === undefined) {\n throw new StackMemoryError({\n message,\n code,\n });\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|