memento-mcp-server 1.26.0-a → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/batch-run-history.d.ts +37 -0
- package/dist/server/batch-run-history.d.ts.map +1 -0
- package/dist/server/batch-run-history.js +84 -0
- package/dist/server/batch-run-history.js.map +1 -0
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +15 -8
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/review-candidates-changed-fanout.d.ts +25 -0
- package/dist/server/review-candidates-changed-fanout.d.ts.map +1 -0
- package/dist/server/review-candidates-changed-fanout.js +93 -0
- package/dist/server/review-candidates-changed-fanout.js.map +1 -0
- package/dist/server/review-candidates-sse-hub.d.ts +14 -0
- package/dist/server/review-candidates-sse-hub.d.ts.map +1 -0
- package/dist/server/review-candidates-sse-hub.js +67 -0
- package/dist/server/review-candidates-sse-hub.js.map +1 -0
- package/dist/server/review-queue-dashboard-boot.d.ts +17 -0
- package/dist/server/review-queue-dashboard-boot.d.ts.map +1 -0
- package/dist/server/review-queue-dashboard-boot.js +56 -0
- package/dist/server/review-queue-dashboard-boot.js.map +1 -0
- package/dist/server/routes/admin/admin-batch.routes.d.ts +8 -0
- package/dist/server/routes/admin/admin-batch.routes.d.ts.map +1 -0
- package/dist/server/routes/admin/admin-batch.routes.js +114 -0
- package/dist/server/routes/admin/admin-batch.routes.js.map +1 -0
- package/dist/server/routes/admin/admin-memory-review.routes.d.ts +7 -0
- package/dist/server/routes/admin/admin-memory-review.routes.d.ts.map +1 -0
- package/dist/server/routes/admin/admin-memory-review.routes.js +189 -0
- package/dist/server/routes/admin/admin-memory-review.routes.js.map +1 -0
- package/dist/server/routes/admin/admin-project-memory.routes.d.ts +7 -0
- package/dist/server/routes/admin/admin-project-memory.routes.d.ts.map +1 -0
- package/dist/server/routes/admin/admin-project-memory.routes.js +91 -0
- package/dist/server/routes/admin/admin-project-memory.routes.js.map +1 -0
- package/dist/server/routes/admin/admin-runtime-performance.routes.d.ts +6 -0
- package/dist/server/routes/admin/admin-runtime-performance.routes.d.ts.map +1 -0
- package/dist/server/routes/admin/admin-runtime-performance.routes.js +98 -0
- package/dist/server/routes/admin/admin-runtime-performance.routes.js.map +1 -0
- package/dist/server/routes/admin/admin-stats-and-health.routes.d.ts +8 -0
- package/dist/server/routes/admin/admin-stats-and-health.routes.d.ts.map +1 -0
- package/dist/server/routes/admin/admin-stats-and-health.routes.js +207 -0
- package/dist/server/routes/admin/admin-stats-and-health.routes.js.map +1 -0
- package/dist/server/routes/admin/admin-tools.routes.d.ts +8 -0
- package/dist/server/routes/admin/admin-tools.routes.d.ts.map +1 -0
- package/dist/server/routes/admin/admin-tools.routes.js +176 -0
- package/dist/server/routes/admin/admin-tools.routes.js.map +1 -0
- package/dist/server/routes/admin.routes.d.ts +1 -1
- package/dist/server/routes/admin.routes.d.ts.map +1 -1
- package/dist/server/routes/admin.routes.js +13 -769
- package/dist/server/routes/admin.routes.js.map +1 -1
- package/node_modules/@memento/core/dist/database/schema.sql +19 -0
- package/node_modules/@memento/core/dist/domains/anchor/services/anchor/n-hop-search-service.d.ts +7 -0
- package/node_modules/@memento/core/dist/domains/anchor/services/anchor/n-hop-search-service.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/anchor/services/anchor/n-hop-search-service.js +148 -148
- package/node_modules/@memento/core/dist/domains/anchor/services/anchor/n-hop-search-service.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.d.ts +7 -1
- package/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.js +122 -114
- package/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/memory/services/memory-review-queue-health-service.d.ts +55 -0
- package/node_modules/@memento/core/dist/domains/memory/services/memory-review-queue-health-service.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/services/memory-review-queue-health-service.js +125 -0
- package/node_modules/@memento/core/dist/domains/memory/services/memory-review-queue-health-service.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/services/semantic-memory/semantic-memory-update-service.d.ts +2 -0
- package/node_modules/@memento/core/dist/domains/memory/services/semantic-memory/semantic-memory-update-service.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/memory/services/semantic-memory/semantic-memory-update-service.js +33 -36
- package/node_modules/@memento/core/dist/domains/memory/services/semantic-memory/semantic-memory-update-service.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-filters.d.ts +17 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-filters.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-filters.js +138 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-filters.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-results.d.ts +9 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-results.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-results.js +111 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-results.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-schema.d.ts +232 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-schema.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-schema.js +107 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-schema.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-types.d.ts +280 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-types.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-types.js +5 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-types.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-validation.d.ts +10 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-validation.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-validation.js +43 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-validation.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool.d.ts +8 -444
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool.js +384 -730
- package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/monitoring/services/performance-monitor.d.ts +19 -0
- package/node_modules/@memento/core/dist/domains/monitoring/services/performance-monitor.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/monitoring/services/performance-monitor.js +67 -11
- package/node_modules/@memento/core/dist/domains/monitoring/services/performance-monitor.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/personal-agent/index.d.ts +7 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/index.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/index.js +2 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/index.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/context-port.d.ts +6 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/context-port.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/context-port.js +2 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/context-port.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/llm-port.d.ts +8 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/llm-port.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/llm-port.js +2 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/llm-port.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/persistence-port.d.ts +5 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/persistence-port.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/persistence-port.js +2 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/ports/persistence-port.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/services/personal-knowledge-agent-service.d.ts +15 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/services/personal-knowledge-agent-service.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/services/personal-knowledge-agent-service.js +20 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/services/personal-knowledge-agent-service.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/types/agent-types.d.ts +18 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/types/agent-types.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/types/agent-types.js +2 -0
- package/node_modules/@memento/core/dist/domains/personal-agent/types/agent-types.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-based-relation-extractor.d.ts +10 -76
- package/node_modules/@memento/core/dist/domains/relation/services/llm-based-relation-extractor.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/relation/services/llm-based-relation-extractor.js +55 -1046
- package/node_modules/@memento/core/dist/domains/relation/services/llm-based-relation-extractor.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/embedding-candidate-filter.d.ts +4 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/embedding-candidate-filter.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/embedding-candidate-filter.js +49 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/embedding-candidate-filter.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-gemini.d.ts +12 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-gemini.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-gemini.js +68 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-gemini.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-ollama.d.ts +11 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-ollama.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-ollama.js +184 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-ollama.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-openai.d.ts +12 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-openai.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-openai.js +75 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-openai.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/llm-response-parse.d.ts +6 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/llm-response-parse.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/llm-response-parse.js +377 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/llm-response-parse.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/ollama-chat-support.d.ts +23 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/ollama-chat-support.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/ollama-chat-support.js +125 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/ollama-chat-support.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/provider-selection.d.ts +14 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/provider-selection.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/provider-selection.js +43 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/provider-selection.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/token-bucket-rate-limiter.d.ts +16 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/token-bucket-rate-limiter.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/token-bucket-rate-limiter.js +49 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/token-bucket-rate-limiter.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/types.d.ts +15 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/types.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/types.js +2 -0
- package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/types.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/relation-errors.d.ts +17 -0
- package/node_modules/@memento/core/dist/domains/relation/services/relation-errors.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/relation-errors.js +33 -0
- package/node_modules/@memento/core/dist/domains/relation/services/relation-errors.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/relation-graph.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/relation/services/relation-graph.js +4 -4
- package/node_modules/@memento/core/dist/domains/relation/services/relation-graph.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-llm-pipeline.d.ts +37 -0
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-llm-pipeline.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-llm-pipeline.js +81 -0
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-llm-pipeline.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-service.d.ts +1 -0
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-service.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-service.js +28 -78
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-service.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extractor.js +1 -1
- package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extractor.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/relation/tools/add-relation-tool.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/relation/tools/add-relation-tool.js +24 -26
- package/node_modules/@memento/core/dist/domains/relation/tools/add-relation-tool.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.d.ts +2 -19
- package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.js +42 -252
- package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.js.map +1 -1
- package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-provider-parallel.d.ts +65 -0
- package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-provider-parallel.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-provider-parallel.js +186 -0
- package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-provider-parallel.js.map +1 -0
- package/node_modules/@memento/core/dist/domains/search/repositories/vector-search.repository.d.ts +6 -0
- package/node_modules/@memento/core/dist/domains/search/repositories/vector-search.repository.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/domains/search/repositories/vector-search.repository.js +150 -117
- package/node_modules/@memento/core/dist/domains/search/repositories/vector-search.repository.js.map +1 -1
- package/node_modules/@memento/core/dist/index.d.ts +3 -0
- package/node_modules/@memento/core/dist/index.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/index.js +2 -0
- package/node_modules/@memento/core/dist/index.js.map +1 -1
- package/node_modules/@memento/core/dist/infrastructure/database/database/init.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/infrastructure/database/database/init.js +297 -291
- package/node_modules/@memento/core/dist/infrastructure/database/database/init.js.map +1 -1
- package/node_modules/@memento/core/dist/infrastructure/database/database/migrate.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/infrastructure/database/database/migrate.js +6 -3
- package/node_modules/@memento/core/dist/infrastructure/database/database/migrate.js.map +1 -1
- package/node_modules/@memento/core/dist/infrastructure/database/database/migration/migrations/034-review-queue-health-snapshot.d.ts +19 -0
- package/node_modules/@memento/core/dist/infrastructure/database/database/migration/migrations/034-review-queue-health-snapshot.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/database/database/migration/migrations/034-review-queue-health-snapshot.js +70 -0
- package/node_modules/@memento/core/dist/infrastructure/database/database/migration/migrations/034-review-queue-health-snapshot.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-recurring-schedules.d.ts +43 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-recurring-schedules.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-recurring-schedules.js +148 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-recurring-schedules.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-default-config.d.ts +3 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-default-config.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-default-config.js +40 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-default-config.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-internal-helpers.d.ts +10 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-internal-helpers.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-internal-helpers.js +32 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-internal-helpers.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-types.d.ts +6 -1
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-types.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler.d.ts +15 -69
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler.js +159 -873
- package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler.js.map +1 -1
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-augmentation-handlers.d.ts +5 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-augmentation-handlers.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-augmentation-handlers.js +120 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-augmentation-handlers.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-consolidation-relation-handlers.d.ts +7 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-consolidation-relation-handlers.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-consolidation-relation-handlers.js +195 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-consolidation-relation-handlers.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-maintenance-handlers.d.ts +6 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-maintenance-handlers.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-maintenance-handlers.js +111 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-maintenance-handlers.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-review-meta-handlers.d.ts +17 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-review-meta-handlers.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-review-meta-handlers.js +107 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-review-meta-handlers.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-run-context.d.ts +49 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-run-context.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-run-context.js +6 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-run-context.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-sleep-telemetry-handlers.d.ts +5 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-sleep-telemetry-handlers.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-sleep-telemetry-handlers.js +47 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-sleep-telemetry-handlers.js.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/memory-review-candidates-run-diagnostics.d.ts +9 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/memory-review-candidates-run-diagnostics.d.ts.map +1 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/memory-review-candidates-run-diagnostics.js +38 -0
- package/node_modules/@memento/core/dist/infrastructure/scheduler/memory-review-candidates-run-diagnostics.js.map +1 -0
- package/node_modules/@memento/core/dist/shared/utils/type-param-validator.js +1 -1
- package/node_modules/@memento/core/dist/shared/utils/type-param-validator.js.map +1 -1
- package/node_modules/@memento/core/dist/test/helpers/vector-search-quality-metrics.d.ts.map +1 -1
- package/node_modules/@memento/core/dist/test/helpers/vector-search-quality-metrics.js +83 -111
- package/node_modules/@memento/core/dist/test/helpers/vector-search-quality-metrics.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory ring buffer for manual POST /admin/batch/run executions (#295).
|
|
3
|
+
* Per-process only; resets on server restart.
|
|
4
|
+
*/
|
|
5
|
+
export declare const BATCH_RUN_HISTORY_DEFAULT_LIMIT = 50;
|
|
6
|
+
export declare const BATCH_RUN_HISTORY_MAX_STORED = 100;
|
|
7
|
+
export interface BatchRunHistoryRecord {
|
|
8
|
+
jobType: string;
|
|
9
|
+
requestedAt: string;
|
|
10
|
+
completedAt: string;
|
|
11
|
+
durationMs: number;
|
|
12
|
+
success: boolean;
|
|
13
|
+
processed: number;
|
|
14
|
+
errorCount: number;
|
|
15
|
+
warningCount: number;
|
|
16
|
+
errorsPreview: string;
|
|
17
|
+
/** JSON-safe snapshot of scheduler result */
|
|
18
|
+
result: Record<string, unknown> | null;
|
|
19
|
+
failureMessage?: string;
|
|
20
|
+
}
|
|
21
|
+
/** Minimal shape from BatchScheduler.runJob return value */
|
|
22
|
+
export declare function recordManualBatchRunSuccess(jobType: string, requestedAt: Date, result: {
|
|
23
|
+
jobType: string;
|
|
24
|
+
startTime: Date;
|
|
25
|
+
endTime: Date;
|
|
26
|
+
duration: number;
|
|
27
|
+
success: boolean;
|
|
28
|
+
processed: number;
|
|
29
|
+
errors: string[];
|
|
30
|
+
warnings: string[];
|
|
31
|
+
details?: unknown;
|
|
32
|
+
retryCount?: number;
|
|
33
|
+
}): void;
|
|
34
|
+
export declare function recordManualBatchRunFailure(jobType: string, requestedAt: Date, completedAt: Date, message: string): void;
|
|
35
|
+
export declare function getManualBatchRunHistory(limit: number): BatchRunHistoryRecord[];
|
|
36
|
+
export declare function resetBatchRunHistoryForTests(): void;
|
|
37
|
+
//# sourceMappingURL=batch-run-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-run-history.d.ts","sourceRoot":"","sources":["../../src/server/batch-run-history.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqBD,4DAA4D;AAC5D,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,IAAI,EACjB,MAAM,EAAE;IACN,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,IAAI,CAsCN;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,IAAI,EACjB,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,MAAM,GACd,IAAI,CAeN;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAG/E;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory ring buffer for manual POST /admin/batch/run executions (#295).
|
|
3
|
+
* Per-process only; resets on server restart.
|
|
4
|
+
*/
|
|
5
|
+
export const BATCH_RUN_HISTORY_DEFAULT_LIMIT = 50;
|
|
6
|
+
export const BATCH_RUN_HISTORY_MAX_STORED = 100;
|
|
7
|
+
const entries = [];
|
|
8
|
+
function trimEntries() {
|
|
9
|
+
while (entries.length > BATCH_RUN_HISTORY_MAX_STORED) {
|
|
10
|
+
entries.pop();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function jsonSafeDetails(details) {
|
|
14
|
+
if (details === undefined) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
return JSON.parse(JSON.stringify(details));
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return String(details);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/** Minimal shape from BatchScheduler.runJob return value */
|
|
25
|
+
export function recordManualBatchRunSuccess(jobType, requestedAt, result) {
|
|
26
|
+
const errorsPreview = result.errors.length > 0
|
|
27
|
+
? result.errors
|
|
28
|
+
.slice(0, 3)
|
|
29
|
+
.join('; ')
|
|
30
|
+
.slice(0, 400)
|
|
31
|
+
: '';
|
|
32
|
+
const serialized = {
|
|
33
|
+
jobType: result.jobType,
|
|
34
|
+
startTime: result.startTime.toISOString(),
|
|
35
|
+
endTime: result.endTime.toISOString(),
|
|
36
|
+
duration: result.duration,
|
|
37
|
+
success: result.success,
|
|
38
|
+
processed: result.processed,
|
|
39
|
+
errors: result.errors,
|
|
40
|
+
warnings: result.warnings,
|
|
41
|
+
retryCount: result.retryCount
|
|
42
|
+
};
|
|
43
|
+
const details = jsonSafeDetails(result.details);
|
|
44
|
+
if (details !== undefined) {
|
|
45
|
+
serialized.details = details;
|
|
46
|
+
}
|
|
47
|
+
entries.unshift({
|
|
48
|
+
jobType,
|
|
49
|
+
requestedAt: requestedAt.toISOString(),
|
|
50
|
+
completedAt: result.endTime.toISOString(),
|
|
51
|
+
durationMs: result.duration,
|
|
52
|
+
success: result.success,
|
|
53
|
+
processed: result.processed,
|
|
54
|
+
errorCount: result.errors.length,
|
|
55
|
+
warningCount: result.warnings.length,
|
|
56
|
+
errorsPreview,
|
|
57
|
+
result: serialized
|
|
58
|
+
});
|
|
59
|
+
trimEntries();
|
|
60
|
+
}
|
|
61
|
+
export function recordManualBatchRunFailure(jobType, requestedAt, completedAt, message) {
|
|
62
|
+
entries.unshift({
|
|
63
|
+
jobType,
|
|
64
|
+
requestedAt: requestedAt.toISOString(),
|
|
65
|
+
completedAt: completedAt.toISOString(),
|
|
66
|
+
durationMs: Math.max(0, completedAt.getTime() - requestedAt.getTime()),
|
|
67
|
+
success: false,
|
|
68
|
+
processed: 0,
|
|
69
|
+
errorCount: 1,
|
|
70
|
+
warningCount: 0,
|
|
71
|
+
errorsPreview: message.slice(0, 400),
|
|
72
|
+
result: null,
|
|
73
|
+
failureMessage: message
|
|
74
|
+
});
|
|
75
|
+
trimEntries();
|
|
76
|
+
}
|
|
77
|
+
export function getManualBatchRunHistory(limit) {
|
|
78
|
+
const n = Math.min(Math.max(1, Math.floor(limit)), BATCH_RUN_HISTORY_MAX_STORED);
|
|
79
|
+
return entries.slice(0, n);
|
|
80
|
+
}
|
|
81
|
+
export function resetBatchRunHistoryForTests() {
|
|
82
|
+
entries.length = 0;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=batch-run-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-run-history.js","sourceRoot":"","sources":["../../src/server/batch-run-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../src/server/http-server.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAgBP,KAAK,cAAc,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../src/server/http-server.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAgBP,KAAK,cAAc,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,OAAO,MAAM,SAAS,CAAC;AAwC9B,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9C,kBAAkB,CAAC,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAC1D,gBAAgB,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;CACvD,CAAC;AA4IF,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED,wBAAgB,iCAAiC,IAAI,MAAM,CAE1D;AAwJD,iBAAe,OAAO,kBAoErB;AA0LD,iBAAe,WAAW,kBAsFzB;AAKD,eAAO,MAAM,MAAM,EAAE;IACnB,mBAAmB,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC;IAClC,SAAS,EAAE,MAAM,GAAG,CAAC;IACrB,WAAW,EAAE,MAAM,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC5C,eAAe,EAAE,MAAM,cAAc,CAAC,cAAc,CAAC,CAAC;IACtD,qBAAqB,EAAE,MAAM,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAClE,mBAAmB,EAAE,MAAM,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC9D,8BAA8B,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAW/D,CAAC;AAEF,OAAO,EAAE,OAAO,EAAC,WAAW,EAAE,CAAC"}
|
|
@@ -7,10 +7,11 @@ import { canonicalizeHttpBindHostForListen, closeDatabase, createMementoCore, cr
|
|
|
7
7
|
import Database from 'better-sqlite3';
|
|
8
8
|
import cors from 'cors';
|
|
9
9
|
import express from 'express';
|
|
10
|
-
import { existsSync } from 'fs';
|
|
10
|
+
import { existsSync, readFileSync } from 'fs';
|
|
11
11
|
import helmet from 'helmet';
|
|
12
12
|
import { createServer } from 'http';
|
|
13
13
|
import { join } from 'path';
|
|
14
|
+
import { injectReviewQueueBootIntoDashboardHtml, resolveReviewQueueDashboardBootFromEnv } from './review-queue-dashboard-boot.js';
|
|
14
15
|
import { WebSocketServer } from 'ws';
|
|
15
16
|
import packageJson from '../../package.json' with { type: 'json' };
|
|
16
17
|
import { deleteServerInfo, resolveServerInfoConfigDir, writeServerInfo } from './server-info.js';
|
|
@@ -157,14 +158,20 @@ export function getHttpAuthMissingAdminKeyWarning() {
|
|
|
157
158
|
}
|
|
158
159
|
// Phase 1.2: 기존 엔드포인트는 모두 라우터로 이동됨
|
|
159
160
|
// 주석 처리된 기존 코드는 제거됨 (tools.routes.ts, admin.routes.ts, api.routes.ts, mcp.routes.ts로 이동)
|
|
160
|
-
// 대시보드
|
|
161
|
+
// 대시보드 라우트: Review Queue 폴링 부트를 환경 변수 기준으로 인라인 주입 (#274)
|
|
161
162
|
app.get('/dashboard', (req, res) => {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
const dashboardPath = join(staticRoot, 'dashboard.html');
|
|
164
|
+
try {
|
|
165
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- staticRoot 하위 고정 파일 dashboard.html
|
|
166
|
+
const raw = readFileSync(dashboardPath, 'utf8');
|
|
167
|
+
const boot = resolveReviewQueueDashboardBootFromEnv();
|
|
168
|
+
const html = injectReviewQueueBootIntoDashboardHtml(raw, boot);
|
|
169
|
+
res.type('html').send(html);
|
|
170
|
+
}
|
|
171
|
+
catch (err) {
|
|
172
|
+
logger.error('대시보드 파일 로드 실패', { error: err });
|
|
173
|
+
res.status(404).send('Dashboard not found');
|
|
174
|
+
}
|
|
168
175
|
});
|
|
169
176
|
// 기억 관계 그래프 뷰 (009-memory-graph-view)
|
|
170
177
|
app.get('/graph', (req, res) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/server/http-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/server/http-server.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EACP,iCAAiC,EACjC,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,wBAAwB,EACxB,iBAAiB,EACjB,6CAA6C,EAC7C,eAAe,EACf,qBAAqB,EACrB,+BAA+B,EAC/B,MAAM,EACN,aAAa,EACb,+BAA+B,EAC/B,cAAc,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,sCAAsC,EACtC,sCAAsC,EACvC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAC,0BAA0B,EAAC,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/F,wBAAwB;AACxB,OAAO,EAAE,kBAAkB,EAAoB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAoB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,0BAA0B;AAC1B,OAAO,EACP,yBAAyB,EACzB,gCAAgC,EAChC,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,YAAY,EACX,MAAM,uBAAuB,CAAC;AAE/B,mCAAmC;AACnC,IAAI,EAAE,GAA6B,IAAI,CAAC;AACxC,IAAI,cAAc,GAA0B,IAAI,CAAC;AACjD,IAAI,iBAAiB,GAAwB,IAAI,CAAC;AAElD,8BAA8B;AAC9B,+BAA+B;AAC/B,MAAM,UAAU,GAAiC,EAAE,CAAC;AAUpD,SAAS,mBAAmB,CAAC,KAAuB;IAClD,EAAE,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC5B,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACvC,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;IAChD,CAAC;SAAM,IACL,KAAK,CAAC,YAAY,IAAI,IAAI;QAC1B,KAAK,CAAC,kBAAkB,IAAI,IAAI;QAChC,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAC9B,CAAC;QACD,cAAc,GAAG;YACf,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACvB,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,IAAY,EACZ,UAAmC,EAAE;IAErC,IAAI,CAAC,cAAc,EAAE,wBAAwB,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,wBAAwB,CAAC,UAAU,CAAC;YACvD,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,MAAM;YACjB,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IACpD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrG,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACxC,mGAAmG;QACnG,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;AAEvC,eAAe;AACf,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;AAEjC,uDAAuD;AACvD,oEAAoE;AACpE,+EAA+E;AAC/E,uDAAuD;AACvD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;IACb,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;IACpC,cAAc,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;IACzC,qBAAqB,EAAE;QACrB,UAAU,EAAE;YACV,UAAU,EAAE,CAAC,QAAQ,CAAC;YACtB,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YACzC,aAAa,EAAE,CAAC,QAAQ,CAAC;YACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;YACvC,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC3B,UAAU,EAAE,CAAC,QAAQ,CAAC;YACtB,OAAO,EAAE,CAAC,QAAQ,CAAC;YACnB,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,6DAA6D;AAC7D,MAAM,WAAW,GAAG,aAAa,CAAC,kBAAkB,CAAC;AACrD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IACX,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,CAAC,KAAyB,EAAE,EAAgD,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;IACpG,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;IACnC,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,CAAC;CAChF,CAAC,CAAC,CAAC;AACJ,gFAAgF;AAChF,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACxC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEhD,+BAA+B;AAC/B,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AAE/C,eAAe;AACf,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC9B,GAAG,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,aAAa,CAAC,UAAU;QAChC,OAAO,EAAE,aAAa,CAAC,aAAa;QACpC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;QAC3C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,oDAAoD;AACpD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA0B,CAAC,CAAC,4BAA4B;AAE5F,2BAA2B;AAC3B,IAAI,WAAW,GAA0B,IAAI,CAAC;AAC9C,IAAI,WAAW,GAA0B,IAAI,CAAC;AAC9C,IAAI,SAAS,GAA0B,IAAI,CAAC;AAC5C,IAAI,SAAS,GAA0B,IAAI,CAAC;AAC5C,IAAI,UAAU,GAA0B,IAAI,CAAC;AAE7C,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AAC9D,MAAM,6BAA6B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACrD,MAAM,iCAAiC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7D,MAAM,4BAA4B,GAChC,4MAA4M,CAAC;AAC/M,MAAM,mCAAmC,GACvC,gIAAgI,CAAC;AAEnI,SAAS,8BAA8B,CAAC,QAAgB;IACtD,OAAO,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,mCAAmC,CAAC;AAC7C,CAAC;AAED,mCAAmC;AACnC,yFAAyF;AAEzF,yDAAyD;AACzD,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACjC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,yGAAyG;QACzG,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,sCAAsC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,sCAAsC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,sCAAsC;AACtC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC7B,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;QACvD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,mCAAmC;AACnC,sFAAsF;AACtF,SAAS;AACT,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3B,4BAA4B;YAC5B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC;gBACnC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,aAAa,CAAC,MAAM;aACpD,CAAC,CAAC;YACH,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC;QAEjC,wCAAwC;QACxC,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;QACnD,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAElC,sBAAsB;QACtB,2BAA2B;QAC3B,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;QAEnD,iBAAiB,GAAG,kBAAkB,CAAC;YACrC,SAAS,EAAE,6BAA6B;YACxC,aAAa,EAAE,iCAAiC;SACjD,CAAC,CAAC;QAEH,0BAA0B;QAC1B,WAAW,GAAG,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC1E,WAAW,GAAG,iBAAiB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACpD,SAAS,GAAG,eAAe,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAChD,UAAU,GAAG,gBAAgB,CAAC;YAC5B,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE,6BAA6B;YACzC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;SACpD,CAAC,CAAC;QACH,SAAS,GAAG,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAE9C,uEAAuE;QACvE,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;YACrD,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE,6BAA6B;SAC1C,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;YACxD,WAAW,EAAE,aAAa,CAAC,WAAW;SACvC,CAAC,CAAC;QACH,MAAM,mBAAmB,GAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACrE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,IAAI,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QAEF,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,WAAW,CAAC,CAAC;QAC9E,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC7B,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACnD,GAAG,CAAC,GAAG,CACL,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,8BAA8B;aACxC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC,0BAA0B;QAExE,0CAA0C;QAC1C,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEtB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,4BAA4B,CAAC,cAAc,CAAC,CAAC;QACnD,6DAA6D;QAE7D,kBAAkB;QAClB,MAAM,YAAY,GAA4B;YAC5C,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,WAAW,EAAE;SACxD,CAAC;QACF,IAAI,aAAa,CAAC,iBAAiB,KAAK,QAAQ,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;YAC/E,YAAY,CAAC,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;YAC/C,YAAY,CAAC,UAAU,GAAG,aAAa,CAAC,mBAAmB,CAAC;QAC9D,CAAC;aAAM,IAAI,aAAa,CAAC,iBAAiB,KAAK,QAAQ,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;YACtF,YAAY,CAAC,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;YAC/C,YAAY,CAAC,UAAU,GAAG,aAAa,CAAC,mBAAmB,CAAC;QAC9D,CAAC;aAAM,IAAI,aAAa,CAAC,iBAAiB,KAAK,aAAa,EAAE,CAAC;YAC7D,YAAY,CAAC,KAAK,GAAG,oBAAoB,CAAC;YAC1C,YAAY,CAAC,UAAU,GAAG,GAAG,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAE1C,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YACvB,MAAM,EAAE,aAAa,CAAC,UAAU;YAChC,OAAO,EAAE,aAAa,CAAC,aAAa;YACpC,QAAQ,EAAE,aAAa,CAAC,MAAM;SAC/B,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,QAAQ;AACR,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,KAAK,UAAU,OAAO;IACpB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,YAAY,GAAG,IAAI,CAAC;IAEpB,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,mBAAmB,GAAG,0BAA0B,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QAED,MAAM,4BAA4B,CAAC,sBAAsB,CAAC,CAAC;QAE3D,mCAAmC;QACnC,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,cAAc,CAAC,gCAAgC,EAAE,CAAC;gBACpD,IAAI,CAAC;oBACH,MAAM,cAAc,CAAC,gCAAgC,EAAE,CAAC;oBACxD,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAChC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,CAAC;gBACH,cAAc,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,cAAc,EAAE,sBAAsB,EAAE,CAAC;YAC3C,MAAM,cAAc,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACpD,MAAM,cAAc,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAChD,CAAC;QAED,aAAa;QACb,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;QAC3C,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,IAAI,EAAE,EAAE,CAAC;YACP,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,EAAE,GAAG,IAAI,CAAC;QACZ,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC3C,MAAM,4BAA4B,CAAC,uBAAuB,CAAC,CAAC;QAC5D,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;AACH,CAAC;AAED,eAAe;AACf,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9B,SAAS,uBAAuB;IAC9B,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,iBAAiB,GAAG,IAAI,CAAC;IAEzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,4BAA4B,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnF,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,4BAA4B,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACpF,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,MAAM,4BAA4B,CAAC,oBAAoB,EAAE;YACvD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACxD,CAAC,CAAC;QACH,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kBAAkB;AAClB,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AAE5C,8CAA8C;AAE9C,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE;IACrC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAEnC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAS9B,IAAI,OAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAqB,CAAC;YAE1D,wBAAwB;YACxB,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACpF,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBAElG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvC,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAa,CAAC,CAAC;gBAC1D,CAAC;gBACD,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAE3C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;iBAChD,CAAC,CAAC,CAAC;gBAEJ,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YAED,0BAA0B;YAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,cAAc;YACxB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;gBAEpC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,MAAM,EAAE,EAAE,KAAK,EAAE;iBAClB,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC3C,8CAA8C;gBAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAA4D,CAAC;gBACpF,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,SAAS,CAAC;gBAE/B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrB,OAAO,EAAE,KAAK;wBACd,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC,KAAK;4BACZ,OAAO,EAAE,gBAAgB;4BACzB,IAAI,EAAE,4BAA4B;yBACnC;qBACF,CAAC,CAAC,CAAC;oBACJ,OAAO;gBACT,CAAC;gBAED,2CAA2C;gBAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrB,OAAO,EAAE,KAAK;wBACd,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC,KAAK;4BACZ,OAAO,EAAE,gBAAgB;4BACzB,IAAI,EAAE,kBAAkB;yBACzB;qBACF,CAAC,CAAC,CAAC;oBACJ,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrB,OAAO,EAAE,KAAK;wBACd,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC,KAAK;4BACZ,OAAO,EAAE,gBAAgB;4BACzB,IAAI,EAAE,qBAAqB;yBAC5B;qBACF,CAAC,CAAC,CAAC;oBACJ,OAAO;gBACT,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;gBAEtD,QAAQ;gBACR,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAEtD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;iBACtE,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/C,mCAAmC;YACnC,IAAI,SAAS,GAA2B,IAAI,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAA6B,CAAC;gBAC9E,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,IAAI,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;YACD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,gBAAgB;oBACzB,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC/D;aACF,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAEtC,aAAa;QACb,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;YACpE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACvB,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ;AACR,KAAK,UAAU,WAAW;IACxB,kDAAkD;IAClD,cAAc,EAAE,CAAC;IAEjB,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC;IACxC,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,cAAc,IAAI,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,cAAc,GAAG,iCAAiC,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAE7D,MAAM,iBAAiB,GAAG,6CAA6C,CAAC;QACtE,cAAc,EAAE,WAAW;QAC3B,WAAW,EAAE,aAAa,CAAC,WAAW;QACtC,sBAAsB,EAAE,aAAa,CAAC,sBAAsB;KAC7D,CAAC,CAAC;IACH,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChC,MAAM,IAAI,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IACD,IACE,aAAa,CAAC,sBAAsB;QACpC,+BAA+B,CAAC,WAAW,CAAC,EAC5C,CAAC;QACD,MAAM,CAAC,IAAI,CACT,kTAAkT,CACnT,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC;IAC3C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CACT,4LAA4L,CAC7L,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,MAAM,OAAO,EAAE,CAAC;QAChB,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,uBAAuB;IACvB,uBAAuB,EAAE,CAAC;IAE1B,mBAAmB;IACnB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC5C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,kEAAkE;IAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;YACtB,IAAI,EAAE,UAAU,cAAc,IAAI,IAAI,EAAE;YACxC,SAAS,EAAE,QAAQ,cAAc,IAAI,IAAI,EAAE;YAC3C,QAAQ,EAAE,UAAU,cAAc,IAAI,IAAI,QAAQ;YAClD,MAAM,EAAE,UAAU,cAAc,IAAI,IAAI,SAAS;SAClD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3E,sCAAsC;YACtC,MAAM,SAAS,GAAG,0BAA0B,EAAE,CAAC;YAC/C,KAAK,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5D,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;oBAChC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,SAAS;iBACV,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mCAAmC;AACnC,qCAAqC;AAErC,MAAM,CAAC,MAAM,MAAM,GAUf;IACF,mBAAmB;IACnB,gBAAgB;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG;IACjB,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;IACvB,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,eAAe,EAAE,GAAG,EAAE,CAAC,cAAe,CAAC,YAAY;IACnD,qBAAqB,EAAE,GAAG,EAAE,CAAC,cAAe,CAAC,kBAAkB;IAC/D,mBAAmB,EAAE,GAAG,EAAE,CAAC,cAAe,CAAC,gBAAgB;IAC3D,8BAA8B;CAC/B,CAAC;AAEF,OAAO,EAAE,OAAO,EAAC,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type ReviewCandidatesChangedReason = 'review' | 'dismiss' | 'batch_memory_review_candidates';
|
|
2
|
+
/** Wire contract: `kind: review_candidates_changed` (schema v1). */
|
|
3
|
+
export type ReviewCandidatesChangedEnvelope = {
|
|
4
|
+
schema_version: 1;
|
|
5
|
+
kind: 'review_candidates_changed';
|
|
6
|
+
idempotency_key: string;
|
|
7
|
+
correlation_id: string;
|
|
8
|
+
occurred_at: string;
|
|
9
|
+
producer: {
|
|
10
|
+
name: 'memento-http-admin';
|
|
11
|
+
instance_id?: string;
|
|
12
|
+
};
|
|
13
|
+
payload: {
|
|
14
|
+
reason: string;
|
|
15
|
+
approx_pending_delta_hint: null;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export declare function parseReviewCandidatesChangedRelayUrls(env?: NodeJS.ProcessEnv): string[];
|
|
19
|
+
export declare function buildReviewCandidatesChangedEnvelope(reason: ReviewCandidatesChangedReason, correlationId: string): ReviewCandidatesChangedEnvelope;
|
|
20
|
+
/** Fire SSE notify, then optionally POST envelope to relay URLs (non-blocking). */
|
|
21
|
+
export declare function broadcastReviewCandidatesChanged(opts: {
|
|
22
|
+
reason: ReviewCandidatesChangedReason;
|
|
23
|
+
correlationId?: string;
|
|
24
|
+
}): void;
|
|
25
|
+
//# sourceMappingURL=review-candidates-changed-fanout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-candidates-changed-fanout.d.ts","sourceRoot":"","sources":["../../src/server/review-candidates-changed-fanout.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,6BAA6B,GACrC,QAAQ,GACR,SAAS,GACT,gCAAgC,CAAC;AAErC,oEAAoE;AACpE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,cAAc,EAAE,CAAC,CAAC;IAClB,IAAI,EAAE,2BAA2B,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE;QAAE,IAAI,EAAE,oBAAoB,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,yBAAyB,EAAE,IAAI,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,wBAAgB,qCAAqC,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,EAAE,CASpG;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,6BAA6B,EACrC,aAAa,EAAE,MAAM,GACpB,+BAA+B,CAkBjC;AAuCD,mFAAmF;AACnF,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACrD,MAAM,EAAE,6BAA6B,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,IAAI,CAeP"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Review queue `review_candidates_changed` fan-out PoC (#297).
|
|
3
|
+
*
|
|
4
|
+
* Keeps in-process SSE (single-node) and optionally POSTs the same logical event
|
|
5
|
+
* to comma-separated webhook URLs — simulating a broker hop for loss/latency experiments.
|
|
6
|
+
*
|
|
7
|
+
* Envelope aligns with docs/_work/solutions/2026-05-09-review-queue-boundary-idempotency-contract.md §3.3.
|
|
8
|
+
*/
|
|
9
|
+
import { randomUUID } from 'node:crypto';
|
|
10
|
+
import { notifyReviewCandidatesChanged } from './review-candidates-sse-hub.js';
|
|
11
|
+
import { logger } from '@memento/core';
|
|
12
|
+
const RELAY_ENV = 'MEMENTO_REVIEW_CANDIDATES_CHANGED_RELAY_URLS';
|
|
13
|
+
const RELAY_SECRET_ENV = 'MEMENTO_REVIEW_CANDIDATES_CHANGED_RELAY_SECRET';
|
|
14
|
+
const RELAY_TIMEOUT_MS = 3000;
|
|
15
|
+
export function parseReviewCandidatesChangedRelayUrls(env = process.env) {
|
|
16
|
+
const raw = env[RELAY_ENV]?.trim();
|
|
17
|
+
if (!raw) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
return raw
|
|
21
|
+
.split(',')
|
|
22
|
+
.map(s => s.trim())
|
|
23
|
+
.filter(Boolean);
|
|
24
|
+
}
|
|
25
|
+
export function buildReviewCandidatesChangedEnvelope(reason, correlationId) {
|
|
26
|
+
const idempotencyKey = `mrc:v1:changed:${correlationId}:${reason}`;
|
|
27
|
+
const instance_id = typeof process.env.HOSTNAME === 'string' && process.env.HOSTNAME.trim() !== ''
|
|
28
|
+
? process.env.HOSTNAME.trim()
|
|
29
|
+
: undefined;
|
|
30
|
+
return {
|
|
31
|
+
schema_version: 1,
|
|
32
|
+
kind: 'review_candidates_changed',
|
|
33
|
+
idempotency_key: idempotencyKey,
|
|
34
|
+
correlation_id: correlationId,
|
|
35
|
+
occurred_at: new Date().toISOString(),
|
|
36
|
+
producer: { name: 'memento-http-admin', ...(instance_id ? { instance_id } : {}) },
|
|
37
|
+
payload: {
|
|
38
|
+
reason,
|
|
39
|
+
approx_pending_delta_hint: null
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async function relayPost(url, body, secret) {
|
|
44
|
+
const started = performance.now();
|
|
45
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
46
|
+
if (secret) {
|
|
47
|
+
headers.Authorization = `Bearer ${secret}`;
|
|
48
|
+
}
|
|
49
|
+
let host = url;
|
|
50
|
+
try {
|
|
51
|
+
host = new URL(url).host;
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
/* keep raw for logging if malformed — fetch will fail */
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const res = await fetch(url, {
|
|
58
|
+
method: 'POST',
|
|
59
|
+
headers,
|
|
60
|
+
body: JSON.stringify(body),
|
|
61
|
+
signal: AbortSignal.timeout(RELAY_TIMEOUT_MS)
|
|
62
|
+
});
|
|
63
|
+
const relayMs = Math.round(performance.now() - started);
|
|
64
|
+
logger.info('review_candidates_changed fan-out relay finished', {
|
|
65
|
+
relayHost: host,
|
|
66
|
+
relayMs,
|
|
67
|
+
relayOk: res.ok,
|
|
68
|
+
relayStatus: res.status
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
const relayMs = Math.round(performance.now() - started);
|
|
73
|
+
logger.warn('review_candidates_changed fan-out relay failed', {
|
|
74
|
+
relayHost: host,
|
|
75
|
+
relayMs,
|
|
76
|
+
error: error instanceof Error ? error.message : String(error)
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** Fire SSE notify, then optionally POST envelope to relay URLs (non-blocking). */
|
|
81
|
+
export function broadcastReviewCandidatesChanged(opts) {
|
|
82
|
+
const { reason, correlationId: correlationIdOpt } = opts;
|
|
83
|
+
const correlationId = correlationIdOpt ?? randomUUID();
|
|
84
|
+
notifyReviewCandidatesChanged(reason);
|
|
85
|
+
const urls = parseReviewCandidatesChangedRelayUrls();
|
|
86
|
+
if (urls.length === 0) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const envelope = buildReviewCandidatesChangedEnvelope(reason, correlationId);
|
|
90
|
+
const secret = process.env[RELAY_SECRET_ENV]?.trim() || undefined;
|
|
91
|
+
void Promise.all(urls.map(u => relayPost(u, envelope, secret)));
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=review-candidates-changed-fanout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-candidates-changed-fanout.js","sourceRoot":"","sources":["../../src/server/review-candidates-changed-fanout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-process SSE fan-out for Admin review queue (#276). Single-node only; no Redis.
|
|
3
|
+
* Admin routes should call `broadcastReviewCandidatesChanged` (#297) so optional HTTP relay runs too.
|
|
4
|
+
*/
|
|
5
|
+
import type { Response } from 'express';
|
|
6
|
+
/** Test helper: close all connections and clear registry. */
|
|
7
|
+
export declare function resetReviewCandidatesSseHubForTests(): void;
|
|
8
|
+
/**
|
|
9
|
+
* Starts SSE response: headers, retry hint, `ready` event, periodic comment ping.
|
|
10
|
+
* Caller must mount this only behind the same auth as other `/admin` JSON routes.
|
|
11
|
+
*/
|
|
12
|
+
export declare function attachReviewCandidatesSse(res: Response): void;
|
|
13
|
+
export declare function notifyReviewCandidatesChanged(reason: string): void;
|
|
14
|
+
//# sourceMappingURL=review-candidates-sse-hub.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-candidates-sse-hub.d.ts","sourceRoot":"","sources":["../../src/server/review-candidates-sse-hub.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMxC,6DAA6D;AAC7D,wBAAgB,mCAAmC,IAAI,IAAI,CAS1D;AAcD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CA4B7D;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAWlE"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
const clients = new Set();
|
|
2
|
+
const PING_MS = 25_000;
|
|
3
|
+
/** Test helper: close all connections and clear registry. */
|
|
4
|
+
export function resetReviewCandidatesSseHubForTests() {
|
|
5
|
+
for (const res of clients) {
|
|
6
|
+
try {
|
|
7
|
+
res.end();
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
/* ignore */
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
clients.clear();
|
|
14
|
+
}
|
|
15
|
+
function writeSafe(res, chunk) {
|
|
16
|
+
try {
|
|
17
|
+
if (res.writableEnded) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
res.write(chunk);
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Starts SSE response: headers, retry hint, `ready` event, periodic comment ping.
|
|
29
|
+
* Caller must mount this only behind the same auth as other `/admin` JSON routes.
|
|
30
|
+
*/
|
|
31
|
+
export function attachReviewCandidatesSse(res) {
|
|
32
|
+
res.statusCode = 200;
|
|
33
|
+
res.setHeader('Content-Type', 'text/event-stream; charset=utf-8');
|
|
34
|
+
res.setHeader('Cache-Control', 'no-cache, no-transform');
|
|
35
|
+
res.setHeader('Connection', 'keep-alive');
|
|
36
|
+
res.setHeader('X-Content-Type-Options', 'nosniff');
|
|
37
|
+
if (typeof res.flushHeaders === 'function') {
|
|
38
|
+
res.flushHeaders();
|
|
39
|
+
}
|
|
40
|
+
clients.add(res);
|
|
41
|
+
const ping = setInterval(() => {
|
|
42
|
+
if (!writeSafe(res, ': ping\n\n')) {
|
|
43
|
+
clearInterval(ping);
|
|
44
|
+
clients.delete(res);
|
|
45
|
+
}
|
|
46
|
+
}, PING_MS);
|
|
47
|
+
const cleanup = () => {
|
|
48
|
+
clearInterval(ping);
|
|
49
|
+
clients.delete(res);
|
|
50
|
+
};
|
|
51
|
+
res.on('close', cleanup);
|
|
52
|
+
writeSafe(res, 'retry: 3000\n\n');
|
|
53
|
+
writeSafe(res, `event: ready\ndata: ${JSON.stringify({ ok: true })}\n\n`);
|
|
54
|
+
}
|
|
55
|
+
export function notifyReviewCandidatesChanged(reason) {
|
|
56
|
+
const frame = `event: changed\ndata: ${JSON.stringify({ reason })}\n\n`;
|
|
57
|
+
const dead = [];
|
|
58
|
+
for (const res of clients) {
|
|
59
|
+
if (!writeSafe(res, frame)) {
|
|
60
|
+
dead.push(res);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
for (const r of dead) {
|
|
64
|
+
clients.delete(r);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=review-candidates-sse-hub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-candidates-sse-hub.js","sourceRoot":"","sources":["../../src/server/review-candidates-sse-hub.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAY,CAAC;AAEpC,MAAM,OAAO,GAAG,MAAM,CAAC;AAEvB,6DAA6D;AAC7D,MAAM,UAAU,mCAAmC;IACjD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,GAAa,EAAE,KAAa;IAC7C,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAa;IACrD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;IACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kCAAkC,CAAC,CAAC;IAClE,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IACzD,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAC3C,GAAG,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAClC,SAAS,CAAC,GAAG,EAAE,uBAAuB,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAAc;IAC1D,MAAM,KAAK,GAAG,yBAAyB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC;IACxE,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP 대시보드 Review Queue 패널 폴링 부트 설정 (#274).
|
|
3
|
+
* `GET /dashboard` 응답에 인라인 스크립트로 `window.__MEMENTO_REVIEW_QUEUE__`를 주입한다.
|
|
4
|
+
*/
|
|
5
|
+
export type ReviewQueueDashboardBoot = {
|
|
6
|
+
pollIntervalMs: number;
|
|
7
|
+
pollErrorBackoffMs: number[];
|
|
8
|
+
};
|
|
9
|
+
export declare const DEFAULT_REVIEW_QUEUE_DASHBOARD_BOOT: ReviewQueueDashboardBoot;
|
|
10
|
+
/** dashboard.html에 두는 플레이스홀더(서버가 치환). */
|
|
11
|
+
export declare const REVIEW_QUEUE_DASHBOARD_BOOT_MARKER = "<!--MEMENTO_REVIEW_QUEUE_BOOT-->";
|
|
12
|
+
/** 환경 변수에서 Review Queue 대시보드 부트 설정을 해석한다. */
|
|
13
|
+
export declare function resolveReviewQueueDashboardBootFromEnv(env?: NodeJS.ProcessEnv): ReviewQueueDashboardBoot;
|
|
14
|
+
/** 인라인 스크립트(한 줄). JSON은 `<`를 이스케이프해 `</script>` 조각 주입을 방지한다. */
|
|
15
|
+
export declare function buildReviewQueueBootInjectionHtml(boot: ReviewQueueDashboardBoot): string;
|
|
16
|
+
export declare function injectReviewQueueBootIntoDashboardHtml(dashboardHtml: string, boot: ReviewQueueDashboardBoot): string;
|
|
17
|
+
//# sourceMappingURL=review-queue-dashboard-boot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-queue-dashboard-boot.d.ts","sourceRoot":"","sources":["../../src/server/review-queue-dashboard-boot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,wBAGjD,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,kCAAkC,qCAAqC,CAAC;AAkCrF,6CAA6C;AAC7C,wBAAgB,sCAAsC,CACpD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,wBAAwB,CAS1B;AAED,gEAAgE;AAChE,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAGxF;AAED,wBAAgB,sCAAsC,CACpD,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,wBAAwB,GAC7B,MAAM,CAKR"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP 대시보드 Review Queue 패널 폴링 부트 설정 (#274).
|
|
3
|
+
* `GET /dashboard` 응답에 인라인 스크립트로 `window.__MEMENTO_REVIEW_QUEUE__`를 주입한다.
|
|
4
|
+
*/
|
|
5
|
+
export const DEFAULT_REVIEW_QUEUE_DASHBOARD_BOOT = {
|
|
6
|
+
pollIntervalMs: 60_000,
|
|
7
|
+
pollErrorBackoffMs: []
|
|
8
|
+
};
|
|
9
|
+
/** dashboard.html에 두는 플레이스홀더(서버가 치환). */
|
|
10
|
+
export const REVIEW_QUEUE_DASHBOARD_BOOT_MARKER = '<!--MEMENTO_REVIEW_QUEUE_BOOT-->';
|
|
11
|
+
const MIN_POLL_MS = 10_000;
|
|
12
|
+
const MAX_POLL_MS = 24 * 60 * 60 * 1000;
|
|
13
|
+
function parsePositiveIntMs(raw, fallback) {
|
|
14
|
+
if (raw == null || raw.trim() === '') {
|
|
15
|
+
return fallback;
|
|
16
|
+
}
|
|
17
|
+
const n = Number.parseInt(raw.trim(), 10);
|
|
18
|
+
if (!Number.isFinite(n) || n <= 0) {
|
|
19
|
+
return fallback;
|
|
20
|
+
}
|
|
21
|
+
return n;
|
|
22
|
+
}
|
|
23
|
+
function clampIntervalMs(n) {
|
|
24
|
+
return Math.min(MAX_POLL_MS, Math.max(MIN_POLL_MS, n));
|
|
25
|
+
}
|
|
26
|
+
function parseBackoffCsv(raw) {
|
|
27
|
+
if (raw == null || raw.trim() === '') {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
const out = [];
|
|
31
|
+
for (const part of raw.split(',')) {
|
|
32
|
+
const n = Number.parseInt(part.trim(), 10);
|
|
33
|
+
if (Number.isFinite(n) && n > 0) {
|
|
34
|
+
out.push(clampIntervalMs(n));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return out;
|
|
38
|
+
}
|
|
39
|
+
/** 환경 변수에서 Review Queue 대시보드 부트 설정을 해석한다. */
|
|
40
|
+
export function resolveReviewQueueDashboardBootFromEnv(env = process.env) {
|
|
41
|
+
const pollIntervalMs = clampIntervalMs(parsePositiveIntMs(env.MEMENTO_REVIEW_QUEUE_POLL_INTERVAL_MS, DEFAULT_REVIEW_QUEUE_DASHBOARD_BOOT.pollIntervalMs));
|
|
42
|
+
const pollErrorBackoffMs = parseBackoffCsv(env.MEMENTO_REVIEW_QUEUE_POLL_ERROR_BACKOFF_MS);
|
|
43
|
+
return { pollIntervalMs, pollErrorBackoffMs };
|
|
44
|
+
}
|
|
45
|
+
/** 인라인 스크립트(한 줄). JSON은 `<`를 이스케이프해 `</script>` 조각 주입을 방지한다. */
|
|
46
|
+
export function buildReviewQueueBootInjectionHtml(boot) {
|
|
47
|
+
const json = JSON.stringify(boot).replace(/</g, '\\u003c');
|
|
48
|
+
return `<script>window.__MEMENTO_REVIEW_QUEUE__=${json};</script>`;
|
|
49
|
+
}
|
|
50
|
+
export function injectReviewQueueBootIntoDashboardHtml(dashboardHtml, boot) {
|
|
51
|
+
if (!dashboardHtml.includes(REVIEW_QUEUE_DASHBOARD_BOOT_MARKER)) {
|
|
52
|
+
return dashboardHtml;
|
|
53
|
+
}
|
|
54
|
+
return dashboardHtml.replace(REVIEW_QUEUE_DASHBOARD_BOOT_MARKER, buildReviewQueueBootInjectionHtml(boot));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=review-queue-dashboard-boot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-queue-dashboard-boot.js","sourceRoot":"","sources":["../../src/server/review-queue-dashboard-boot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,CAAC,MAAM,mCAAmC,GAA6B;IAC3E,cAAc,EAAE,MAAM;IACtB,kBAAkB,EAAE,EAAE;CACvB,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,MAAM,kCAAkC,GAAG,kCAAkC,CAAC;AAErF,MAAM,WAAW,GAAG,MAAM,CAAC;AAC3B,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,SAAS,kBAAkB,CAAC,GAAuB,EAAE,QAAgB;IACnE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CAAC,GAAuB;IAC9C,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,sCAAsC,CACpD,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,cAAc,GAAG,eAAe,CACpC,kBAAkB,CAChB,GAAG,CAAC,qCAAqC,EACzC,mCAAmC,CAAC,cAAc,CACnD,CACF,CAAC;IACF,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC3F,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAChD,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,iCAAiC,CAAC,IAA8B;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3D,OAAO,2CAA2C,IAAI,YAAY,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,aAAqB,EACrB,IAA8B;IAE9B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE,CAAC;QAChE,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,aAAa,CAAC,OAAO,CAAC,kCAAkC,EAAE,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5G,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin: 배치 스케줄러, 수동 실행 이력, 공고화(sleep consolidation) 수동 실행
|
|
3
|
+
*/
|
|
4
|
+
import type { Router } from 'express';
|
|
5
|
+
import type Database from 'better-sqlite3';
|
|
6
|
+
import type { ServerServices } from '../../bootstrap.js';
|
|
7
|
+
export declare function registerAdminBatchRoutes(router: Router, db: Database.Database | null, serverServices: ServerServices | null): void;
|
|
8
|
+
//# sourceMappingURL=admin-batch.routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-batch.routes.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/admin/admin-batch.routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUzD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAC5B,cAAc,EAAE,cAAc,GAAG,IAAI,GACpC,IAAI,CAmHN"}
|