@stackmemoryai/stackmemory 0.3.0 → 0.3.3
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 +52 -272
- package/dist/cli/codex-sm.js +48 -19
- package/dist/cli/codex-sm.js.map +2 -2
- package/dist/cli/commands/clear.js +191 -0
- package/dist/cli/commands/clear.js.map +7 -0
- package/dist/cli/commands/config.js +152 -1
- package/dist/cli/commands/config.js.map +2 -2
- package/dist/cli/commands/dashboard.js +178 -0
- package/dist/cli/commands/dashboard.js.map +7 -0
- package/dist/cli/commands/handoff.js +125 -8
- package/dist/cli/commands/handoff.js.map +2 -2
- package/dist/cli/commands/linear-create.js +132 -0
- package/dist/cli/commands/linear-create.js.map +7 -0
- package/dist/cli/commands/linear-list.js +69 -0
- package/dist/cli/commands/linear-list.js.map +7 -0
- package/dist/cli/commands/linear-migrate.js +40 -0
- package/dist/cli/commands/linear-migrate.js.map +7 -0
- package/dist/cli/commands/linear.js +185 -36
- package/dist/cli/commands/linear.js.map +2 -2
- package/dist/cli/commands/monitor.js +309 -0
- package/dist/cli/commands/monitor.js.map +7 -0
- package/dist/cli/commands/quality.js +414 -0
- package/dist/cli/commands/quality.js.map +7 -0
- package/dist/cli/commands/storage.js +275 -0
- package/dist/cli/commands/storage.js.map +7 -0
- package/dist/cli/commands/tui.js +66 -0
- package/dist/cli/commands/tui.js.map +7 -0
- package/dist/cli/commands/workflow.js +134 -0
- package/dist/cli/commands/workflow.js.map +7 -0
- package/dist/cli/index.js +105 -9
- package/dist/cli/index.js.map +3 -3
- package/dist/core/analytics/team-analytics.js +374 -0
- package/dist/core/analytics/team-analytics.js.map +7 -0
- package/dist/core/context/context-bridge.js +234 -0
- package/dist/core/context/context-bridge.js.map +7 -0
- package/dist/core/context/dual-stack-manager.js +850 -0
- package/dist/core/context/dual-stack-manager.js.map +7 -0
- package/dist/core/context/frame-handoff-manager.js +384 -0
- package/dist/core/context/frame-handoff-manager.js.map +7 -0
- package/dist/core/context/frame-manager.js +132 -12
- package/dist/core/context/frame-manager.js.map +2 -2
- package/dist/core/context/permission-manager.js +181 -0
- package/dist/core/context/permission-manager.js.map +7 -0
- package/dist/core/context/shared-context-layer.js +386 -0
- package/dist/core/context/shared-context-layer.js.map +7 -0
- package/dist/core/context/stack-merge-resolver.js +600 -0
- package/dist/core/context/stack-merge-resolver.js.map +7 -0
- package/dist/core/context/validation.js +121 -0
- package/dist/core/context/validation.js.map +7 -0
- package/dist/core/database/connection-pool.js +266 -175
- package/dist/core/database/connection-pool.js.map +2 -2
- package/dist/core/database/database-adapter.js +51 -0
- package/dist/core/database/database-adapter.js.map +7 -0
- package/dist/core/database/migration-manager.js +514 -0
- package/dist/core/database/migration-manager.js.map +7 -0
- package/dist/core/database/paradedb-adapter.js +970 -0
- package/dist/core/database/paradedb-adapter.js.map +7 -0
- package/dist/core/database/query-router.js +421 -0
- package/dist/core/database/query-router.js.map +7 -0
- package/dist/core/database/sqlite-adapter.js +547 -0
- package/dist/core/database/sqlite-adapter.js.map +7 -0
- package/dist/core/errors/index.js +21 -1
- package/dist/core/errors/index.js.map +2 -2
- package/dist/core/frame/workflow-templates-stub.js +42 -0
- package/dist/core/frame/workflow-templates-stub.js.map +7 -0
- package/dist/core/frame/workflow-templates.js +276 -0
- package/dist/core/frame/workflow-templates.js.map +7 -0
- package/dist/core/merge/conflict-detector.js +5 -2
- package/dist/core/merge/conflict-detector.js.map +2 -2
- package/dist/core/merge/resolution-engine.js +3 -14
- package/dist/core/merge/resolution-engine.js.map +2 -2
- package/dist/core/merge/stack-diff.js.map +2 -2
- package/dist/core/monitoring/logger.js +18 -3
- package/dist/core/monitoring/logger.js.map +2 -2
- package/dist/core/monitoring/session-monitor.js +296 -0
- package/dist/core/monitoring/session-monitor.js.map +7 -0
- package/dist/core/retrieval/context-retriever.js +475 -0
- package/dist/core/retrieval/context-retriever.js.map +7 -0
- package/dist/core/retrieval/graph-retrieval.js +658 -0
- package/dist/core/retrieval/graph-retrieval.js.map +7 -0
- package/dist/core/retrieval/hierarchical-retrieval.js +652 -0
- package/dist/core/retrieval/hierarchical-retrieval.js.map +7 -0
- package/dist/core/retrieval/retrieval-benchmarks.js +517 -0
- package/dist/core/retrieval/retrieval-benchmarks.js.map +7 -0
- package/dist/core/session/clear-survival-stub.js +49 -0
- package/dist/core/session/clear-survival-stub.js.map +7 -0
- package/dist/core/session/clear-survival.js +426 -0
- package/dist/core/session/clear-survival.js.map +7 -0
- package/dist/core/session/handoff-generator.js +339 -0
- package/dist/core/session/handoff-generator.js.map +7 -0
- package/dist/core/session/session-manager.js +61 -26
- package/dist/core/session/session-manager.js.map +3 -3
- package/dist/core/skills/index.js +3 -0
- package/dist/core/skills/index.js.map +7 -0
- package/dist/core/skills/skill-storage.js +749 -0
- package/dist/core/skills/skill-storage.js.map +7 -0
- package/dist/core/skills/types.js +189 -0
- package/dist/core/skills/types.js.map +7 -0
- package/dist/core/storage/railway-optimized-storage.js +550 -0
- package/dist/core/storage/railway-optimized-storage.js.map +7 -0
- package/dist/core/storage/remote-storage.js +456 -0
- package/dist/core/storage/remote-storage.js.map +7 -0
- package/dist/core/trace/trace-detector.js +136 -5
- package/dist/core/trace/trace-detector.js.map +2 -2
- package/dist/core/trace/trace-store.js.map +2 -2
- package/dist/features/tui/components/analytics-panel.js +136 -0
- package/dist/features/tui/components/analytics-panel.js.map +7 -0
- package/dist/features/tui/components/frame-visualizer.js +377 -0
- package/dist/features/tui/components/frame-visualizer.js.map +7 -0
- package/dist/features/tui/components/pr-tracker.js +123 -0
- package/dist/features/tui/components/pr-tracker.js.map +7 -0
- package/dist/features/tui/components/session-monitor.js +286 -0
- package/dist/features/tui/components/session-monitor.js.map +7 -0
- package/dist/features/tui/components/subagent-fleet.js +388 -0
- package/dist/features/tui/components/subagent-fleet.js.map +7 -0
- package/dist/features/tui/components/task-board.js +475 -0
- package/dist/features/tui/components/task-board.js.map +7 -0
- package/dist/features/tui/index.js +397 -0
- package/dist/features/tui/index.js.map +7 -0
- package/dist/features/tui/services/data-service.js +654 -0
- package/dist/features/tui/services/data-service.js.map +7 -0
- package/dist/features/tui/services/websocket-client.js +149 -0
- package/dist/features/tui/services/websocket-client.js.map +7 -0
- package/dist/features/tui/terminal-compat.js +205 -0
- package/dist/features/tui/terminal-compat.js.map +7 -0
- package/dist/features/tui/types.js +1 -0
- package/dist/features/tui/types.js.map +7 -0
- package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js +455 -0
- package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +7 -0
- package/dist/integrations/claude-code/lifecycle-hooks.js +250 -0
- package/dist/integrations/claude-code/lifecycle-hooks.js.map +7 -0
- package/dist/integrations/claude-code/post-task-hooks.js +541 -0
- package/dist/integrations/claude-code/post-task-hooks.js.map +7 -0
- package/dist/integrations/linear/client.js +22 -4
- package/dist/integrations/linear/client.js.map +2 -2
- package/dist/integrations/linear/migration.js +299 -0
- package/dist/integrations/linear/migration.js.map +7 -0
- package/dist/integrations/linear/oauth-server.js +396 -0
- package/dist/integrations/linear/oauth-server.js.map +7 -0
- package/dist/integrations/linear/rest-client.js +199 -0
- package/dist/integrations/linear/rest-client.js.map +7 -0
- package/dist/integrations/linear/sync.js +14 -2
- package/dist/integrations/linear/sync.js.map +2 -2
- package/dist/integrations/linear/webhook-handler.js +200 -0
- package/dist/integrations/linear/webhook-handler.js.map +7 -0
- package/dist/integrations/mcp/handlers/skill-handlers.js +514 -0
- package/dist/integrations/mcp/handlers/skill-handlers.js.map +7 -0
- package/dist/integrations/mcp/middleware/tool-scoring.js +352 -0
- package/dist/integrations/mcp/middleware/tool-scoring.js.map +7 -0
- package/dist/integrations/mcp/refactored-server.js +31 -3
- package/dist/integrations/mcp/refactored-server.js.map +2 -2
- package/dist/integrations/mcp/server.js +25 -7
- package/dist/integrations/mcp/server.js.map +2 -2
- package/dist/mcp/stackmemory-mcp-server.js.map +1 -1
- package/dist/models/user.model.js +3 -0
- package/dist/models/user.model.js.map +2 -2
- package/dist/services/context-service.js.map +2 -2
- package/dist/utils/formatting.js +58 -0
- package/dist/utils/formatting.js.map +7 -0
- package/package.json +24 -5
- package/dist/cli/__tests__/index.test.js +0 -290
- package/dist/cli/__tests__/index.test.js.map +0 -7
- package/dist/core/config/__tests__/config-manager.test.js +0 -248
- package/dist/core/config/__tests__/config-manager.test.js.map +0 -7
- package/dist/core/context/__tests__/frame-manager.test.js +0 -879
- package/dist/core/context/__tests__/frame-manager.test.js.map +0 -7
- package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js +0 -379
- package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js.map +0 -7
- package/dist/core/digest/__tests__/frame-digest-integration.test.js +0 -230
- package/dist/core/digest/__tests__/frame-digest-integration.test.js.map +0 -7
- package/dist/core/errors/__tests__/error-handling.test.js +0 -270
- package/dist/core/errors/__tests__/error-handling.test.js.map +0 -7
- package/dist/core/merge/__tests__/conflict-scenarios.test.js +0 -414
- package/dist/core/merge/__tests__/conflict-scenarios.test.js.map +0 -7
- package/dist/core/query/__tests__/query-parser.test.js +0 -301
- package/dist/core/query/__tests__/query-parser.test.js.map +0 -7
- package/dist/core/query/__tests__/query-templates.test.js +0 -210
- package/dist/core/query/__tests__/query-templates.test.js.map +0 -7
- package/dist/core/trace/trace-detector.test.js +0 -401
- package/dist/core/trace/trace-detector.test.js.map +0 -7
- package/dist/features/tasks/__tests__/pebbles-task-store.test.js +0 -747
- package/dist/features/tasks/__tests__/pebbles-task-store.test.js.map +0 -7
- package/dist/integrations/linear/__tests__/auth.test.js +0 -558
- package/dist/integrations/linear/__tests__/auth.test.js.map +0 -7
- package/dist/integrations/linear/__tests__/sync-service.test.js +0 -760
- package/dist/integrations/linear/__tests__/sync-service.test.js.map +0 -7
- package/dist/integrations/mcp/__tests__/server.test.js +0 -798
- package/dist/integrations/mcp/__tests__/server.test.js.map +0 -7
- package/dist/scripts/benchmark-performance.d.ts +0 -7
- package/dist/scripts/benchmark-performance.d.ts.map +0 -1
- package/dist/scripts/benchmark-performance.js +0 -44
- package/dist/scripts/benchmark-performance.js.map +0 -1
- package/dist/scripts/cancel-duplicate-tasks.d.ts +0 -7
- package/dist/scripts/cancel-duplicate-tasks.d.ts.map +0 -1
- package/dist/scripts/cancel-duplicate-tasks.js +0 -172
- package/dist/scripts/cancel-duplicate-tasks.js.map +0 -1
- package/dist/scripts/cleanup-duplicate-tasks.d.ts +0 -12
- package/dist/scripts/cleanup-duplicate-tasks.d.ts.map +0 -1
- package/dist/scripts/cleanup-duplicate-tasks.js +0 -215
- package/dist/scripts/cleanup-duplicate-tasks.js.map +0 -1
- package/dist/scripts/initialize.d.ts +0 -6
- package/dist/scripts/initialize.d.ts.map +0 -1
- package/dist/scripts/initialize.js +0 -93
- package/dist/scripts/initialize.js.map +0 -1
- package/dist/scripts/list-linear-tasks.d.ts +0 -6
- package/dist/scripts/list-linear-tasks.d.ts.map +0 -1
- package/dist/scripts/list-linear-tasks.js +0 -121
- package/dist/scripts/list-linear-tasks.js.map +0 -1
- package/dist/scripts/merge-linear-duplicates-safe.d.ts +0 -7
- package/dist/scripts/merge-linear-duplicates-safe.d.ts.map +0 -1
- package/dist/scripts/merge-linear-duplicates-safe.js +0 -267
- package/dist/scripts/merge-linear-duplicates-safe.js.map +0 -1
- package/dist/scripts/show-linear-summary.d.ts +0 -6
- package/dist/scripts/show-linear-summary.d.ts.map +0 -1
- package/dist/scripts/show-linear-summary.js +0 -120
- package/dist/scripts/show-linear-summary.js.map +0 -1
- package/dist/scripts/status.d.ts +0 -6
- package/dist/scripts/status.d.ts.map +0 -1
- package/dist/scripts/status.js +0 -101
- package/dist/scripts/status.js.map +0 -1
- package/dist/src/agents/core/agent-task-manager.d.ts +0 -154
- package/dist/src/agents/core/agent-task-manager.d.ts.map +0 -1
- package/dist/src/agents/core/agent-task-manager.js +0 -504
- package/dist/src/agents/core/agent-task-manager.js.map +0 -1
- package/dist/src/agents/verifiers/base-verifier.d.ts +0 -112
- package/dist/src/agents/verifiers/base-verifier.d.ts.map +0 -1
- package/dist/src/agents/verifiers/base-verifier.js +0 -130
- package/dist/src/agents/verifiers/base-verifier.js.map +0 -1
- package/dist/src/agents/verifiers/formatter-verifier.d.ts +0 -14
- package/dist/src/agents/verifiers/formatter-verifier.d.ts.map +0 -1
- package/dist/src/agents/verifiers/formatter-verifier.js +0 -107
- package/dist/src/agents/verifiers/formatter-verifier.js.map +0 -1
- package/dist/src/agents/verifiers/llm-judge.d.ts +0 -46
- package/dist/src/agents/verifiers/llm-judge.d.ts.map +0 -1
- package/dist/src/agents/verifiers/llm-judge.js +0 -248
- package/dist/src/agents/verifiers/llm-judge.js.map +0 -1
- package/dist/src/cli/auto-detect.d.ts +0 -61
- package/dist/src/cli/auto-detect.d.ts.map +0 -1
- package/dist/src/cli/auto-detect.js +0 -350
- package/dist/src/cli/auto-detect.js.map +0 -1
- package/dist/src/cli/browser-test.d.ts +0 -6
- package/dist/src/cli/browser-test.d.ts.map +0 -1
- package/dist/src/cli/browser-test.js +0 -32
- package/dist/src/cli/browser-test.js.map +0 -1
- package/dist/src/cli/claude-sm.d.ts +0 -7
- package/dist/src/cli/claude-sm.d.ts.map +0 -1
- package/dist/src/cli/claude-sm.js +0 -412
- package/dist/src/cli/claude-sm.js.map +0 -1
- package/dist/src/cli/commands/agent.d.ts +0 -9
- package/dist/src/cli/commands/agent.d.ts.map +0 -1
- package/dist/src/cli/commands/agent.js +0 -303
- package/dist/src/cli/commands/agent.js.map +0 -1
- package/dist/src/cli/commands/config.d.ts +0 -6
- package/dist/src/cli/commands/config.d.ts.map +0 -1
- package/dist/src/cli/commands/config.js +0 -224
- package/dist/src/cli/commands/config.js.map +0 -1
- package/dist/src/cli/commands/context.d.ts +0 -7
- package/dist/src/cli/commands/context.d.ts.map +0 -1
- package/dist/src/cli/commands/context.js +0 -365
- package/dist/src/cli/commands/context.js.map +0 -1
- package/dist/src/cli/commands/handoff.d.ts +0 -6
- package/dist/src/cli/commands/handoff.d.ts.map +0 -1
- package/dist/src/cli/commands/handoff.js +0 -212
- package/dist/src/cli/commands/handoff.js.map +0 -1
- package/dist/src/cli/commands/linear-test.d.ts +0 -6
- package/dist/src/cli/commands/linear-test.d.ts.map +0 -1
- package/dist/src/cli/commands/linear-test.js +0 -123
- package/dist/src/cli/commands/linear-test.js.map +0 -1
- package/dist/src/cli/commands/linear.d.ts +0 -6
- package/dist/src/cli/commands/linear.d.ts.map +0 -1
- package/dist/src/cli/commands/linear.js +0 -393
- package/dist/src/cli/commands/linear.js.map +0 -1
- package/dist/src/cli/commands/log.d.ts +0 -7
- package/dist/src/cli/commands/log.d.ts.map +0 -1
- package/dist/src/cli/commands/log.js +0 -168
- package/dist/src/cli/commands/log.js.map +0 -1
- package/dist/src/cli/commands/onboard.d.ts +0 -8
- package/dist/src/cli/commands/onboard.d.ts.map +0 -1
- package/dist/src/cli/commands/onboard.js +0 -363
- package/dist/src/cli/commands/onboard.js.map +0 -1
- package/dist/src/cli/commands/projects.d.ts +0 -8
- package/dist/src/cli/commands/projects.d.ts.map +0 -1
- package/dist/src/cli/commands/projects.js +0 -220
- package/dist/src/cli/commands/projects.js.map +0 -1
- package/dist/src/cli/commands/search.d.ts +0 -7
- package/dist/src/cli/commands/search.d.ts.map +0 -1
- package/dist/src/cli/commands/search.js +0 -162
- package/dist/src/cli/commands/search.js.map +0 -1
- package/dist/src/cli/commands/session.d.ts +0 -7
- package/dist/src/cli/commands/session.d.ts.map +0 -1
- package/dist/src/cli/commands/session.js +0 -222
- package/dist/src/cli/commands/session.js.map +0 -1
- package/dist/src/cli/commands/tasks.d.ts +0 -7
- package/dist/src/cli/commands/tasks.d.ts.map +0 -1
- package/dist/src/cli/commands/tasks.js +0 -229
- package/dist/src/cli/commands/tasks.js.map +0 -1
- package/dist/src/cli/commands/webhook.d.ts +0 -3
- package/dist/src/cli/commands/webhook.d.ts.map +0 -1
- package/dist/src/cli/commands/webhook.js +0 -157
- package/dist/src/cli/commands/webhook.js.map +0 -1
- package/dist/src/cli/commands/worktree.d.ts +0 -8
- package/dist/src/cli/commands/worktree.d.ts.map +0 -1
- package/dist/src/cli/commands/worktree.js +0 -339
- package/dist/src/cli/commands/worktree.js.map +0 -1
- package/dist/src/cli/index.d.ts +0 -8
- package/dist/src/cli/index.d.ts.map +0 -1
- package/dist/src/cli/index.js +0 -995
- package/dist/src/cli/index.js.map +0 -1
- package/dist/src/cli/utils/viewer.d.ts +0 -3
- package/dist/src/cli/utils/viewer.d.ts.map +0 -1
- package/dist/src/cli/utils/viewer.js +0 -91
- package/dist/src/cli/utils/viewer.js.map +0 -1
- package/dist/src/core/config/config-manager.d.ts +0 -95
- package/dist/src/core/config/config-manager.d.ts.map +0 -1
- package/dist/src/core/config/config-manager.js +0 -359
- package/dist/src/core/config/config-manager.js.map +0 -1
- package/dist/src/core/config/types.d.ts +0 -72
- package/dist/src/core/config/types.d.ts.map +0 -1
- package/dist/src/core/config/types.js +0 -127
- package/dist/src/core/config/types.js.map +0 -1
- package/dist/src/core/context/auto-context.d.ts +0 -22
- package/dist/src/core/context/auto-context.d.ts.map +0 -1
- package/dist/src/core/context/auto-context.js +0 -77
- package/dist/src/core/context/auto-context.js.map +0 -1
- package/dist/src/core/context/compaction-handler.d.ts +0 -119
- package/dist/src/core/context/compaction-handler.d.ts.map +0 -1
- package/dist/src/core/context/compaction-handler.js +0 -306
- package/dist/src/core/context/compaction-handler.js.map +0 -1
- package/dist/src/core/context/frame-database.d.ts +0 -59
- package/dist/src/core/context/frame-database.d.ts.map +0 -1
- package/dist/src/core/context/frame-database.js +0 -333
- package/dist/src/core/context/frame-database.js.map +0 -1
- package/dist/src/core/context/frame-digest.d.ts +0 -59
- package/dist/src/core/context/frame-digest.d.ts.map +0 -1
- package/dist/src/core/context/frame-digest.js +0 -264
- package/dist/src/core/context/frame-digest.js.map +0 -1
- package/dist/src/core/context/frame-manager.d.ts +0 -112
- package/dist/src/core/context/frame-manager.d.ts.map +0 -1
- package/dist/src/core/context/frame-manager.js +0 -600
- package/dist/src/core/context/frame-manager.js.map +0 -1
- package/dist/src/core/context/frame-stack.d.ts +0 -85
- package/dist/src/core/context/frame-stack.d.ts.map +0 -1
- package/dist/src/core/context/frame-stack.js +0 -287
- package/dist/src/core/context/frame-stack.js.map +0 -1
- package/dist/src/core/context/frame-types.d.ts +0 -67
- package/dist/src/core/context/frame-types.d.ts.map +0 -1
- package/dist/src/core/context/frame-types.js +0 -6
- package/dist/src/core/context/frame-types.js.map +0 -1
- package/dist/src/core/context/index.d.ts +0 -11
- package/dist/src/core/context/index.d.ts.map +0 -1
- package/dist/src/core/context/index.js +0 -14
- package/dist/src/core/context/index.js.map +0 -1
- package/dist/src/core/context/model-aware-compaction.d.ts +0 -101
- package/dist/src/core/context/model-aware-compaction.d.ts.map +0 -1
- package/dist/src/core/context/model-aware-compaction.js +0 -616
- package/dist/src/core/context/model-aware-compaction.js.map +0 -1
- package/dist/src/core/context/refactored-frame-manager.d.ts +0 -99
- package/dist/src/core/context/refactored-frame-manager.d.ts.map +0 -1
- package/dist/src/core/context/refactored-frame-manager.js +0 -340
- package/dist/src/core/context/refactored-frame-manager.js.map +0 -1
- package/dist/src/core/database/batch-operations.d.ts +0 -118
- package/dist/src/core/database/batch-operations.d.ts.map +0 -1
- package/dist/src/core/database/batch-operations.js +0 -339
- package/dist/src/core/database/batch-operations.js.map +0 -1
- package/dist/src/core/database/connection-pool.d.ts +0 -79
- package/dist/src/core/database/connection-pool.d.ts.map +0 -1
- package/dist/src/core/database/connection-pool.js +0 -236
- package/dist/src/core/database/connection-pool.js.map +0 -1
- package/dist/src/core/database/query-cache.d.ts +0 -135
- package/dist/src/core/database/query-cache.d.ts.map +0 -1
- package/dist/src/core/database/query-cache.js +0 -294
- package/dist/src/core/database/query-cache.js.map +0 -1
- package/dist/src/core/digest/enhanced-hybrid-digest.d.ts +0 -125
- package/dist/src/core/digest/enhanced-hybrid-digest.d.ts.map +0 -1
- package/dist/src/core/digest/enhanced-hybrid-digest.js +0 -282
- package/dist/src/core/digest/enhanced-hybrid-digest.js.map +0 -1
- package/dist/src/core/digest/frame-digest-integration.d.ts +0 -67
- package/dist/src/core/digest/frame-digest-integration.d.ts.map +0 -1
- package/dist/src/core/digest/frame-digest-integration.js +0 -198
- package/dist/src/core/digest/frame-digest-integration.js.map +0 -1
- package/dist/src/core/digest/hybrid-digest-generator.d.ts +0 -76
- package/dist/src/core/digest/hybrid-digest-generator.d.ts.map +0 -1
- package/dist/src/core/digest/hybrid-digest-generator.js +0 -629
- package/dist/src/core/digest/hybrid-digest-generator.js.map +0 -1
- package/dist/src/core/digest/index.d.ts +0 -9
- package/dist/src/core/digest/index.d.ts.map +0 -1
- package/dist/src/core/digest/index.js +0 -9
- package/dist/src/core/digest/index.js.map +0 -1
- package/dist/src/core/digest/types.d.ts +0 -154
- package/dist/src/core/digest/types.d.ts.map +0 -1
- package/dist/src/core/digest/types.js +0 -18
- package/dist/src/core/digest/types.js.map +0 -1
- package/dist/src/core/errors/index.d.ts +0 -143
- package/dist/src/core/errors/index.d.ts.map +0 -1
- package/dist/src/core/errors/index.js +0 -282
- package/dist/src/core/errors/index.js.map +0 -1
- package/dist/src/core/errors/recovery.d.ts +0 -86
- package/dist/src/core/errors/recovery.d.ts.map +0 -1
- package/dist/src/core/errors/recovery.js +0 -274
- package/dist/src/core/errors/recovery.js.map +0 -1
- package/dist/src/core/merge/conflict-detector.d.ts +0 -122
- package/dist/src/core/merge/conflict-detector.d.ts.map +0 -1
- package/dist/src/core/merge/conflict-detector.js +0 -468
- package/dist/src/core/merge/conflict-detector.js.map +0 -1
- package/dist/src/core/merge/index.d.ts +0 -9
- package/dist/src/core/merge/index.d.ts.map +0 -1
- package/dist/src/core/merge/index.js +0 -9
- package/dist/src/core/merge/index.js.map +0 -1
- package/dist/src/core/merge/resolution-engine.d.ts +0 -120
- package/dist/src/core/merge/resolution-engine.d.ts.map +0 -1
- package/dist/src/core/merge/resolution-engine.js +0 -573
- package/dist/src/core/merge/resolution-engine.js.map +0 -1
- package/dist/src/core/merge/stack-diff.d.ts +0 -97
- package/dist/src/core/merge/stack-diff.d.ts.map +0 -1
- package/dist/src/core/merge/stack-diff.js +0 -516
- package/dist/src/core/merge/stack-diff.js.map +0 -1
- package/dist/src/core/merge/types.d.ts +0 -110
- package/dist/src/core/merge/types.d.ts.map +0 -1
- package/dist/src/core/merge/types.js +0 -6
- package/dist/src/core/merge/types.js.map +0 -1
- package/dist/src/core/monitoring/error-handler.d.ts +0 -46
- package/dist/src/core/monitoring/error-handler.d.ts.map +0 -1
- package/dist/src/core/monitoring/error-handler.js +0 -212
- package/dist/src/core/monitoring/error-handler.js.map +0 -1
- package/dist/src/core/monitoring/logger.d.ts +0 -24
- package/dist/src/core/monitoring/logger.d.ts.map +0 -1
- package/dist/src/core/monitoring/logger.js +0 -126
- package/dist/src/core/monitoring/logger.js.map +0 -1
- package/dist/src/core/monitoring/metrics.d.ts +0 -10
- package/dist/src/core/monitoring/metrics.d.ts.map +0 -1
- package/dist/src/core/monitoring/metrics.js +0 -152
- package/dist/src/core/monitoring/metrics.js.map +0 -1
- package/dist/src/core/monitoring/progress-tracker.d.ts +0 -95
- package/dist/src/core/monitoring/progress-tracker.d.ts.map +0 -1
- package/dist/src/core/monitoring/progress-tracker.js +0 -178
- package/dist/src/core/monitoring/progress-tracker.js.map +0 -1
- package/dist/src/core/performance/context-cache.d.ts +0 -109
- package/dist/src/core/performance/context-cache.d.ts.map +0 -1
- package/dist/src/core/performance/context-cache.js +0 -280
- package/dist/src/core/performance/context-cache.js.map +0 -1
- package/dist/src/core/performance/index.d.ts +0 -3
- package/dist/src/core/performance/index.d.ts.map +0 -1
- package/dist/src/core/performance/index.js +0 -3
- package/dist/src/core/performance/index.js.map +0 -1
- package/dist/src/core/performance/lazy-context-loader.d.ts +0 -93
- package/dist/src/core/performance/lazy-context-loader.d.ts.map +0 -1
- package/dist/src/core/performance/lazy-context-loader.js +0 -332
- package/dist/src/core/performance/lazy-context-loader.js.map +0 -1
- package/dist/src/core/performance/monitor.d.ts +0 -48
- package/dist/src/core/performance/monitor.d.ts.map +0 -1
- package/dist/src/core/performance/monitor.js +0 -226
- package/dist/src/core/performance/monitor.js.map +0 -1
- package/dist/src/core/performance/optimized-frame-context.d.ts +0 -74
- package/dist/src/core/performance/optimized-frame-context.d.ts.map +0 -1
- package/dist/src/core/performance/optimized-frame-context.js +0 -330
- package/dist/src/core/performance/optimized-frame-context.js.map +0 -1
- package/dist/src/core/performance/performance-benchmark.d.ts +0 -50
- package/dist/src/core/performance/performance-benchmark.d.ts.map +0 -1
- package/dist/src/core/performance/performance-benchmark.js +0 -290
- package/dist/src/core/performance/performance-benchmark.js.map +0 -1
- package/dist/src/core/performance/performance-profiler.d.ts +0 -151
- package/dist/src/core/performance/performance-profiler.d.ts.map +0 -1
- package/dist/src/core/performance/performance-profiler.js +0 -346
- package/dist/src/core/performance/performance-profiler.js.map +0 -1
- package/dist/src/core/performance/streaming-jsonl-parser.d.ts +0 -41
- package/dist/src/core/performance/streaming-jsonl-parser.d.ts.map +0 -1
- package/dist/src/core/performance/streaming-jsonl-parser.js +0 -193
- package/dist/src/core/performance/streaming-jsonl-parser.js.map +0 -1
- package/dist/src/core/persistence/postgres-adapter.d.ts +0 -31
- package/dist/src/core/persistence/postgres-adapter.d.ts.map +0 -1
- package/dist/src/core/persistence/postgres-adapter.js +0 -330
- package/dist/src/core/persistence/postgres-adapter.js.map +0 -1
- package/dist/src/core/projects/project-manager.d.ts +0 -130
- package/dist/src/core/projects/project-manager.d.ts.map +0 -1
- package/dist/src/core/projects/project-manager.js +0 -709
- package/dist/src/core/projects/project-manager.js.map +0 -1
- package/dist/src/core/query/query-parser.d.ts +0 -109
- package/dist/src/core/query/query-parser.d.ts.map +0 -1
- package/dist/src/core/query/query-parser.js +0 -415
- package/dist/src/core/query/query-parser.js.map +0 -1
- package/dist/src/core/query/query-templates.d.ts +0 -44
- package/dist/src/core/query/query-templates.d.ts.map +0 -1
- package/dist/src/core/query/query-templates.js +0 -326
- package/dist/src/core/query/query-templates.js.map +0 -1
- package/dist/src/core/retrieval/index.d.ts +0 -8
- package/dist/src/core/retrieval/index.d.ts.map +0 -1
- package/dist/src/core/retrieval/index.js +0 -8
- package/dist/src/core/retrieval/index.js.map +0 -1
- package/dist/src/core/retrieval/llm-context-retrieval.d.ts +0 -73
- package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +0 -1
- package/dist/src/core/retrieval/llm-context-retrieval.js +0 -597
- package/dist/src/core/retrieval/llm-context-retrieval.js.map +0 -1
- package/dist/src/core/retrieval/summary-generator.d.ts +0 -63
- package/dist/src/core/retrieval/summary-generator.d.ts.map +0 -1
- package/dist/src/core/retrieval/summary-generator.js +0 -622
- package/dist/src/core/retrieval/summary-generator.js.map +0 -1
- package/dist/src/core/retrieval/types.d.ts +0 -257
- package/dist/src/core/retrieval/types.d.ts.map +0 -1
- package/dist/src/core/retrieval/types.js +0 -18
- package/dist/src/core/retrieval/types.js.map +0 -1
- package/dist/src/core/session/index.d.ts +0 -2
- package/dist/src/core/session/index.d.ts.map +0 -1
- package/dist/src/core/session/index.js +0 -2
- package/dist/src/core/session/index.js.map +0 -1
- package/dist/src/core/session/session-manager.d.ts +0 -69
- package/dist/src/core/session/session-manager.d.ts.map +0 -1
- package/dist/src/core/session/session-manager.js +0 -311
- package/dist/src/core/session/session-manager.js.map +0 -1
- package/dist/src/core/trace/cli-trace-wrapper.d.ts +0 -23
- package/dist/src/core/trace/cli-trace-wrapper.d.ts.map +0 -1
- package/dist/src/core/trace/cli-trace-wrapper.js +0 -141
- package/dist/src/core/trace/cli-trace-wrapper.js.map +0 -1
- package/dist/src/core/trace/db-trace-wrapper.d.ts +0 -36
- package/dist/src/core/trace/db-trace-wrapper.d.ts.map +0 -1
- package/dist/src/core/trace/db-trace-wrapper.js +0 -252
- package/dist/src/core/trace/db-trace-wrapper.js.map +0 -1
- package/dist/src/core/trace/debug-trace.d.ts +0 -84
- package/dist/src/core/trace/debug-trace.d.ts.map +0 -1
- package/dist/src/core/trace/debug-trace.js +0 -402
- package/dist/src/core/trace/debug-trace.js.map +0 -1
- package/dist/src/core/trace/error-test.d.ts +0 -6
- package/dist/src/core/trace/error-test.d.ts.map +0 -1
- package/dist/src/core/trace/error-test.js +0 -128
- package/dist/src/core/trace/error-test.js.map +0 -1
- package/dist/src/core/trace/index.d.ts +0 -25
- package/dist/src/core/trace/index.d.ts.map +0 -1
- package/dist/src/core/trace/index.js +0 -121
- package/dist/src/core/trace/index.js.map +0 -1
- package/dist/src/core/trace/linear-api-wrapper.d.ts +0 -17
- package/dist/src/core/trace/linear-api-wrapper.d.ts.map +0 -1
- package/dist/src/core/trace/linear-api-wrapper.js +0 -205
- package/dist/src/core/trace/linear-api-wrapper.js.map +0 -1
- package/dist/src/core/trace/performance-test.d.ts +0 -6
- package/dist/src/core/trace/performance-test.d.ts.map +0 -1
- package/dist/src/core/trace/performance-test.js +0 -111
- package/dist/src/core/trace/performance-test.js.map +0 -1
- package/dist/src/core/trace/trace-demo.d.ts +0 -8
- package/dist/src/core/trace/trace-demo.d.ts.map +0 -1
- package/dist/src/core/trace/trace-demo.js +0 -154
- package/dist/src/core/trace/trace-demo.js.map +0 -1
- package/dist/src/core/trace/trace-detector.d.ts +0 -108
- package/dist/src/core/trace/trace-detector.d.ts.map +0 -1
- package/dist/src/core/trace/trace-detector.demo.d.ts +0 -5
- package/dist/src/core/trace/trace-detector.demo.d.ts.map +0 -1
- package/dist/src/core/trace/trace-detector.demo.js +0 -145
- package/dist/src/core/trace/trace-detector.demo.js.map +0 -1
- package/dist/src/core/trace/trace-detector.js +0 -425
- package/dist/src/core/trace/trace-detector.js.map +0 -1
- package/dist/src/core/trace/trace-store.d.ts +0 -60
- package/dist/src/core/trace/trace-store.d.ts.map +0 -1
- package/dist/src/core/trace/trace-store.js +0 -323
- package/dist/src/core/trace/trace-store.js.map +0 -1
- package/dist/src/core/trace/types.d.ts +0 -81
- package/dist/src/core/trace/types.d.ts.map +0 -1
- package/dist/src/core/trace/types.js +0 -70
- package/dist/src/core/trace/types.js.map +0 -1
- package/dist/src/core/types.d.ts +0 -35
- package/dist/src/core/types.d.ts.map +0 -1
- package/dist/src/core/types.js +0 -2
- package/dist/src/core/types.js.map +0 -1
- package/dist/src/core/utils/update-checker.d.ts +0 -38
- package/dist/src/core/utils/update-checker.d.ts.map +0 -1
- package/dist/src/core/utils/update-checker.js +0 -213
- package/dist/src/core/utils/update-checker.js.map +0 -1
- package/dist/src/core/worktree/worktree-manager.d.ts +0 -110
- package/dist/src/core/worktree/worktree-manager.d.ts.map +0 -1
- package/dist/src/core/worktree/worktree-manager.js +0 -456
- package/dist/src/core/worktree/worktree-manager.js.map +0 -1
- package/dist/src/features/analytics/api/analytics-api.d.ts +0 -24
- package/dist/src/features/analytics/api/analytics-api.d.ts.map +0 -1
- package/dist/src/features/analytics/api/analytics-api.js +0 -289
- package/dist/src/features/analytics/api/analytics-api.js.map +0 -1
- package/dist/src/features/analytics/core/analytics-service.d.ts +0 -29
- package/dist/src/features/analytics/core/analytics-service.d.ts.map +0 -1
- package/dist/src/features/analytics/core/analytics-service.js +0 -275
- package/dist/src/features/analytics/core/analytics-service.js.map +0 -1
- package/dist/src/features/analytics/index.d.ts +0 -12
- package/dist/src/features/analytics/index.d.ts.map +0 -1
- package/dist/src/features/analytics/index.js +0 -11
- package/dist/src/features/analytics/index.js.map +0 -1
- package/dist/src/features/analytics/queries/metrics-queries.d.ts +0 -11
- package/dist/src/features/analytics/queries/metrics-queries.d.ts.map +0 -1
- package/dist/src/features/analytics/queries/metrics-queries.js +0 -240
- package/dist/src/features/analytics/queries/metrics-queries.js.map +0 -1
- package/dist/src/features/analytics/types/metrics.d.ts +0 -60
- package/dist/src/features/analytics/types/metrics.d.ts.map +0 -1
- package/dist/src/features/analytics/types/metrics.js +0 -2
- package/dist/src/features/analytics/types/metrics.js.map +0 -1
- package/dist/src/features/browser/browser-mcp.d.ts +0 -94
- package/dist/src/features/browser/browser-mcp.d.ts.map +0 -1
- package/dist/src/features/browser/browser-mcp.js +0 -459
- package/dist/src/features/browser/browser-mcp.js.map +0 -1
- package/dist/src/features/tasks/pebbles-task-store.d.ts +0 -128
- package/dist/src/features/tasks/pebbles-task-store.d.ts.map +0 -1
- package/dist/src/features/tasks/pebbles-task-store.js +0 -572
- package/dist/src/features/tasks/pebbles-task-store.js.map +0 -1
- package/dist/src/features/tasks/task-aware-context.d.ts +0 -103
- package/dist/src/features/tasks/task-aware-context.d.ts.map +0 -1
- package/dist/src/features/tasks/task-aware-context.js +0 -412
- package/dist/src/features/tasks/task-aware-context.js.map +0 -1
- package/dist/src/index.d.ts +0 -21
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -9
- package/dist/src/index.js.map +0 -1
- package/dist/src/integrations/linear/auth.d.ts +0 -99
- package/dist/src/integrations/linear/auth.d.ts.map +0 -1
- package/dist/src/integrations/linear/auth.js +0 -319
- package/dist/src/integrations/linear/auth.js.map +0 -1
- package/dist/src/integrations/linear/auto-sync.d.ts +0 -77
- package/dist/src/integrations/linear/auto-sync.d.ts.map +0 -1
- package/dist/src/integrations/linear/auto-sync.js +0 -268
- package/dist/src/integrations/linear/auto-sync.js.map +0 -1
- package/dist/src/integrations/linear/client.d.ts +0 -127
- package/dist/src/integrations/linear/client.d.ts.map +0 -1
- package/dist/src/integrations/linear/client.js +0 -446
- package/dist/src/integrations/linear/client.js.map +0 -1
- package/dist/src/integrations/linear/config.d.ts +0 -51
- package/dist/src/integrations/linear/config.d.ts.map +0 -1
- package/dist/src/integrations/linear/config.js +0 -103
- package/dist/src/integrations/linear/config.js.map +0 -1
- package/dist/src/integrations/linear/sync-manager.d.ts +0 -78
- package/dist/src/integrations/linear/sync-manager.d.ts.map +0 -1
- package/dist/src/integrations/linear/sync-manager.js +0 -235
- package/dist/src/integrations/linear/sync-manager.js.map +0 -1
- package/dist/src/integrations/linear/sync-service.d.ts +0 -46
- package/dist/src/integrations/linear/sync-service.d.ts.map +0 -1
- package/dist/src/integrations/linear/sync-service.js +0 -217
- package/dist/src/integrations/linear/sync-service.js.map +0 -1
- package/dist/src/integrations/linear/sync.d.ts +0 -125
- package/dist/src/integrations/linear/sync.d.ts.map +0 -1
- package/dist/src/integrations/linear/sync.js +0 -563
- package/dist/src/integrations/linear/sync.js.map +0 -1
- package/dist/src/integrations/linear/types.d.ts +0 -90
- package/dist/src/integrations/linear/types.d.ts.map +0 -1
- package/dist/src/integrations/linear/types.js +0 -2
- package/dist/src/integrations/linear/types.js.map +0 -1
- package/dist/src/integrations/linear/webhook-server.d.ts +0 -32
- package/dist/src/integrations/linear/webhook-server.d.ts.map +0 -1
- package/dist/src/integrations/linear/webhook-server.js +0 -190
- package/dist/src/integrations/linear/webhook-server.js.map +0 -1
- package/dist/src/integrations/linear/webhook.d.ts +0 -108
- package/dist/src/integrations/linear/webhook.d.ts.map +0 -1
- package/dist/src/integrations/linear/webhook.js +0 -291
- package/dist/src/integrations/linear/webhook.js.map +0 -1
- package/dist/src/integrations/mcp/handlers/context-handlers.d.ts +0 -39
- package/dist/src/integrations/mcp/handlers/context-handlers.d.ts.map +0 -1
- package/dist/src/integrations/mcp/handlers/context-handlers.js +0 -266
- package/dist/src/integrations/mcp/handlers/context-handlers.js.map +0 -1
- package/dist/src/integrations/mcp/handlers/index.d.ts +0 -37
- package/dist/src/integrations/mcp/handlers/index.d.ts.map +0 -1
- package/dist/src/integrations/mcp/handlers/index.js +0 -134
- package/dist/src/integrations/mcp/handlers/index.js.map +0 -1
- package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts +0 -33
- package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts.map +0 -1
- package/dist/src/integrations/mcp/handlers/linear-handlers.js +0 -251
- package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +0 -1
- package/dist/src/integrations/mcp/handlers/task-handlers.d.ts +0 -42
- package/dist/src/integrations/mcp/handlers/task-handlers.d.ts.map +0 -1
- package/dist/src/integrations/mcp/handlers/task-handlers.js +0 -238
- package/dist/src/integrations/mcp/handlers/task-handlers.js.map +0 -1
- package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts +0 -41
- package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts.map +0 -1
- package/dist/src/integrations/mcp/handlers/trace-handlers.js +0 -298
- package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +0 -1
- package/dist/src/integrations/mcp/index.d.ts +0 -13
- package/dist/src/integrations/mcp/index.d.ts.map +0 -1
- package/dist/src/integrations/mcp/index.js +0 -17
- package/dist/src/integrations/mcp/index.js.map +0 -1
- package/dist/src/integrations/mcp/refactored-server.d.ts +0 -76
- package/dist/src/integrations/mcp/refactored-server.d.ts.map +0 -1
- package/dist/src/integrations/mcp/refactored-server.js +0 -351
- package/dist/src/integrations/mcp/refactored-server.js.map +0 -1
- package/dist/src/integrations/mcp/server.d.ts +0 -54
- package/dist/src/integrations/mcp/server.d.ts.map +0 -1
- package/dist/src/integrations/mcp/server.js +0 -1616
- package/dist/src/integrations/mcp/server.js.map +0 -1
- package/dist/src/integrations/mcp/tool-definitions.d.ts +0 -44
- package/dist/src/integrations/mcp/tool-definitions.d.ts.map +0 -1
- package/dist/src/integrations/mcp/tool-definitions.js +0 -563
- package/dist/src/integrations/mcp/tool-definitions.js.map +0 -1
- package/dist/src/integrations/mcp/trace-test.d.ts +0 -5
- package/dist/src/integrations/mcp/trace-test.d.ts.map +0 -1
- package/dist/src/integrations/mcp/trace-test.js +0 -54
- package/dist/src/integrations/mcp/trace-test.js.map +0 -1
- package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts +0 -48
- package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts.map +0 -1
- package/dist/src/integrations/pg-aiguide/embedding-provider.js +0 -190
- package/dist/src/integrations/pg-aiguide/embedding-provider.js.map +0 -1
- package/dist/src/integrations/pg-aiguide/semantic-search.d.ts +0 -34
- package/dist/src/integrations/pg-aiguide/semantic-search.d.ts.map +0 -1
- package/dist/src/integrations/pg-aiguide/semantic-search.js +0 -176
- package/dist/src/integrations/pg-aiguide/semantic-search.js.map +0 -1
- package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts +0 -44
- package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts.map +0 -1
- package/dist/src/integrations/pg-aiguide/timescale-analytics.js +0 -215
- package/dist/src/integrations/pg-aiguide/timescale-analytics.js.map +0 -1
- package/dist/src/mcp/stackmemory-mcp-server.d.ts +0 -9
- package/dist/src/mcp/stackmemory-mcp-server.d.ts.map +0 -1
- package/dist/src/mcp/stackmemory-mcp-server.js +0 -519
- package/dist/src/mcp/stackmemory-mcp-server.js.map +0 -1
- package/dist/src/middleware/exponential-rate-limiter.d.ts +0 -78
- package/dist/src/middleware/exponential-rate-limiter.d.ts.map +0 -1
- package/dist/src/middleware/exponential-rate-limiter.js +0 -293
- package/dist/src/middleware/exponential-rate-limiter.js.map +0 -1
- package/dist/src/models/user.model.d.ts +0 -62
- package/dist/src/models/user.model.d.ts.map +0 -1
- package/dist/src/models/user.model.js +0 -311
- package/dist/src/models/user.model.js.map +0 -1
- package/dist/src/servers/production/auth-middleware.d.ts +0 -76
- package/dist/src/servers/production/auth-middleware.d.ts.map +0 -1
- package/dist/src/servers/production/auth-middleware.js +0 -558
- package/dist/src/servers/production/auth-middleware.js.map +0 -1
- package/dist/src/servers/railway/index.d.ts +0 -7
- package/dist/src/servers/railway/index.d.ts.map +0 -1
- package/dist/src/servers/railway/index.js +0 -401
- package/dist/src/servers/railway/index.js.map +0 -1
- package/dist/src/services/config-service.d.ts +0 -44
- package/dist/src/services/config-service.d.ts.map +0 -1
- package/dist/src/services/config-service.js +0 -61
- package/dist/src/services/config-service.js.map +0 -1
- package/dist/src/services/context-service.d.ts +0 -17
- package/dist/src/services/context-service.d.ts.map +0 -1
- package/dist/src/services/context-service.js +0 -173
- package/dist/src/services/context-service.js.map +0 -1
- package/dist/src/types/task.d.ts +0 -27
- package/dist/src/types/task.d.ts.map +0 -1
- package/dist/src/types/task.js +0 -2
- package/dist/src/types/task.js.map +0 -1
- package/dist/src/utils/logger.d.ts +0 -13
- package/dist/src/utils/logger.d.ts.map +0 -1
- package/dist/src/utils/logger.js +0 -52
- package/dist/src/utils/logger.js.map +0 -1
- package/dist/src/validation/schemas.d.ts +0 -633
- package/dist/src/validation/schemas.d.ts.map +0 -1
- package/dist/src/validation/schemas.js +0 -347
- package/dist/src/validation/schemas.js.map +0 -1
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/integrations/linear/__tests__/sync-service.test.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Tests for LinearSyncService - Bidirectional sync with Linear\n */\n\nimport { describe, it, expect, beforeEach, afterEach, vi, Mock } from 'vitest';\nimport { LinearSyncService, SyncResult } from '../sync-service.js';\nimport { LinearClient } from '../client.js';\nimport { ContextService } from '../../../services/context-service.js';\nimport { ConfigService } from '../../../services/config-service.js';\nimport { TaskStatus, TaskPriority, Task } from '../../../types/task.js';\n\n// Create mock instances that can be configured\nconst mockLinearClientInstance = {\n getIssues: vi.fn(),\n updateIssue: vi.fn(),\n createIssue: vi.fn(),\n};\n\nconst mockContextServiceInstance = {\n getTaskByExternalId: vi.fn(),\n updateTask: vi.fn(),\n createTask: vi.fn(),\n getTask: vi.fn(),\n deleteTask: vi.fn(),\n getAllTasks: vi.fn(),\n};\n\nconst mockConfigServiceInstance = {\n getConfig: vi.fn(),\n};\n\n// Mock dependencies using class syntax\nvi.mock('../client.js', () => ({\n LinearClient: class {\n getIssues = mockLinearClientInstance.getIssues;\n updateIssue = mockLinearClientInstance.updateIssue;\n createIssue = mockLinearClientInstance.createIssue;\n },\n}));\n\nvi.mock('../../../services/context-service.js', () => ({\n ContextService: class {\n getTaskByExternalId = mockContextServiceInstance.getTaskByExternalId;\n updateTask = mockContextServiceInstance.updateTask;\n createTask = mockContextServiceInstance.createTask;\n getTask = mockContextServiceInstance.getTask;\n deleteTask = mockContextServiceInstance.deleteTask;\n getAllTasks = mockContextServiceInstance.getAllTasks;\n },\n}));\n\nvi.mock('../../../services/config-service.js', () => ({\n ConfigService: class {\n getConfig = mockConfigServiceInstance.getConfig;\n },\n}));\n\nvi.mock('../../../utils/logger.js', () => ({\n Logger: class {\n info = vi.fn();\n error = vi.fn();\n debug = vi.fn();\n warn = vi.fn();\n },\n}));\n\ndescribe('LinearSyncService', () => {\n let syncService: LinearSyncService;\n let originalEnv: NodeJS.ProcessEnv;\n\n beforeEach(() => {\n // Store original environment\n originalEnv = process.env;\n\n // Set required environment variable\n process.env.LINEAR_API_KEY = 'test-api-key';\n\n // Reset mock functions\n mockLinearClientInstance.getIssues.mockReset();\n mockLinearClientInstance.updateIssue.mockReset();\n mockLinearClientInstance.createIssue.mockReset();\n mockContextServiceInstance.getTaskByExternalId.mockReset();\n mockContextServiceInstance.updateTask.mockReset();\n mockContextServiceInstance.createTask.mockReset();\n mockContextServiceInstance.getTask.mockReset();\n mockContextServiceInstance.deleteTask.mockReset();\n mockContextServiceInstance.getAllTasks.mockReset();\n mockConfigServiceInstance.getConfig.mockReset();\n\n // Create sync service instance\n syncService = new LinearSyncService();\n });\n\n afterEach(() => {\n // Restore environment\n process.env = originalEnv;\n });\n\n // Aliases for cleaner test code\n const mockLinearClient = mockLinearClientInstance;\n const mockContextService = mockContextServiceInstance;\n const mockConfigService = mockConfigServiceInstance;\n\n describe('Initialization', () => {\n it('should initialize with Linear API key from environment', () => {\n // syncService is already created in beforeEach, just verify it works\n expect(syncService).toBeDefined();\n });\n\n it('should throw error when LINEAR_API_KEY is not set', () => {\n delete process.env.LINEAR_API_KEY;\n\n expect(() => {\n new LinearSyncService();\n }).toThrow('LINEAR_API_KEY environment variable not set');\n });\n\n it('should initialize services correctly', () => {\n // Just verify the service is created successfully\n expect(syncService).toBeDefined();\n });\n });\n\n describe('syncAllIssues', () => {\n beforeEach(() => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {\n linear: {\n teamId: 'test-team-id',\n },\n },\n });\n });\n\n it('should sync all issues from Linear successfully', async () => {\n const mockIssues = [\n {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Test Issue 1',\n description: 'Description 1',\n state: { type: 'unstarted' },\n priority: 2,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'bug' }],\n updatedAt: new Date().toISOString(),\n },\n {\n id: 'issue-2',\n identifier: 'STA-2',\n title: 'Test Issue 2',\n description: 'Description 2',\n state: { type: 'completed' },\n priority: 3,\n url: 'https://linear.app/issue-2',\n team: { id: 'team-1', key: 'STA' },\n labels: [],\n updatedAt: new Date().toISOString(),\n },\n ];\n\n mockLinearClient.getIssues.mockResolvedValue(mockIssues);\n mockContextService.getTaskByExternalId.mockResolvedValue(null); // No existing tasks\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(2);\n expect(result.updated).toBe(0);\n expect(result.errors).toHaveLength(0);\n expect(mockContextService.createTask).toHaveBeenCalledTimes(2);\n });\n\n it('should update existing tasks when they have changes', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Updated Title',\n description: 'Updated Description',\n state: { type: 'completed' },\n priority: 3,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'feature' }],\n updatedAt: new Date().toISOString(),\n };\n\n const existingTask: Partial<Task> = {\n id: 'local-task-1',\n title: 'Old Title',\n description: 'Old Description',\n status: 'todo',\n priority: 'high',\n externalId: 'issue-1',\n };\n\n mockLinearClient.getIssues.mockResolvedValue([mockIssue]);\n mockContextService.getTaskByExternalId.mockResolvedValue(existingTask);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(0);\n expect(result.updated).toBe(1);\n expect(mockContextService.updateTask).toHaveBeenCalledWith(\n 'local-task-1',\n expect.objectContaining({\n title: 'Updated Title',\n description: 'Updated Description',\n status: 'done',\n priority: 'medium',\n })\n );\n });\n\n it('should skip tasks without changes', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Same Title',\n description: 'Same Description',\n state: { type: 'unstarted' },\n priority: 2,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'bug' }],\n updatedAt: new Date().toISOString(),\n };\n\n const existingTask: Partial<Task> = {\n id: 'local-task-1',\n title: 'Same Title',\n description: 'Same Description',\n status: 'todo',\n priority: 'high',\n tags: ['bug'],\n externalId: 'issue-1',\n };\n\n mockLinearClient.getIssues.mockResolvedValue([mockIssue]);\n mockContextService.getTaskByExternalId.mockResolvedValue(existingTask);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(0);\n expect(result.updated).toBe(0);\n expect(mockContextService.updateTask).not.toHaveBeenCalled();\n });\n\n it('should handle sync errors gracefully', async () => {\n const mockIssues = [\n {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Test Issue',\n state: { type: 'unstarted' },\n team: { id: 'team-1', key: 'STA' },\n updatedAt: new Date().toISOString(),\n },\n ];\n\n mockLinearClient.getIssues.mockResolvedValue(mockIssues);\n mockContextService.getTaskByExternalId.mockRejectedValue(\n new Error('Database error')\n );\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toHaveLength(1);\n expect(result.errors[0]).toContain('Failed to sync STA-1');\n });\n\n it('should throw error when Linear team ID is not configured', async () => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {},\n });\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toContain('Linear team ID not configured');\n });\n\n it('should handle Linear API errors', async () => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {\n linear: { teamId: 'test-team-id' },\n },\n });\n\n mockLinearClient.getIssues.mockRejectedValue(\n new Error('Linear API error')\n );\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toContain('Linear API error');\n });\n });\n\n describe('syncIssueToLocal', () => {\n it('should create new local task from Linear issue', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'New Issue',\n description: 'Issue description',\n state: { type: 'unstarted', id: 'state-1', name: 'Todo' },\n priority: 1,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'bug' }, { name: 'urgent' }],\n project: { id: 'proj-1', name: 'Main Project' },\n assignee: { id: 'user-1', name: 'John Doe' },\n updatedAt: new Date().toISOString(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(null);\n\n const result = await syncService.syncIssueToLocal(mockIssue);\n\n expect(result).toBe('created');\n expect(mockContextService.createTask).toHaveBeenCalledWith(\n expect.objectContaining({\n title: 'New Issue',\n description: 'Issue description',\n status: 'todo',\n priority: 'urgent',\n externalId: 'issue-1',\n externalIdentifier: 'STA-1',\n externalUrl: 'https://linear.app/issue-1',\n tags: ['bug', 'urgent'],\n metadata: {\n linear: {\n stateId: 'state-1',\n stateName: 'Todo',\n assigneeId: 'user-1',\n assigneeName: 'John Doe',\n },\n },\n })\n );\n });\n\n it('should update existing local task', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Updated Issue',\n description: 'Updated description',\n state: { type: 'started', id: 'state-2', name: 'In Progress' },\n priority: 2,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'feature' }],\n updatedAt: new Date().toISOString(),\n };\n\n const existingTask: Task = {\n id: 'local-1',\n title: 'Old Title',\n description: 'Old description',\n status: 'todo',\n priority: 'low',\n tags: ['old-tag'],\n externalId: 'issue-1',\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(existingTask);\n\n const result = await syncService.syncIssueToLocal(mockIssue);\n\n expect(result).toBe('updated');\n expect(mockContextService.updateTask).toHaveBeenCalledWith(\n 'local-1',\n expect.objectContaining({\n title: 'Updated Issue',\n description: 'Updated description',\n status: 'in_progress',\n priority: 'high',\n externalId: 'issue-1',\n externalIdentifier: 'STA-1',\n externalUrl: 'https://linear.app/issue-1',\n tags: ['feature'],\n metadata: {\n linear: {\n stateId: 'state-2',\n stateName: 'In Progress',\n assigneeId: undefined,\n assigneeName: undefined,\n },\n },\n })\n );\n });\n\n it('should handle sync errors and rethrow', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Error Issue',\n state: { type: 'unstarted' },\n team: { id: 'team-1', key: 'STA' },\n updatedAt: new Date().toISOString(),\n };\n\n mockContextService.getTaskByExternalId.mockRejectedValue(\n new Error('Database error')\n );\n\n await expect(syncService.syncIssueToLocal(mockIssue)).rejects.toThrow(\n 'Database error'\n );\n });\n });\n\n describe('syncLocalToLinear', () => {\n beforeEach(() => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {\n linear: {\n teamId: 'test-team-id',\n },\n },\n });\n });\n\n it('should create new Linear issue from local task', async () => {\n const mockTask: Task = {\n id: 'local-1',\n title: 'Local Task',\n description: 'Local description',\n status: 'todo',\n priority: 'high',\n tags: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n const mockCreatedIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Local Task',\n url: 'https://linear.app/issue-1',\n };\n\n mockContextService.getTask.mockResolvedValue(mockTask);\n mockLinearClient.createIssue.mockResolvedValue(mockCreatedIssue);\n\n const result = await syncService.syncLocalToLinear('local-1');\n\n expect(result).toEqual(mockCreatedIssue);\n expect(mockLinearClient.createIssue).toHaveBeenCalledWith({\n title: 'Local Task',\n description: 'Local description',\n teamId: 'test-team-id',\n priority: 2, // high -> 2\n });\n expect(mockContextService.updateTask).toHaveBeenCalledWith('local-1', {\n externalId: 'issue-1',\n });\n });\n\n it('should update existing Linear issue', async () => {\n const mockTask: Task = {\n id: 'local-1',\n title: 'Updated Local Task',\n description: 'Updated description',\n status: 'in_progress',\n priority: 'medium',\n tags: [],\n externalId: 'issue-1',\n metadata: {\n linear: {\n stateId: 'state-1',\n projectId: 'proj-1',\n assigneeId: 'user-1',\n },\n },\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n const mockUpdatedIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Updated Local Task',\n };\n\n mockContextService.getTask.mockResolvedValue(mockTask);\n mockLinearClient.updateIssue.mockResolvedValue(mockUpdatedIssue);\n\n const result = await syncService.syncLocalToLinear('local-1');\n\n expect(result).toEqual(mockUpdatedIssue);\n expect(mockLinearClient.updateIssue).toHaveBeenCalledWith('issue-1', {\n title: 'Updated Local Task',\n description: 'Updated description',\n priority: 3, // medium -> 3\n stateId: 'state-1',\n });\n });\n\n it('should throw error for non-existent task', async () => {\n mockContextService.getTask.mockResolvedValue(null);\n\n await expect(\n syncService.syncLocalToLinear('non-existent')\n ).rejects.toThrow('Task non-existent not found');\n });\n\n it('should handle Linear API errors', async () => {\n const mockTask: Task = {\n id: 'local-1',\n title: 'Task',\n description: 'Test task description',\n status: 'todo',\n priority: 'medium',\n tags: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTask.mockResolvedValue(mockTask);\n mockLinearClient.createIssue.mockRejectedValue(\n new Error('Linear API error')\n );\n\n await expect(syncService.syncLocalToLinear('local-1')).rejects.toThrow(\n 'Linear API error'\n );\n });\n });\n\n describe('removeLocalIssue', () => {\n it('should remove local task by Linear identifier', async () => {\n const mockTasks: Task[] = [\n {\n id: 'local-1',\n title: 'Task 1',\n description: 'Task 1 description',\n status: 'todo',\n priority: 'medium',\n tags: [],\n externalIdentifier: 'STA-1',\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n {\n id: 'local-2',\n title: 'Task 2',\n description: 'Task 2 description',\n status: 'todo',\n priority: 'medium',\n tags: [],\n externalIdentifier: 'STA-2',\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ];\n\n mockContextService.getAllTasks.mockResolvedValue(mockTasks);\n\n await syncService.removeLocalIssue('STA-1');\n\n expect(mockContextService.deleteTask).toHaveBeenCalledWith('local-1');\n });\n\n it('should handle non-existent identifier gracefully', async () => {\n mockContextService.getAllTasks.mockResolvedValue([]);\n\n await expect(\n syncService.removeLocalIssue('NON-EXISTENT')\n ).resolves.not.toThrow();\n expect(mockContextService.deleteTask).not.toHaveBeenCalled();\n });\n\n it('should handle deletion errors', async () => {\n const mockTasks: Task[] = [\n {\n id: 'local-1',\n title: 'Task',\n description: 'Task description',\n status: 'todo',\n priority: 'medium',\n tags: [],\n externalIdentifier: 'STA-1',\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ];\n\n mockContextService.getAllTasks.mockResolvedValue(mockTasks);\n mockContextService.deleteTask.mockRejectedValue(\n new Error('Delete error')\n );\n\n await expect(syncService.removeLocalIssue('STA-1')).rejects.toThrow(\n 'Delete error'\n );\n });\n });\n\n describe('Status and Priority Mapping', () => {\n beforeEach(() => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {\n linear: {\n teamId: 'test-team-id',\n },\n },\n });\n });\n\n it('should map Linear states to task statuses correctly', async () => {\n const testCases = [\n { linearState: 'backlog', expectedStatus: 'todo' },\n { linearState: 'triage', expectedStatus: 'todo' },\n { linearState: 'unstarted', expectedStatus: 'todo' },\n { linearState: 'todo', expectedStatus: 'todo' },\n { linearState: 'started', expectedStatus: 'in_progress' },\n { linearState: 'in_progress', expectedStatus: 'in_progress' },\n { linearState: 'completed', expectedStatus: 'done' },\n { linearState: 'done', expectedStatus: 'done' },\n { linearState: 'canceled', expectedStatus: 'cancelled' },\n { linearState: 'cancelled', expectedStatus: 'cancelled' },\n { linearState: 'unknown', expectedStatus: 'todo' },\n ];\n\n for (const { linearState, expectedStatus } of testCases) {\n const mockIssue = {\n id: 'test-issue',\n identifier: 'TEST-1',\n title: 'Test',\n state: { type: linearState },\n team: { id: 'team-1', key: 'TEST' },\n updatedAt: new Date().toISOString(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(null);\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.createTask).toHaveBeenCalledWith(\n expect.objectContaining({ status: expectedStatus })\n );\n\n mockContextService.createTask.mockClear();\n mockContextService.getTaskByExternalId.mockClear();\n }\n });\n\n it('should map Linear priorities to task priorities correctly', async () => {\n const testCases = [\n { linearPriority: 1, expectedPriority: 'urgent' },\n { linearPriority: 2, expectedPriority: 'high' },\n { linearPriority: 3, expectedPriority: 'medium' },\n { linearPriority: 4, expectedPriority: 'low' },\n { linearPriority: undefined, expectedPriority: undefined },\n ];\n\n for (const { linearPriority, expectedPriority } of testCases) {\n const mockIssue = {\n id: 'test-issue',\n identifier: 'TEST-1',\n title: 'Test',\n state: { type: 'unstarted' },\n priority: linearPriority,\n team: { id: 'team-1', key: 'TEST' },\n updatedAt: new Date().toISOString(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(null);\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.createTask).toHaveBeenCalledWith(\n expect.objectContaining({ priority: expectedPriority })\n );\n\n mockContextService.createTask.mockClear();\n mockContextService.getTaskByExternalId.mockClear();\n }\n });\n\n it('should map task priorities to Linear priorities correctly', async () => {\n const testCases = [\n { taskPriority: 'urgent' as TaskPriority, expectedLinearPriority: 1 },\n { taskPriority: 'high' as TaskPriority, expectedLinearPriority: 2 },\n { taskPriority: 'medium' as TaskPriority, expectedLinearPriority: 3 },\n { taskPriority: 'low' as TaskPriority, expectedLinearPriority: 4 },\n { taskPriority: undefined, expectedLinearPriority: 0 },\n ];\n\n for (const { taskPriority, expectedLinearPriority } of testCases) {\n const mockTask: Task = {\n id: 'local-1',\n title: 'Test Task',\n description: 'Test description',\n status: 'todo',\n priority: taskPriority,\n tags: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTask.mockResolvedValue(mockTask);\n mockLinearClient.createIssue.mockResolvedValue({\n id: 'created',\n identifier: 'TEST-1',\n });\n\n await syncService.syncLocalToLinear('local-1');\n\n expect(mockLinearClient.createIssue).toHaveBeenCalledWith(\n expect.objectContaining({ priority: expectedLinearPriority })\n );\n\n mockLinearClient.createIssue.mockClear();\n mockContextService.getTask.mockClear();\n mockContextService.updateTask.mockClear();\n }\n });\n });\n\n describe('Change Detection', () => {\n it('should detect changes in title', async () => {\n const existing: Task = {\n id: '1',\n title: 'Old Title',\n description: 'Same',\n status: 'todo',\n priority: 'medium',\n tags: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(existing);\n\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'New Title',\n description: 'Same',\n state: { type: 'unstarted' },\n priority: 2,\n team: { id: 'team-1', key: 'STA' },\n labels: [],\n updatedAt: new Date().toISOString(),\n };\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.updateTask).toHaveBeenCalled();\n });\n\n it('should detect changes in tags', async () => {\n const existing: Task = {\n id: '1',\n title: 'Same',\n description: 'Same',\n status: 'todo',\n priority: 'medium',\n tags: ['old-tag'],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(existing);\n\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Same',\n description: 'Same',\n state: { type: 'unstarted' },\n priority: 2,\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'new-tag' }],\n updatedAt: new Date().toISOString(),\n };\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.updateTask).toHaveBeenCalled();\n });\n\n it('should not update when no changes detected', async () => {\n const existing: Task = {\n id: '1',\n title: 'Same Title',\n description: 'Same Description',\n status: 'todo',\n priority: 'high', // Linear priority 2 maps to 'high'\n tags: ['tag1'],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(existing);\n\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Same Title',\n description: 'Same Description',\n state: { type: 'unstarted' },\n priority: 2, // Maps to 'high'\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'tag1' }],\n updatedAt: new Date().toISOString(),\n };\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.updateTask).not.toHaveBeenCalled();\n });\n });\n\n describe('Error Recovery and Edge Cases', () => {\n it('should handle partial sync failures gracefully', async () => {\n const mockIssues = [\n {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Good Issue',\n state: { type: 'unstarted' },\n team: { id: 'team-1', key: 'STA' },\n updatedAt: new Date().toISOString(),\n },\n {\n id: 'issue-2',\n identifier: 'STA-2',\n title: 'Bad Issue',\n state: { type: 'unstarted' },\n team: { id: 'team-1', key: 'STA' },\n updatedAt: new Date().toISOString(),\n },\n ];\n\n mockConfigService.getConfig.mockResolvedValue({\n integrations: { linear: { teamId: 'test-team-id' } },\n });\n\n mockLinearClient.getIssues.mockResolvedValue(mockIssues);\n mockContextService.getTaskByExternalId.mockResolvedValue(null);\n\n // First issue succeeds, second fails\n mockContextService.createTask\n .mockResolvedValueOnce('success')\n .mockRejectedValueOnce(new Error('Creation failed'));\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(1);\n expect(result.errors).toHaveLength(1);\n expect(result.errors[0]).toContain('Failed to sync STA-2');\n });\n\n it('should handle empty issues list', async () => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: { linear: { teamId: 'test-team-id' } },\n });\n\n mockLinearClient.getIssues.mockResolvedValue([]);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(0);\n expect(result.updated).toBe(0);\n expect(result.errors).toHaveLength(0);\n });\n\n it('should handle malformed Linear issues', async () => {\n const malformedIssue = {\n // Missing required fields\n id: 'issue-1',\n title: null,\n state: null,\n team: null,\n };\n\n mockConfigService.getConfig.mockResolvedValue({\n integrations: { linear: { teamId: 'test-team-id' } },\n });\n\n mockLinearClient.getIssues.mockResolvedValue([malformedIssue]);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toHaveLength(1);\n });\n\n it('should handle network timeouts gracefully', async () => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: { linear: { teamId: 'test-team-id' } },\n });\n\n const timeoutError = new Error('Request timeout');\n timeoutError.name = 'TimeoutError';\n\n mockLinearClient.getIssues.mockRejectedValue(timeoutError);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toHaveLength(1);\n expect(result.errors[0]).toContain('Request timeout');\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAIA,SAAS,UAAU,IAAI,QAAQ,YAAY,WAAW,UAAgB;AACtE,SAAS,yBAAqC;AAO9C,MAAM,2BAA2B;AAAA,EAC/B,WAAW,GAAG,GAAG;AAAA,EACjB,aAAa,GAAG,GAAG;AAAA,EACnB,aAAa,GAAG,GAAG;AACrB;AAEA,MAAM,6BAA6B;AAAA,EACjC,qBAAqB,GAAG,GAAG;AAAA,EAC3B,YAAY,GAAG,GAAG;AAAA,EAClB,YAAY,GAAG,GAAG;AAAA,EAClB,SAAS,GAAG,GAAG;AAAA,EACf,YAAY,GAAG,GAAG;AAAA,EAClB,aAAa,GAAG,GAAG;AACrB;AAEA,MAAM,4BAA4B;AAAA,EAChC,WAAW,GAAG,GAAG;AACnB;AAGA,GAAG,KAAK,gBAAgB,OAAO;AAAA,EAC7B,cAAc,MAAM;AAAA,IAClB,YAAY,yBAAyB;AAAA,IACrC,cAAc,yBAAyB;AAAA,IACvC,cAAc,yBAAyB;AAAA,EACzC;AACF,EAAE;AAEF,GAAG,KAAK,wCAAwC,OAAO;AAAA,EACrD,gBAAgB,MAAM;AAAA,IACpB,sBAAsB,2BAA2B;AAAA,IACjD,aAAa,2BAA2B;AAAA,IACxC,aAAa,2BAA2B;AAAA,IACxC,UAAU,2BAA2B;AAAA,IACrC,aAAa,2BAA2B;AAAA,IACxC,cAAc,2BAA2B;AAAA,EAC3C;AACF,EAAE;AAEF,GAAG,KAAK,uCAAuC,OAAO;AAAA,EACpD,eAAe,MAAM;AAAA,IACnB,YAAY,0BAA0B;AAAA,EACxC;AACF,EAAE;AAEF,GAAG,KAAK,4BAA4B,OAAO;AAAA,EACzC,QAAQ,MAAM;AAAA,IACZ,OAAO,GAAG,GAAG;AAAA,IACb,QAAQ,GAAG,GAAG;AAAA,IACd,QAAQ,GAAG,GAAG;AAAA,IACd,OAAO,GAAG,GAAG;AAAA,EACf;AACF,EAAE;AAEF,SAAS,qBAAqB,MAAM;AAClC,MAAI;AACJ,MAAI;AAEJ,aAAW,MAAM;AAEf,kBAAc,QAAQ;AAGtB,YAAQ,IAAI,iBAAiB;AAG7B,6BAAyB,UAAU,UAAU;AAC7C,6BAAyB,YAAY,UAAU;AAC/C,6BAAyB,YAAY,UAAU;AAC/C,+BAA2B,oBAAoB,UAAU;AACzD,+BAA2B,WAAW,UAAU;AAChD,+BAA2B,WAAW,UAAU;AAChD,+BAA2B,QAAQ,UAAU;AAC7C,+BAA2B,WAAW,UAAU;AAChD,+BAA2B,YAAY,UAAU;AACjD,8BAA0B,UAAU,UAAU;AAG9C,kBAAc,IAAI,kBAAkB;AAAA,EACtC,CAAC;AAED,YAAU,MAAM;AAEd,YAAQ,MAAM;AAAA,EAChB,CAAC;AAGD,QAAM,mBAAmB;AACzB,QAAM,qBAAqB;AAC3B,QAAM,oBAAoB;AAE1B,WAAS,kBAAkB,MAAM;AAC/B,OAAG,0DAA0D,MAAM;AAEjE,aAAO,WAAW,EAAE,YAAY;AAAA,IAClC,CAAC;AAED,OAAG,qDAAqD,MAAM;AAC5D,aAAO,QAAQ,IAAI;AAEnB,aAAO,MAAM;AACX,YAAI,kBAAkB;AAAA,MACxB,CAAC,EAAE,QAAQ,6CAA6C;AAAA,IAC1D,CAAC;AAED,OAAG,wCAAwC,MAAM;AAE/C,aAAO,WAAW,EAAE,YAAY;AAAA,IAClC,CAAC;AAAA,EACH,CAAC;AAED,WAAS,iBAAiB,MAAM;AAC9B,eAAW,MAAM;AACf,wBAAkB,UAAU,kBAAkB;AAAA,QAC5C,cAAc;AAAA,UACZ,QAAQ;AAAA,YACN,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,OAAG,mDAAmD,YAAY;AAChE,YAAM,aAAa;AAAA,QACjB;AAAA,UACE,IAAI;AAAA,UACJ,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,aAAa;AAAA,UACb,OAAO,EAAE,MAAM,YAAY;AAAA,UAC3B,UAAU;AAAA,UACV,KAAK;AAAA,UACL,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,UACjC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;AAAA,UACxB,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,aAAa;AAAA,UACb,OAAO,EAAE,MAAM,YAAY;AAAA,UAC3B,UAAU;AAAA,UACV,KAAK;AAAA,UACL,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,UACjC,QAAQ,CAAC;AAAA,UACT,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,QACpC;AAAA,MACF;AAEA,uBAAiB,UAAU,kBAAkB,UAAU;AACvD,yBAAmB,oBAAoB,kBAAkB,IAAI;AAE7D,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,OAAO,EAAE,KAAK,CAAC;AAC7B,aAAO,OAAO,OAAO,EAAE,KAAK,CAAC;AAC7B,aAAO,OAAO,MAAM,EAAE,aAAa,CAAC;AACpC,aAAO,mBAAmB,UAAU,EAAE,sBAAsB,CAAC;AAAA,IAC/D,CAAC;AAED,OAAG,uDAAuD,YAAY;AACpE,YAAM,YAAY;AAAA,QAChB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,EAAE,MAAM,YAAY;AAAA,QAC3B,UAAU;AAAA,QACV,KAAK;AAAA,QACL,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,QACjC,QAAQ,CAAC,EAAE,MAAM,UAAU,CAAC;AAAA,QAC5B,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MACpC;AAEA,YAAM,eAA8B;AAAA,QAClC,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,YAAY;AAAA,MACd;AAEA,uBAAiB,UAAU,kBAAkB,CAAC,SAAS,CAAC;AACxD,yBAAmB,oBAAoB,kBAAkB,YAAY;AAErE,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,OAAO,EAAE,KAAK,CAAC;AAC7B,aAAO,OAAO,OAAO,EAAE,KAAK,CAAC;AAC7B,aAAO,mBAAmB,UAAU,EAAE;AAAA,QACpC;AAAA,QACA,OAAO,iBAAiB;AAAA,UACtB,OAAO;AAAA,UACP,aAAa;AAAA,UACb,QAAQ;AAAA,UACR,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAED,OAAG,qCAAqC,YAAY;AAClD,YAAM,YAAY;AAAA,QAChB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,EAAE,MAAM,YAAY;AAAA,QAC3B,UAAU;AAAA,QACV,KAAK;AAAA,QACL,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,QACjC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;AAAA,QACxB,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MACpC;AAEA,YAAM,eAA8B;AAAA,QAClC,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM,CAAC,KAAK;AAAA,QACZ,YAAY;AAAA,MACd;AAEA,uBAAiB,UAAU,kBAAkB,CAAC,SAAS,CAAC;AACxD,yBAAmB,oBAAoB,kBAAkB,YAAY;AAErE,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,OAAO,EAAE,KAAK,CAAC;AAC7B,aAAO,OAAO,OAAO,EAAE,KAAK,CAAC;AAC7B,aAAO,mBAAmB,UAAU,EAAE,IAAI,iBAAiB;AAAA,IAC7D,CAAC;AAED,OAAG,wCAAwC,YAAY;AACrD,YAAM,aAAa;AAAA,QACjB;AAAA,UACE,IAAI;AAAA,UACJ,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,OAAO,EAAE,MAAM,YAAY;AAAA,UAC3B,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,UACjC,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,QACpC;AAAA,MACF;AAEA,uBAAiB,UAAU,kBAAkB,UAAU;AACvD,yBAAmB,oBAAoB;AAAA,QACrC,IAAI,MAAM,gBAAgB;AAAA,MAC5B;AAEA,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,MAAM,EAAE,aAAa,CAAC;AACpC,aAAO,OAAO,OAAO,CAAC,CAAC,EAAE,UAAU,sBAAsB;AAAA,IAC3D,CAAC;AAED,OAAG,4DAA4D,YAAY;AACzE,wBAAkB,UAAU,kBAAkB;AAAA,QAC5C,cAAc,CAAC;AAAA,MACjB,CAAC;AAED,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,MAAM,EAAE,UAAU,+BAA+B;AAAA,IACjE,CAAC;AAED,OAAG,mCAAmC,YAAY;AAChD,wBAAkB,UAAU,kBAAkB;AAAA,QAC5C,cAAc;AAAA,UACZ,QAAQ,EAAE,QAAQ,eAAe;AAAA,QACnC;AAAA,MACF,CAAC;AAED,uBAAiB,UAAU;AAAA,QACzB,IAAI,MAAM,kBAAkB;AAAA,MAC9B;AAEA,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,MAAM,EAAE,UAAU,kBAAkB;AAAA,IACpD,CAAC;AAAA,EACH,CAAC;AAED,WAAS,oBAAoB,MAAM;AACjC,OAAG,kDAAkD,YAAY;AAC/D,YAAM,YAAY;AAAA,QAChB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,EAAE,MAAM,aAAa,IAAI,WAAW,MAAM,OAAO;AAAA,QACxD,UAAU;AAAA,QACV,KAAK;AAAA,QACL,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,QACjC,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,EAAE,MAAM,SAAS,CAAC;AAAA,QAC5C,SAAS,EAAE,IAAI,UAAU,MAAM,eAAe;AAAA,QAC9C,UAAU,EAAE,IAAI,UAAU,MAAM,WAAW;AAAA,QAC3C,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MACpC;AAEA,yBAAmB,oBAAoB,kBAAkB,IAAI;AAE7D,YAAM,SAAS,MAAM,YAAY,iBAAiB,SAAS;AAE3D,aAAO,MAAM,EAAE,KAAK,SAAS;AAC7B,aAAO,mBAAmB,UAAU,EAAE;AAAA,QACpC,OAAO,iBAAiB;AAAA,UACtB,OAAO;AAAA,UACP,aAAa;AAAA,UACb,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,oBAAoB;AAAA,UACpB,aAAa;AAAA,UACb,MAAM,CAAC,OAAO,QAAQ;AAAA,UACtB,UAAU;AAAA,YACR,QAAQ;AAAA,cACN,SAAS;AAAA,cACT,WAAW;AAAA,cACX,YAAY;AAAA,cACZ,cAAc;AAAA,YAChB;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAED,OAAG,qCAAqC,YAAY;AAClD,YAAM,YAAY;AAAA,QAChB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,EAAE,MAAM,WAAW,IAAI,WAAW,MAAM,cAAc;AAAA,QAC7D,UAAU;AAAA,QACV,KAAK;AAAA,QACL,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,QACjC,QAAQ,CAAC,EAAE,MAAM,UAAU,CAAC;AAAA,QAC5B,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MACpC;AAEA,YAAM,eAAqB;AAAA,QACzB,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM,CAAC,SAAS;AAAA,QAChB,YAAY;AAAA,QACZ,WAAW,oBAAI,KAAK;AAAA,QACpB,WAAW,oBAAI,KAAK;AAAA,MACtB;AAEA,yBAAmB,oBAAoB,kBAAkB,YAAY;AAErE,YAAM,SAAS,MAAM,YAAY,iBAAiB,SAAS;AAE3D,aAAO,MAAM,EAAE,KAAK,SAAS;AAC7B,aAAO,mBAAmB,UAAU,EAAE;AAAA,QACpC;AAAA,QACA,OAAO,iBAAiB;AAAA,UACtB,OAAO;AAAA,UACP,aAAa;AAAA,UACb,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,oBAAoB;AAAA,UACpB,aAAa;AAAA,UACb,MAAM,CAAC,SAAS;AAAA,UAChB,UAAU;AAAA,YACR,QAAQ;AAAA,cACN,SAAS;AAAA,cACT,WAAW;AAAA,cACX,YAAY;AAAA,cACZ,cAAc;AAAA,YAChB;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAED,OAAG,yCAAyC,YAAY;AACtD,YAAM,YAAY;AAAA,QAChB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,OAAO,EAAE,MAAM,YAAY;AAAA,QAC3B,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,QACjC,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MACpC;AAEA,yBAAmB,oBAAoB;AAAA,QACrC,IAAI,MAAM,gBAAgB;AAAA,MAC5B;AAEA,YAAM,OAAO,YAAY,iBAAiB,SAAS,CAAC,EAAE,QAAQ;AAAA,QAC5D;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,qBAAqB,MAAM;AAClC,eAAW,MAAM;AACf,wBAAkB,UAAU,kBAAkB;AAAA,QAC5C,cAAc;AAAA,UACZ,QAAQ;AAAA,YACN,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,OAAG,kDAAkD,YAAY;AAC/D,YAAM,WAAiB;AAAA,QACrB,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM,CAAC;AAAA,QACP,WAAW,oBAAI,KAAK;AAAA,QACpB,WAAW,oBAAI,KAAK;AAAA,MACtB;AAEA,YAAM,mBAAmB;AAAA,QACvB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,KAAK;AAAA,MACP;AAEA,yBAAmB,QAAQ,kBAAkB,QAAQ;AACrD,uBAAiB,YAAY,kBAAkB,gBAAgB;AAE/D,YAAM,SAAS,MAAM,YAAY,kBAAkB,SAAS;AAE5D,aAAO,MAAM,EAAE,QAAQ,gBAAgB;AACvC,aAAO,iBAAiB,WAAW,EAAE,qBAAqB;AAAA,QACxD,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA;AAAA,MACZ,CAAC;AACD,aAAO,mBAAmB,UAAU,EAAE,qBAAqB,WAAW;AAAA,QACpE,YAAY;AAAA,MACd,CAAC;AAAA,IACH,CAAC;AAED,OAAG,uCAAuC,YAAY;AACpD,YAAM,WAAiB;AAAA,QACrB,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM,CAAC;AAAA,QACP,YAAY;AAAA,QACZ,UAAU;AAAA,UACR,QAAQ;AAAA,YACN,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,UACd;AAAA,QACF;AAAA,QACA,WAAW,oBAAI,KAAK;AAAA,QACpB,WAAW,oBAAI,KAAK;AAAA,MACtB;AAEA,YAAM,mBAAmB;AAAA,QACvB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,MACT;AAEA,yBAAmB,QAAQ,kBAAkB,QAAQ;AACrD,uBAAiB,YAAY,kBAAkB,gBAAgB;AAE/D,YAAM,SAAS,MAAM,YAAY,kBAAkB,SAAS;AAE5D,aAAO,MAAM,EAAE,QAAQ,gBAAgB;AACvC,aAAO,iBAAiB,WAAW,EAAE,qBAAqB,WAAW;AAAA,QACnE,OAAO;AAAA,QACP,aAAa;AAAA,QACb,UAAU;AAAA;AAAA,QACV,SAAS;AAAA,MACX,CAAC;AAAA,IACH,CAAC;AAED,OAAG,4CAA4C,YAAY;AACzD,yBAAmB,QAAQ,kBAAkB,IAAI;AAEjD,YAAM;AAAA,QACJ,YAAY,kBAAkB,cAAc;AAAA,MAC9C,EAAE,QAAQ,QAAQ,6BAA6B;AAAA,IACjD,CAAC;AAED,OAAG,mCAAmC,YAAY;AAChD,YAAM,WAAiB;AAAA,QACrB,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM,CAAC;AAAA,QACP,WAAW,oBAAI,KAAK;AAAA,QACpB,WAAW,oBAAI,KAAK;AAAA,MACtB;AAEA,yBAAmB,QAAQ,kBAAkB,QAAQ;AACrD,uBAAiB,YAAY;AAAA,QAC3B,IAAI,MAAM,kBAAkB;AAAA,MAC9B;AAEA,YAAM,OAAO,YAAY,kBAAkB,SAAS,CAAC,EAAE,QAAQ;AAAA,QAC7D;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,oBAAoB,MAAM;AACjC,OAAG,iDAAiD,YAAY;AAC9D,YAAM,YAAoB;AAAA,QACxB;AAAA,UACE,IAAI;AAAA,UACJ,OAAO;AAAA,UACP,aAAa;AAAA,UACb,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,MAAM,CAAC;AAAA,UACP,oBAAoB;AAAA,UACpB,WAAW,oBAAI,KAAK;AAAA,UACpB,WAAW,oBAAI,KAAK;AAAA,QACtB;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,OAAO;AAAA,UACP,aAAa;AAAA,UACb,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,MAAM,CAAC;AAAA,UACP,oBAAoB;AAAA,UACpB,WAAW,oBAAI,KAAK;AAAA,UACpB,WAAW,oBAAI,KAAK;AAAA,QACtB;AAAA,MACF;AAEA,yBAAmB,YAAY,kBAAkB,SAAS;AAE1D,YAAM,YAAY,iBAAiB,OAAO;AAE1C,aAAO,mBAAmB,UAAU,EAAE,qBAAqB,SAAS;AAAA,IACtE,CAAC;AAED,OAAG,oDAAoD,YAAY;AACjE,yBAAmB,YAAY,kBAAkB,CAAC,CAAC;AAEnD,YAAM;AAAA,QACJ,YAAY,iBAAiB,cAAc;AAAA,MAC7C,EAAE,SAAS,IAAI,QAAQ;AACvB,aAAO,mBAAmB,UAAU,EAAE,IAAI,iBAAiB;AAAA,IAC7D,CAAC;AAED,OAAG,iCAAiC,YAAY;AAC9C,YAAM,YAAoB;AAAA,QACxB;AAAA,UACE,IAAI;AAAA,UACJ,OAAO;AAAA,UACP,aAAa;AAAA,UACb,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,MAAM,CAAC;AAAA,UACP,oBAAoB;AAAA,UACpB,WAAW,oBAAI,KAAK;AAAA,UACpB,WAAW,oBAAI,KAAK;AAAA,QACtB;AAAA,MACF;AAEA,yBAAmB,YAAY,kBAAkB,SAAS;AAC1D,yBAAmB,WAAW;AAAA,QAC5B,IAAI,MAAM,cAAc;AAAA,MAC1B;AAEA,YAAM,OAAO,YAAY,iBAAiB,OAAO,CAAC,EAAE,QAAQ;AAAA,QAC1D;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,+BAA+B,MAAM;AAC5C,eAAW,MAAM;AACf,wBAAkB,UAAU,kBAAkB;AAAA,QAC5C,cAAc;AAAA,UACZ,QAAQ;AAAA,YACN,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,OAAG,uDAAuD,YAAY;AACpE,YAAM,YAAY;AAAA,QAChB,EAAE,aAAa,WAAW,gBAAgB,OAAO;AAAA,QACjD,EAAE,aAAa,UAAU,gBAAgB,OAAO;AAAA,QAChD,EAAE,aAAa,aAAa,gBAAgB,OAAO;AAAA,QACnD,EAAE,aAAa,QAAQ,gBAAgB,OAAO;AAAA,QAC9C,EAAE,aAAa,WAAW,gBAAgB,cAAc;AAAA,QACxD,EAAE,aAAa,eAAe,gBAAgB,cAAc;AAAA,QAC5D,EAAE,aAAa,aAAa,gBAAgB,OAAO;AAAA,QACnD,EAAE,aAAa,QAAQ,gBAAgB,OAAO;AAAA,QAC9C,EAAE,aAAa,YAAY,gBAAgB,YAAY;AAAA,QACvD,EAAE,aAAa,aAAa,gBAAgB,YAAY;AAAA,QACxD,EAAE,aAAa,WAAW,gBAAgB,OAAO;AAAA,MACnD;AAEA,iBAAW,EAAE,aAAa,eAAe,KAAK,WAAW;AACvD,cAAM,YAAY;AAAA,UAChB,IAAI;AAAA,UACJ,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,OAAO,EAAE,MAAM,YAAY;AAAA,UAC3B,MAAM,EAAE,IAAI,UAAU,KAAK,OAAO;AAAA,UAClC,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,QACpC;AAEA,2BAAmB,oBAAoB,kBAAkB,IAAI;AAE7D,cAAM,YAAY,iBAAiB,SAAS;AAE5C,eAAO,mBAAmB,UAAU,EAAE;AAAA,UACpC,OAAO,iBAAiB,EAAE,QAAQ,eAAe,CAAC;AAAA,QACpD;AAEA,2BAAmB,WAAW,UAAU;AACxC,2BAAmB,oBAAoB,UAAU;AAAA,MACnD;AAAA,IACF,CAAC;AAED,OAAG,6DAA6D,YAAY;AAC1E,YAAM,YAAY;AAAA,QAChB,EAAE,gBAAgB,GAAG,kBAAkB,SAAS;AAAA,QAChD,EAAE,gBAAgB,GAAG,kBAAkB,OAAO;AAAA,QAC9C,EAAE,gBAAgB,GAAG,kBAAkB,SAAS;AAAA,QAChD,EAAE,gBAAgB,GAAG,kBAAkB,MAAM;AAAA,QAC7C,EAAE,gBAAgB,QAAW,kBAAkB,OAAU;AAAA,MAC3D;AAEA,iBAAW,EAAE,gBAAgB,iBAAiB,KAAK,WAAW;AAC5D,cAAM,YAAY;AAAA,UAChB,IAAI;AAAA,UACJ,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,OAAO,EAAE,MAAM,YAAY;AAAA,UAC3B,UAAU;AAAA,UACV,MAAM,EAAE,IAAI,UAAU,KAAK,OAAO;AAAA,UAClC,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,QACpC;AAEA,2BAAmB,oBAAoB,kBAAkB,IAAI;AAE7D,cAAM,YAAY,iBAAiB,SAAS;AAE5C,eAAO,mBAAmB,UAAU,EAAE;AAAA,UACpC,OAAO,iBAAiB,EAAE,UAAU,iBAAiB,CAAC;AAAA,QACxD;AAEA,2BAAmB,WAAW,UAAU;AACxC,2BAAmB,oBAAoB,UAAU;AAAA,MACnD;AAAA,IACF,CAAC;AAED,OAAG,6DAA6D,YAAY;AAC1E,YAAM,YAAY;AAAA,QAChB,EAAE,cAAc,UAA0B,wBAAwB,EAAE;AAAA,QACpE,EAAE,cAAc,QAAwB,wBAAwB,EAAE;AAAA,QAClE,EAAE,cAAc,UAA0B,wBAAwB,EAAE;AAAA,QACpE,EAAE,cAAc,OAAuB,wBAAwB,EAAE;AAAA,QACjE,EAAE,cAAc,QAAW,wBAAwB,EAAE;AAAA,MACvD;AAEA,iBAAW,EAAE,cAAc,uBAAuB,KAAK,WAAW;AAChE,cAAM,WAAiB;AAAA,UACrB,IAAI;AAAA,UACJ,OAAO;AAAA,UACP,aAAa;AAAA,UACb,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,MAAM,CAAC;AAAA,UACP,WAAW,oBAAI,KAAK;AAAA,UACpB,WAAW,oBAAI,KAAK;AAAA,QACtB;AAEA,2BAAmB,QAAQ,kBAAkB,QAAQ;AACrD,yBAAiB,YAAY,kBAAkB;AAAA,UAC7C,IAAI;AAAA,UACJ,YAAY;AAAA,QACd,CAAC;AAED,cAAM,YAAY,kBAAkB,SAAS;AAE7C,eAAO,iBAAiB,WAAW,EAAE;AAAA,UACnC,OAAO,iBAAiB,EAAE,UAAU,uBAAuB,CAAC;AAAA,QAC9D;AAEA,yBAAiB,YAAY,UAAU;AACvC,2BAAmB,QAAQ,UAAU;AACrC,2BAAmB,WAAW,UAAU;AAAA,MAC1C;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,oBAAoB,MAAM;AACjC,OAAG,kCAAkC,YAAY;AAC/C,YAAM,WAAiB;AAAA,QACrB,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM,CAAC;AAAA,QACP,WAAW,oBAAI,KAAK;AAAA,QACpB,WAAW,oBAAI,KAAK;AAAA,MACtB;AAEA,yBAAmB,oBAAoB,kBAAkB,QAAQ;AAEjE,YAAM,YAAY;AAAA,QAChB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,EAAE,MAAM,YAAY;AAAA,QAC3B,UAAU;AAAA,QACV,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,QACjC,QAAQ,CAAC;AAAA,QACT,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MACpC;AAEA,YAAM,YAAY,iBAAiB,SAAS;AAE5C,aAAO,mBAAmB,UAAU,EAAE,iBAAiB;AAAA,IACzD,CAAC;AAED,OAAG,iCAAiC,YAAY;AAC9C,YAAM,WAAiB;AAAA,QACrB,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM,CAAC,SAAS;AAAA,QAChB,WAAW,oBAAI,KAAK;AAAA,QACpB,WAAW,oBAAI,KAAK;AAAA,MACtB;AAEA,yBAAmB,oBAAoB,kBAAkB,QAAQ;AAEjE,YAAM,YAAY;AAAA,QAChB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,EAAE,MAAM,YAAY;AAAA,QAC3B,UAAU;AAAA,QACV,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,QACjC,QAAQ,CAAC,EAAE,MAAM,UAAU,CAAC;AAAA,QAC5B,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MACpC;AAEA,YAAM,YAAY,iBAAiB,SAAS;AAE5C,aAAO,mBAAmB,UAAU,EAAE,iBAAiB;AAAA,IACzD,CAAC;AAED,OAAG,8CAA8C,YAAY;AAC3D,YAAM,WAAiB;AAAA,QACrB,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA;AAAA,QACV,MAAM,CAAC,MAAM;AAAA,QACb,WAAW,oBAAI,KAAK;AAAA,QACpB,WAAW,oBAAI,KAAK;AAAA,MACtB;AAEA,yBAAmB,oBAAoB,kBAAkB,QAAQ;AAEjE,YAAM,YAAY;AAAA,QAChB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,aAAa;AAAA,QACb,OAAO,EAAE,MAAM,YAAY;AAAA,QAC3B,UAAU;AAAA;AAAA,QACV,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,QACjC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;AAAA,QACzB,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MACpC;AAEA,YAAM,YAAY,iBAAiB,SAAS;AAE5C,aAAO,mBAAmB,UAAU,EAAE,IAAI,iBAAiB;AAAA,IAC7D,CAAC;AAAA,EACH,CAAC;AAED,WAAS,iCAAiC,MAAM;AAC9C,OAAG,kDAAkD,YAAY;AAC/D,YAAM,aAAa;AAAA,QACjB;AAAA,UACE,IAAI;AAAA,UACJ,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,OAAO,EAAE,MAAM,YAAY;AAAA,UAC3B,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,UACjC,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,QACpC;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,OAAO,EAAE,MAAM,YAAY;AAAA,UAC3B,MAAM,EAAE,IAAI,UAAU,KAAK,MAAM;AAAA,UACjC,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,QACpC;AAAA,MACF;AAEA,wBAAkB,UAAU,kBAAkB;AAAA,QAC5C,cAAc,EAAE,QAAQ,EAAE,QAAQ,eAAe,EAAE;AAAA,MACrD,CAAC;AAED,uBAAiB,UAAU,kBAAkB,UAAU;AACvD,yBAAmB,oBAAoB,kBAAkB,IAAI;AAG7D,yBAAmB,WAChB,sBAAsB,SAAS,EAC/B,sBAAsB,IAAI,MAAM,iBAAiB,CAAC;AAErD,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,OAAO,EAAE,KAAK,CAAC;AAC7B,aAAO,OAAO,MAAM,EAAE,aAAa,CAAC;AACpC,aAAO,OAAO,OAAO,CAAC,CAAC,EAAE,UAAU,sBAAsB;AAAA,IAC3D,CAAC;AAED,OAAG,mCAAmC,YAAY;AAChD,wBAAkB,UAAU,kBAAkB;AAAA,QAC5C,cAAc,EAAE,QAAQ,EAAE,QAAQ,eAAe,EAAE;AAAA,MACrD,CAAC;AAED,uBAAiB,UAAU,kBAAkB,CAAC,CAAC;AAE/C,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,OAAO,EAAE,KAAK,CAAC;AAC7B,aAAO,OAAO,OAAO,EAAE,KAAK,CAAC;AAC7B,aAAO,OAAO,MAAM,EAAE,aAAa,CAAC;AAAA,IACtC,CAAC;AAED,OAAG,yCAAyC,YAAY;AACtD,YAAM,iBAAiB;AAAA;AAAA,QAErB,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAEA,wBAAkB,UAAU,kBAAkB;AAAA,QAC5C,cAAc,EAAE,QAAQ,EAAE,QAAQ,eAAe,EAAE;AAAA,MACrD,CAAC;AAED,uBAAiB,UAAU,kBAAkB,CAAC,cAAc,CAAC;AAE7D,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,MAAM,EAAE,aAAa,CAAC;AAAA,IACtC,CAAC;AAED,OAAG,6CAA6C,YAAY;AAC1D,wBAAkB,UAAU,kBAAkB;AAAA,QAC5C,cAAc,EAAE,QAAQ,EAAE,QAAQ,eAAe,EAAE;AAAA,MACrD,CAAC;AAED,YAAM,eAAe,IAAI,MAAM,iBAAiB;AAChD,mBAAa,OAAO;AAEpB,uBAAiB,UAAU,kBAAkB,YAAY;AAEzD,YAAM,SAAS,MAAM,YAAY,cAAc;AAE/C,aAAO,OAAO,MAAM,EAAE,aAAa,CAAC;AACpC,aAAO,OAAO,OAAO,CAAC,CAAC,EAAE,UAAU,iBAAiB;AAAA,IACtD,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|