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.
Files changed (254) hide show
  1. package/dist/server/batch-run-history.d.ts +37 -0
  2. package/dist/server/batch-run-history.d.ts.map +1 -0
  3. package/dist/server/batch-run-history.js +84 -0
  4. package/dist/server/batch-run-history.js.map +1 -0
  5. package/dist/server/http-server.d.ts.map +1 -1
  6. package/dist/server/http-server.js +15 -8
  7. package/dist/server/http-server.js.map +1 -1
  8. package/dist/server/review-candidates-changed-fanout.d.ts +25 -0
  9. package/dist/server/review-candidates-changed-fanout.d.ts.map +1 -0
  10. package/dist/server/review-candidates-changed-fanout.js +93 -0
  11. package/dist/server/review-candidates-changed-fanout.js.map +1 -0
  12. package/dist/server/review-candidates-sse-hub.d.ts +14 -0
  13. package/dist/server/review-candidates-sse-hub.d.ts.map +1 -0
  14. package/dist/server/review-candidates-sse-hub.js +67 -0
  15. package/dist/server/review-candidates-sse-hub.js.map +1 -0
  16. package/dist/server/review-queue-dashboard-boot.d.ts +17 -0
  17. package/dist/server/review-queue-dashboard-boot.d.ts.map +1 -0
  18. package/dist/server/review-queue-dashboard-boot.js +56 -0
  19. package/dist/server/review-queue-dashboard-boot.js.map +1 -0
  20. package/dist/server/routes/admin/admin-batch.routes.d.ts +8 -0
  21. package/dist/server/routes/admin/admin-batch.routes.d.ts.map +1 -0
  22. package/dist/server/routes/admin/admin-batch.routes.js +114 -0
  23. package/dist/server/routes/admin/admin-batch.routes.js.map +1 -0
  24. package/dist/server/routes/admin/admin-memory-review.routes.d.ts +7 -0
  25. package/dist/server/routes/admin/admin-memory-review.routes.d.ts.map +1 -0
  26. package/dist/server/routes/admin/admin-memory-review.routes.js +189 -0
  27. package/dist/server/routes/admin/admin-memory-review.routes.js.map +1 -0
  28. package/dist/server/routes/admin/admin-project-memory.routes.d.ts +7 -0
  29. package/dist/server/routes/admin/admin-project-memory.routes.d.ts.map +1 -0
  30. package/dist/server/routes/admin/admin-project-memory.routes.js +91 -0
  31. package/dist/server/routes/admin/admin-project-memory.routes.js.map +1 -0
  32. package/dist/server/routes/admin/admin-runtime-performance.routes.d.ts +6 -0
  33. package/dist/server/routes/admin/admin-runtime-performance.routes.d.ts.map +1 -0
  34. package/dist/server/routes/admin/admin-runtime-performance.routes.js +98 -0
  35. package/dist/server/routes/admin/admin-runtime-performance.routes.js.map +1 -0
  36. package/dist/server/routes/admin/admin-stats-and-health.routes.d.ts +8 -0
  37. package/dist/server/routes/admin/admin-stats-and-health.routes.d.ts.map +1 -0
  38. package/dist/server/routes/admin/admin-stats-and-health.routes.js +207 -0
  39. package/dist/server/routes/admin/admin-stats-and-health.routes.js.map +1 -0
  40. package/dist/server/routes/admin/admin-tools.routes.d.ts +8 -0
  41. package/dist/server/routes/admin/admin-tools.routes.d.ts.map +1 -0
  42. package/dist/server/routes/admin/admin-tools.routes.js +176 -0
  43. package/dist/server/routes/admin/admin-tools.routes.js.map +1 -0
  44. package/dist/server/routes/admin.routes.d.ts +1 -1
  45. package/dist/server/routes/admin.routes.d.ts.map +1 -1
  46. package/dist/server/routes/admin.routes.js +13 -769
  47. package/dist/server/routes/admin.routes.js.map +1 -1
  48. package/node_modules/@memento/core/dist/database/schema.sql +19 -0
  49. package/node_modules/@memento/core/dist/domains/anchor/services/anchor/n-hop-search-service.d.ts +7 -0
  50. package/node_modules/@memento/core/dist/domains/anchor/services/anchor/n-hop-search-service.d.ts.map +1 -1
  51. package/node_modules/@memento/core/dist/domains/anchor/services/anchor/n-hop-search-service.js +148 -148
  52. package/node_modules/@memento/core/dist/domains/anchor/services/anchor/n-hop-search-service.js.map +1 -1
  53. package/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.d.ts +7 -1
  54. package/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.d.ts.map +1 -1
  55. package/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.js +122 -114
  56. package/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.js.map +1 -1
  57. package/node_modules/@memento/core/dist/domains/memory/services/memory-review-queue-health-service.d.ts +55 -0
  58. package/node_modules/@memento/core/dist/domains/memory/services/memory-review-queue-health-service.d.ts.map +1 -0
  59. package/node_modules/@memento/core/dist/domains/memory/services/memory-review-queue-health-service.js +125 -0
  60. package/node_modules/@memento/core/dist/domains/memory/services/memory-review-queue-health-service.js.map +1 -0
  61. package/node_modules/@memento/core/dist/domains/memory/services/semantic-memory/semantic-memory-update-service.d.ts +2 -0
  62. package/node_modules/@memento/core/dist/domains/memory/services/semantic-memory/semantic-memory-update-service.d.ts.map +1 -1
  63. package/node_modules/@memento/core/dist/domains/memory/services/semantic-memory/semantic-memory-update-service.js +33 -36
  64. package/node_modules/@memento/core/dist/domains/memory/services/semantic-memory/semantic-memory-update-service.js.map +1 -1
  65. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-filters.d.ts +17 -0
  66. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-filters.d.ts.map +1 -0
  67. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-filters.js +138 -0
  68. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-filters.js.map +1 -0
  69. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-results.d.ts +9 -0
  70. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-results.d.ts.map +1 -0
  71. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-results.js +111 -0
  72. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-results.js.map +1 -0
  73. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-schema.d.ts +232 -0
  74. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-schema.d.ts.map +1 -0
  75. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-schema.js +107 -0
  76. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-schema.js.map +1 -0
  77. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-types.d.ts +280 -0
  78. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-types.d.ts.map +1 -0
  79. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-types.js +5 -0
  80. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-types.js.map +1 -0
  81. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-validation.d.ts +10 -0
  82. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-validation.d.ts.map +1 -0
  83. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-validation.js +43 -0
  84. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool-validation.js.map +1 -0
  85. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool.d.ts +8 -444
  86. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool.d.ts.map +1 -1
  87. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool.js +384 -730
  88. package/node_modules/@memento/core/dist/domains/memory/tools/recall-tool.js.map +1 -1
  89. package/node_modules/@memento/core/dist/domains/monitoring/services/performance-monitor.d.ts +19 -0
  90. package/node_modules/@memento/core/dist/domains/monitoring/services/performance-monitor.d.ts.map +1 -1
  91. package/node_modules/@memento/core/dist/domains/monitoring/services/performance-monitor.js +67 -11
  92. package/node_modules/@memento/core/dist/domains/monitoring/services/performance-monitor.js.map +1 -1
  93. package/node_modules/@memento/core/dist/domains/personal-agent/index.d.ts +7 -0
  94. package/node_modules/@memento/core/dist/domains/personal-agent/index.d.ts.map +1 -0
  95. package/node_modules/@memento/core/dist/domains/personal-agent/index.js +2 -0
  96. package/node_modules/@memento/core/dist/domains/personal-agent/index.js.map +1 -0
  97. package/node_modules/@memento/core/dist/domains/personal-agent/ports/context-port.d.ts +6 -0
  98. package/node_modules/@memento/core/dist/domains/personal-agent/ports/context-port.d.ts.map +1 -0
  99. package/node_modules/@memento/core/dist/domains/personal-agent/ports/context-port.js +2 -0
  100. package/node_modules/@memento/core/dist/domains/personal-agent/ports/context-port.js.map +1 -0
  101. package/node_modules/@memento/core/dist/domains/personal-agent/ports/llm-port.d.ts +8 -0
  102. package/node_modules/@memento/core/dist/domains/personal-agent/ports/llm-port.d.ts.map +1 -0
  103. package/node_modules/@memento/core/dist/domains/personal-agent/ports/llm-port.js +2 -0
  104. package/node_modules/@memento/core/dist/domains/personal-agent/ports/llm-port.js.map +1 -0
  105. package/node_modules/@memento/core/dist/domains/personal-agent/ports/persistence-port.d.ts +5 -0
  106. package/node_modules/@memento/core/dist/domains/personal-agent/ports/persistence-port.d.ts.map +1 -0
  107. package/node_modules/@memento/core/dist/domains/personal-agent/ports/persistence-port.js +2 -0
  108. package/node_modules/@memento/core/dist/domains/personal-agent/ports/persistence-port.js.map +1 -0
  109. package/node_modules/@memento/core/dist/domains/personal-agent/services/personal-knowledge-agent-service.d.ts +15 -0
  110. package/node_modules/@memento/core/dist/domains/personal-agent/services/personal-knowledge-agent-service.d.ts.map +1 -0
  111. package/node_modules/@memento/core/dist/domains/personal-agent/services/personal-knowledge-agent-service.js +20 -0
  112. package/node_modules/@memento/core/dist/domains/personal-agent/services/personal-knowledge-agent-service.js.map +1 -0
  113. package/node_modules/@memento/core/dist/domains/personal-agent/types/agent-types.d.ts +18 -0
  114. package/node_modules/@memento/core/dist/domains/personal-agent/types/agent-types.d.ts.map +1 -0
  115. package/node_modules/@memento/core/dist/domains/personal-agent/types/agent-types.js +2 -0
  116. package/node_modules/@memento/core/dist/domains/personal-agent/types/agent-types.js.map +1 -0
  117. package/node_modules/@memento/core/dist/domains/relation/services/llm-based-relation-extractor.d.ts +10 -76
  118. package/node_modules/@memento/core/dist/domains/relation/services/llm-based-relation-extractor.d.ts.map +1 -1
  119. package/node_modules/@memento/core/dist/domains/relation/services/llm-based-relation-extractor.js +55 -1046
  120. package/node_modules/@memento/core/dist/domains/relation/services/llm-based-relation-extractor.js.map +1 -1
  121. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/embedding-candidate-filter.d.ts +4 -0
  122. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/embedding-candidate-filter.d.ts.map +1 -0
  123. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/embedding-candidate-filter.js +49 -0
  124. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/embedding-candidate-filter.js.map +1 -0
  125. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-gemini.d.ts +12 -0
  126. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-gemini.d.ts.map +1 -0
  127. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-gemini.js +68 -0
  128. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-gemini.js.map +1 -0
  129. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-ollama.d.ts +11 -0
  130. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-ollama.d.ts.map +1 -0
  131. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-ollama.js +184 -0
  132. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-ollama.js.map +1 -0
  133. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-openai.d.ts +12 -0
  134. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-openai.d.ts.map +1 -0
  135. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-openai.js +75 -0
  136. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/extract-relations-openai.js.map +1 -0
  137. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/llm-response-parse.d.ts +6 -0
  138. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/llm-response-parse.d.ts.map +1 -0
  139. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/llm-response-parse.js +377 -0
  140. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/llm-response-parse.js.map +1 -0
  141. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/ollama-chat-support.d.ts +23 -0
  142. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/ollama-chat-support.d.ts.map +1 -0
  143. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/ollama-chat-support.js +125 -0
  144. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/ollama-chat-support.js.map +1 -0
  145. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/provider-selection.d.ts +14 -0
  146. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/provider-selection.d.ts.map +1 -0
  147. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/provider-selection.js +43 -0
  148. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/provider-selection.js.map +1 -0
  149. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/token-bucket-rate-limiter.d.ts +16 -0
  150. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/token-bucket-rate-limiter.d.ts.map +1 -0
  151. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/token-bucket-rate-limiter.js +49 -0
  152. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/token-bucket-rate-limiter.js.map +1 -0
  153. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/types.d.ts +15 -0
  154. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/types.d.ts.map +1 -0
  155. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/types.js +2 -0
  156. package/node_modules/@memento/core/dist/domains/relation/services/llm-relation-extractor/types.js.map +1 -0
  157. package/node_modules/@memento/core/dist/domains/relation/services/relation-errors.d.ts +17 -0
  158. package/node_modules/@memento/core/dist/domains/relation/services/relation-errors.d.ts.map +1 -0
  159. package/node_modules/@memento/core/dist/domains/relation/services/relation-errors.js +33 -0
  160. package/node_modules/@memento/core/dist/domains/relation/services/relation-errors.js.map +1 -0
  161. package/node_modules/@memento/core/dist/domains/relation/services/relation-graph.d.ts.map +1 -1
  162. package/node_modules/@memento/core/dist/domains/relation/services/relation-graph.js +4 -4
  163. package/node_modules/@memento/core/dist/domains/relation/services/relation-graph.js.map +1 -1
  164. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-llm-pipeline.d.ts +37 -0
  165. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-llm-pipeline.d.ts.map +1 -0
  166. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-llm-pipeline.js +81 -0
  167. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-llm-pipeline.js.map +1 -0
  168. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-service.d.ts +1 -0
  169. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-service.d.ts.map +1 -1
  170. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-service.js +28 -78
  171. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extraction-service.js.map +1 -1
  172. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extractor.js +1 -1
  173. package/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/triple-extractor.js.map +1 -1
  174. package/node_modules/@memento/core/dist/domains/relation/tools/add-relation-tool.d.ts.map +1 -1
  175. package/node_modules/@memento/core/dist/domains/relation/tools/add-relation-tool.js +24 -26
  176. package/node_modules/@memento/core/dist/domains/relation/tools/add-relation-tool.js.map +1 -1
  177. package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.d.ts +2 -19
  178. package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.d.ts.map +1 -1
  179. package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.js +42 -252
  180. package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.js.map +1 -1
  181. package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-provider-parallel.d.ts +65 -0
  182. package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-provider-parallel.d.ts.map +1 -0
  183. package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-provider-parallel.js +186 -0
  184. package/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-provider-parallel.js.map +1 -0
  185. package/node_modules/@memento/core/dist/domains/search/repositories/vector-search.repository.d.ts +6 -0
  186. package/node_modules/@memento/core/dist/domains/search/repositories/vector-search.repository.d.ts.map +1 -1
  187. package/node_modules/@memento/core/dist/domains/search/repositories/vector-search.repository.js +150 -117
  188. package/node_modules/@memento/core/dist/domains/search/repositories/vector-search.repository.js.map +1 -1
  189. package/node_modules/@memento/core/dist/index.d.ts +3 -0
  190. package/node_modules/@memento/core/dist/index.d.ts.map +1 -1
  191. package/node_modules/@memento/core/dist/index.js +2 -0
  192. package/node_modules/@memento/core/dist/index.js.map +1 -1
  193. package/node_modules/@memento/core/dist/infrastructure/database/database/init.d.ts.map +1 -1
  194. package/node_modules/@memento/core/dist/infrastructure/database/database/init.js +297 -291
  195. package/node_modules/@memento/core/dist/infrastructure/database/database/init.js.map +1 -1
  196. package/node_modules/@memento/core/dist/infrastructure/database/database/migrate.d.ts.map +1 -1
  197. package/node_modules/@memento/core/dist/infrastructure/database/database/migrate.js +6 -3
  198. package/node_modules/@memento/core/dist/infrastructure/database/database/migrate.js.map +1 -1
  199. package/node_modules/@memento/core/dist/infrastructure/database/database/migration/migrations/034-review-queue-health-snapshot.d.ts +19 -0
  200. package/node_modules/@memento/core/dist/infrastructure/database/database/migration/migrations/034-review-queue-health-snapshot.d.ts.map +1 -0
  201. package/node_modules/@memento/core/dist/infrastructure/database/database/migration/migrations/034-review-queue-health-snapshot.js +70 -0
  202. package/node_modules/@memento/core/dist/infrastructure/database/database/migration/migrations/034-review-queue-health-snapshot.js.map +1 -0
  203. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-recurring-schedules.d.ts +43 -0
  204. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-recurring-schedules.d.ts.map +1 -0
  205. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-recurring-schedules.js +148 -0
  206. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-recurring-schedules.js.map +1 -0
  207. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-default-config.d.ts +3 -0
  208. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-default-config.d.ts.map +1 -0
  209. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-default-config.js +40 -0
  210. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-default-config.js.map +1 -0
  211. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-internal-helpers.d.ts +10 -0
  212. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-internal-helpers.d.ts.map +1 -0
  213. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-internal-helpers.js +32 -0
  214. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-internal-helpers.js.map +1 -0
  215. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-types.d.ts +6 -1
  216. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler-types.d.ts.map +1 -1
  217. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler.d.ts +15 -69
  218. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler.d.ts.map +1 -1
  219. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler.js +159 -873
  220. package/node_modules/@memento/core/dist/infrastructure/scheduler/batch-scheduler.js.map +1 -1
  221. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-augmentation-handlers.d.ts +5 -0
  222. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-augmentation-handlers.d.ts.map +1 -0
  223. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-augmentation-handlers.js +120 -0
  224. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-augmentation-handlers.js.map +1 -0
  225. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-consolidation-relation-handlers.d.ts +7 -0
  226. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-consolidation-relation-handlers.d.ts.map +1 -0
  227. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-consolidation-relation-handlers.js +195 -0
  228. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-consolidation-relation-handlers.js.map +1 -0
  229. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-maintenance-handlers.d.ts +6 -0
  230. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-maintenance-handlers.d.ts.map +1 -0
  231. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-maintenance-handlers.js +111 -0
  232. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-maintenance-handlers.js.map +1 -0
  233. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-review-meta-handlers.d.ts +17 -0
  234. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-review-meta-handlers.d.ts.map +1 -0
  235. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-review-meta-handlers.js +107 -0
  236. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-review-meta-handlers.js.map +1 -0
  237. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-run-context.d.ts +49 -0
  238. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-run-context.d.ts.map +1 -0
  239. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-run-context.js +6 -0
  240. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-run-context.js.map +1 -0
  241. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-sleep-telemetry-handlers.d.ts +5 -0
  242. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-sleep-telemetry-handlers.d.ts.map +1 -0
  243. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-sleep-telemetry-handlers.js +47 -0
  244. package/node_modules/@memento/core/dist/infrastructure/scheduler/handlers/batch-scheduler-sleep-telemetry-handlers.js.map +1 -0
  245. package/node_modules/@memento/core/dist/infrastructure/scheduler/memory-review-candidates-run-diagnostics.d.ts +9 -0
  246. package/node_modules/@memento/core/dist/infrastructure/scheduler/memory-review-candidates-run-diagnostics.d.ts.map +1 -0
  247. package/node_modules/@memento/core/dist/infrastructure/scheduler/memory-review-candidates-run-diagnostics.js +38 -0
  248. package/node_modules/@memento/core/dist/infrastructure/scheduler/memory-review-candidates-run-diagnostics.js.map +1 -0
  249. package/node_modules/@memento/core/dist/shared/utils/type-param-validator.js +1 -1
  250. package/node_modules/@memento/core/dist/shared/utils/type-param-validator.js.map +1 -1
  251. package/node_modules/@memento/core/dist/test/helpers/vector-search-quality-metrics.d.ts.map +1 -1
  252. package/node_modules/@memento/core/dist/test/helpers/vector-search-quality-metrics.js +83 -111
  253. package/node_modules/@memento/core/dist/test/helpers/vector-search-quality-metrics.js.map +1 -1
  254. 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;AAoC9B,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;AAmJD,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"}
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
- res.sendFile('dashboard.html', { root: staticRoot }, (err) => {
163
- if (err) {
164
- logger.error('대시보드 파일 로드 실패', { error: err });
165
- res.status(404).send('Dashboard not found');
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"}