MemoryOS 2.0.16__tar.gz → 2.0.17__tar.gz

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 (381) hide show
  1. {memoryos-2.0.16 → memoryos-2.0.17}/PKG-INFO +1 -1
  2. {memoryos-2.0.16 → memoryos-2.0.17}/pyproject.toml +4 -1
  3. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/__init__.py +1 -1
  4. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/chat_handler.py +6 -2
  5. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/component_init.py +7 -0
  6. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/config_builders.py +5 -2
  7. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/search_handler.py +126 -1
  8. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/routers/server_router.py +5 -4
  9. memoryos-2.0.17/src/memos/dream/contextualization.py +765 -0
  10. memoryos-2.0.17/src/memos/dream/enrichment.py +284 -0
  11. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/pipeline/__init__.py +2 -0
  12. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/pipeline/base.py +17 -0
  13. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/pipeline/diary.py +65 -3
  14. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/pipeline/persistence.py +1 -0
  15. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/pipeline/recall.py +2 -1
  16. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/plugin.py +15 -0
  17. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/prompts/__init__.py +4 -0
  18. memoryos-2.0.17/src/memos/dream/prompts/context_binding_prompt.py +31 -0
  19. memoryos-2.0.17/src/memos/dream/prompts/context_summary_prompt.py +27 -0
  20. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/routers/diary_router.py +2 -1
  21. memoryos-2.0.17/src/memos/dream/search.py +139 -0
  22. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/types.py +8 -0
  23. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/graph_dbs/polardb.py +6 -1
  24. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/image_parser.py +37 -4
  25. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_skill_memory/process_skill_memory.py +4 -0
  26. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/base_mixins/queue_ops.py +5 -0
  27. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/base_mixins/web_log_ops.py +4 -0
  28. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/scheduler_logger.py +2 -0
  29. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/message_schemas.py +21 -1
  30. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/dispatcher.py +5 -3
  31. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/add_handler.py +8 -8
  32. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/feedback_handler.py +6 -5
  33. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/mem_read_handler.py +5 -5
  34. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/redis_queue.py +42 -3
  35. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/task_queue.py +4 -1
  36. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/misc_utils.py +6 -31
  37. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/webservice_modules/rabbitmq_service.py +62 -30
  38. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/item.py +1 -0
  39. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/plugins/hook_defs.py +13 -0
  40. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/plugins/manager.py +19 -0
  41. {memoryos-2.0.16 → memoryos-2.0.17}/LICENSE +0 -0
  42. {memoryos-2.0.16 → memoryos-2.0.17}/README.md +0 -0
  43. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/__init__.py +0 -0
  44. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/client.py +0 -0
  45. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/config.py +0 -0
  46. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/context/dependencies.py +0 -0
  47. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/exceptions.py +0 -0
  48. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/__init__.py +0 -0
  49. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/add_handler.py +0 -0
  50. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/base_handler.py +0 -0
  51. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/feedback_handler.py +0 -0
  52. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/formatters_handler.py +0 -0
  53. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/memory_handler.py +0 -0
  54. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/scheduler_handler.py +0 -0
  55. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/handlers/suggestion_handler.py +0 -0
  56. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/mcp_serve.py +0 -0
  57. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/middleware/__init__.py +0 -0
  58. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/middleware/auth.py +0 -0
  59. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/middleware/rate_limit.py +0 -0
  60. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/middleware/request_context.py +0 -0
  61. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/product_models.py +0 -0
  62. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/routers/__init__.py +0 -0
  63. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/routers/admin_router.py +0 -0
  64. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/server_api.py +0 -0
  65. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/server_api_ext.py +0 -0
  66. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/utils/__init__.py +0 -0
  67. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/api/utils/api_keys.py +0 -0
  68. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/chunkers/__init__.py +0 -0
  69. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/chunkers/base.py +0 -0
  70. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/chunkers/charactertext_chunker.py +0 -0
  71. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/chunkers/factory.py +0 -0
  72. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/chunkers/markdown_chunker.py +0 -0
  73. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/chunkers/sentence_chunker.py +0 -0
  74. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/chunkers/simple_chunker.py +0 -0
  75. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/cli.py +0 -0
  76. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/__init__.py +0 -0
  77. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/base.py +0 -0
  78. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/chunker.py +0 -0
  79. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/embedder.py +0 -0
  80. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/graph_db.py +0 -0
  81. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/internet_retriever.py +0 -0
  82. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/llm.py +0 -0
  83. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/mem_agent.py +0 -0
  84. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/mem_chat.py +0 -0
  85. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/mem_cube.py +0 -0
  86. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/mem_os.py +0 -0
  87. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/mem_reader.py +0 -0
  88. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/mem_scheduler.py +0 -0
  89. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/mem_user.py +0 -0
  90. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/memory.py +0 -0
  91. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/parser.py +0 -0
  92. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/reranker.py +0 -0
  93. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/utils.py +0 -0
  94. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/configs/vec_db.py +0 -0
  95. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/context/context.py +0 -0
  96. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dependency.py +0 -0
  97. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/deprecation.py +0 -0
  98. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/__init__.py +0 -0
  99. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/hook_defs.py +0 -0
  100. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/hooks.py +0 -0
  101. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/maintenance.py +0 -0
  102. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/pipeline/motive.py +0 -0
  103. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/pipeline/reasoning.py +0 -0
  104. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/prompts/motive_prompt.py +0 -0
  105. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/prompts/reasoning_prompt.py +0 -0
  106. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/routers/__init__.py +0 -0
  107. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/routers/trigger_router.py +0 -0
  108. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/routes.py +0 -0
  109. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/dream/signal_store.py +0 -0
  110. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/embedders/__init__.py +0 -0
  111. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/embedders/ark.py +0 -0
  112. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/embedders/base.py +0 -0
  113. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/embedders/factory.py +0 -0
  114. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/embedders/ollama.py +0 -0
  115. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/embedders/sentence_transformer.py +0 -0
  116. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/embedders/universal_api.py +0 -0
  117. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/exceptions.py +0 -0
  118. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/extras/__init__.py +0 -0
  119. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/graph_dbs/__init__.py +0 -0
  120. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/graph_dbs/base.py +0 -0
  121. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/graph_dbs/factory.py +0 -0
  122. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/graph_dbs/item.py +0 -0
  123. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/graph_dbs/neo4j.py +0 -0
  124. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/graph_dbs/neo4j_community.py +0 -0
  125. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/graph_dbs/postgres.py +0 -0
  126. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/hello_world.py +0 -0
  127. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/__init__.py +0 -0
  128. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/base.py +0 -0
  129. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/deepseek.py +0 -0
  130. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/factory.py +0 -0
  131. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/hf.py +0 -0
  132. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/hf_singleton.py +0 -0
  133. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/minimax.py +0 -0
  134. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/ollama.py +0 -0
  135. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/openai.py +0 -0
  136. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/openai_new.py +0 -0
  137. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/qwen.py +0 -0
  138. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/utils.py +0 -0
  139. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/llms/vllm.py +0 -0
  140. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/log.py +0 -0
  141. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_agent/base.py +0 -0
  142. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_agent/deepsearch_agent.py +0 -0
  143. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_agent/factory.py +0 -0
  144. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_chat/__init__.py +0 -0
  145. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_chat/base.py +0 -0
  146. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_chat/factory.py +0 -0
  147. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_chat/simple.py +0 -0
  148. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_cube/__init__.py +0 -0
  149. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_cube/base.py +0 -0
  150. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_cube/general.py +0 -0
  151. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_cube/navie.py +0 -0
  152. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_cube/utils.py +0 -0
  153. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_feedback/base.py +0 -0
  154. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_feedback/feedback.py +0 -0
  155. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_feedback/simple_feedback.py +0 -0
  156. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_feedback/utils.py +0 -0
  157. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_os/core.py +0 -0
  158. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_os/main.py +0 -0
  159. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_os/utils/default_config.py +0 -0
  160. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_os/utils/format_utils.py +0 -0
  161. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_os/utils/reference_utils.py +0 -0
  162. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/__init__.py +0 -0
  163. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/base.py +0 -0
  164. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/factory.py +0 -0
  165. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/memory.py +0 -0
  166. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/multi_modal_struct.py +0 -0
  167. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/__init__.py +0 -0
  168. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/assistant_parser.py +0 -0
  169. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/base.py +0 -0
  170. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/file_content_parser.py +0 -0
  171. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/multi_modal_parser.py +0 -0
  172. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/string_parser.py +0 -0
  173. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/system_parser.py +0 -0
  174. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/text_content_parser.py +0 -0
  175. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/tool_parser.py +0 -0
  176. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/user_parser.py +0 -0
  177. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/utils.py +0 -0
  178. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_pref_memory/process_preference_memory.py +0 -0
  179. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/read_skill_memory/upload_skill_memory.py +0 -0
  180. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/simple_struct.py +0 -0
  181. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/strategy_struct.py +0 -0
  182. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_reader/utils.py +0 -0
  183. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/__init__.py +0 -0
  184. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/__init__.py +0 -0
  185. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/api_analyzer.py +0 -0
  186. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/eval_analyzer.py +0 -0
  187. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/mos_for_test_scheduler.py +0 -0
  188. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/scheduler_for_eval.py +0 -0
  189. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/base_mixins/__init__.py +0 -0
  190. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/base_mixins/memory_ops.py +0 -0
  191. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/base_scheduler.py +0 -0
  192. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/__init__.py +0 -0
  193. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/api_misc.py +0 -0
  194. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/base.py +0 -0
  195. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/init_components_for_scheduler.py +0 -0
  196. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/misc.py +0 -0
  197. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/task_threads.py +0 -0
  198. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/general_scheduler.py +0 -0
  199. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/__init__.py +0 -0
  200. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/activation_memory_manager.py +0 -0
  201. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/enhancement_pipeline.py +0 -0
  202. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/filter_pipeline.py +0 -0
  203. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/memory_filter.py +0 -0
  204. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/post_processor.py +0 -0
  205. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/rerank_pipeline.py +0 -0
  206. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/retriever.py +0 -0
  207. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/search_pipeline.py +0 -0
  208. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/search_service.py +0 -0
  209. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/monitors/__init__.py +0 -0
  210. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/monitors/dispatcher_monitor.py +0 -0
  211. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/monitors/general_monitor.py +0 -0
  212. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/monitors/task_schedule_monitor.py +0 -0
  213. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/optimized_scheduler.py +0 -0
  214. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/__init__.py +0 -0
  215. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/api_redis_model.py +0 -0
  216. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/base_model.py +0 -0
  217. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/monitor_models.py +0 -0
  218. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/redis_model.py +0 -0
  219. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/scheduler_factory.py +0 -0
  220. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/__init__.py +0 -0
  221. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/analyzer_schemas.py +0 -0
  222. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/api_schemas.py +0 -0
  223. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/general_schemas.py +0 -0
  224. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/monitor_schemas.py +0 -0
  225. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/task_schemas.py +0 -0
  226. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/__init__.py +0 -0
  227. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/base_handler.py +0 -0
  228. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/context.py +0 -0
  229. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/__init__.py +0 -0
  230. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/answer_handler.py +0 -0
  231. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/mem_dream_handler.py +0 -0
  232. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/mem_reorganize_handler.py +0 -0
  233. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/memory_update_handler.py +0 -0
  234. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/pref_add_handler.py +0 -0
  235. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/query_handler.py +0 -0
  236. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/local_queue.py +0 -0
  237. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/orchestrator.py +0 -0
  238. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/registry.py +0 -0
  239. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/__init__.py +0 -0
  240. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/api_utils.py +0 -0
  241. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/config_utils.py +0 -0
  242. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/db_utils.py +0 -0
  243. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/filter_utils.py +0 -0
  244. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/metrics.py +0 -0
  245. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/monitor_event_utils.py +0 -0
  246. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/status_tracker.py +0 -0
  247. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/webservice_modules/__init__.py +0 -0
  248. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_scheduler/webservice_modules/redis_service.py +0 -0
  249. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_user/factory.py +0 -0
  250. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_user/mysql_persistent_user_manager.py +0 -0
  251. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_user/mysql_user_manager.py +0 -0
  252. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_user/persistent_factory.py +0 -0
  253. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_user/persistent_user_manager.py +0 -0
  254. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_user/redis_persistent_user_manager.py +0 -0
  255. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/mem_user/user_manager.py +0 -0
  256. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/__init__.py +0 -0
  257. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/activation/__init__.py +0 -0
  258. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/activation/base.py +0 -0
  259. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/activation/item.py +0 -0
  260. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/activation/kv.py +0 -0
  261. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/activation/vllmkv.py +0 -0
  262. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/base.py +0 -0
  263. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/factory.py +0 -0
  264. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/parametric/__init__.py +0 -0
  265. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/parametric/base.py +0 -0
  266. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/parametric/item.py +0 -0
  267. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/parametric/lora.py +0 -0
  268. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/__init__.py +0 -0
  269. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/base.py +0 -0
  270. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/general.py +0 -0
  271. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/naive.py +0 -0
  272. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/__init__.py +0 -0
  273. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/adder.py +0 -0
  274. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/config.py +0 -0
  275. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/extractor.py +0 -0
  276. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/factory.py +0 -0
  277. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/retrievers.py +0 -0
  278. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/spliter.py +0 -0
  279. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/utils.py +0 -0
  280. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/preference.py +0 -0
  281. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/simple_preference.py +0 -0
  282. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/simple_tree.py +0 -0
  283. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree.py +0 -0
  284. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/__init__.py +0 -0
  285. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/__init__.py +0 -0
  286. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/handler.py +0 -0
  287. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/manager.py +0 -0
  288. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/relation_reason_detector.py +0 -0
  289. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/reorganizer.py +0 -0
  290. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/__init__.py +0 -0
  291. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/advanced_searcher.py +0 -0
  292. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/bm25_util.py +0 -0
  293. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/bochasearch.py +0 -0
  294. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever.py +0 -0
  295. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever_factory.py +0 -0
  296. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/reasoner.py +0 -0
  297. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/recall.py +0 -0
  298. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/reranker.py +0 -0
  299. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/retrieval_mid_structs.py +0 -0
  300. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/retrieve_utils.py +0 -0
  301. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/searcher.py +0 -0
  302. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/task_goal_parser.py +0 -0
  303. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/tavilysearch.py +0 -0
  304. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/utils.py +0 -0
  305. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/xinyusearch.py +0 -0
  306. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memos_tools/dinding_report_bot.py +0 -0
  307. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memos_tools/lockfree_dict.py +0 -0
  308. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memos_tools/notification_service.py +0 -0
  309. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memos_tools/notification_utils.py +0 -0
  310. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memos_tools/singleton.py +0 -0
  311. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memos_tools/thread_safe_dict.py +0 -0
  312. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/memos_tools/thread_safe_dict_segment.py +0 -0
  313. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/multi_mem_cube/__init__.py +0 -0
  314. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/multi_mem_cube/composite_cube.py +0 -0
  315. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/multi_mem_cube/single_cube.py +0 -0
  316. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/multi_mem_cube/views.py +0 -0
  317. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/parsers/__init__.py +0 -0
  318. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/parsers/base.py +0 -0
  319. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/parsers/factory.py +0 -0
  320. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/parsers/markitdown.py +0 -0
  321. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/plugins/__init__.py +0 -0
  322. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/plugins/base.py +0 -0
  323. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/plugins/component_bootstrap.py +0 -0
  324. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/plugins/hooks.py +0 -0
  325. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/__init__.py +0 -0
  326. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/base.py +0 -0
  327. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/concat.py +0 -0
  328. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/cosine_local.py +0 -0
  329. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/factory.py +0 -0
  330. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/http_bge.py +0 -0
  331. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/http_bge_strategy.py +0 -0
  332. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/noop.py +0 -0
  333. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/strategies/__init__.py +0 -0
  334. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/strategies/base.py +0 -0
  335. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/strategies/concat_background.py +0 -0
  336. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/strategies/concat_docsource.py +0 -0
  337. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/strategies/dialogue_common.py +0 -0
  338. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/strategies/factory.py +0 -0
  339. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/strategies/single_turn.py +0 -0
  340. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/reranker/strategies/singleturn_outmem.py +0 -0
  341. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/search/__init__.py +0 -0
  342. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/search/search_service.py +0 -0
  343. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/settings.py +0 -0
  344. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/__init__.py +0 -0
  345. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/advanced_search_prompts.py +0 -0
  346. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/cloud_service_prompt.py +0 -0
  347. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/instruction_completion.py +0 -0
  348. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/mem_agent_prompts.py +0 -0
  349. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/mem_feedback_prompts.py +0 -0
  350. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/mem_reader_prompts.py +0 -0
  351. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/mem_reader_strategy_prompts.py +0 -0
  352. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/mem_scheduler_prompts.py +0 -0
  353. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/mem_search_prompts.py +0 -0
  354. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/mos_prompts.py +0 -0
  355. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/prefer_complete_prompt.py +0 -0
  356. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/skill_mem_prompt.py +0 -0
  357. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/tool_mem_prompts.py +0 -0
  358. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/templates/tree_reorganize_prompts.py +0 -0
  359. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/__init__.py +0 -0
  360. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/general_types.py +0 -0
  361. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/__init__.py +0 -0
  362. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_assistant_message_param.py +0 -0
  363. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_image_param.py +0 -0
  364. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_input_audio_param.py +0 -0
  365. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_param.py +0 -0
  366. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_refusal_param.py +0 -0
  367. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_text_param.py +0 -0
  368. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_message_custom_tool_call_param.py +0 -0
  369. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_message_function_tool_call_param.py +0 -0
  370. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_message_param.py +0 -0
  371. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_message_tool_call_union_param.py +0 -0
  372. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_system_message_param.py +0 -0
  373. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_tool_message_param.py +0 -0
  374. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_user_message_param.py +0 -0
  375. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/utils.py +0 -0
  376. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/vec_dbs/__init__.py +0 -0
  377. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/vec_dbs/base.py +0 -0
  378. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/vec_dbs/factory.py +0 -0
  379. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/vec_dbs/item.py +0 -0
  380. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/vec_dbs/milvus.py +0 -0
  381. {memoryos-2.0.16 → memoryos-2.0.17}/src/memos/vec_dbs/qdrant.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MemoryOS
3
- Version: 2.0.16
3
+ Version: 2.0.17
4
4
  Summary: Intelligence Begins with Memory
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -4,7 +4,7 @@
4
4
  ##############################################################################
5
5
 
6
6
  name = "MemoryOS"
7
- version = "2.0.16"
7
+ version = "2.0.17"
8
8
  description = "Intelligence Begins with Memory"
9
9
  license = {text = "Apache-2.0"}
10
10
  readme = "README.md"
@@ -62,6 +62,9 @@ issues = "https://github.com/MemTensor/MemOS/issues"
62
62
  [project.scripts]
63
63
  memos = "memos.cli:main"
64
64
 
65
+ [project.entry-points."memos.plugins"]
66
+ dream = "memos.dream:CommunityDreamPlugin"
67
+
65
68
  [project.optional-dependencies]
66
69
  # These are optional dependencies for various features of MemoryOS.
67
70
  # Developers install: `poetry install --extras <feature>`. e.g., `poetry install --extras general-mem`
@@ -1,4 +1,4 @@
1
- __version__ = "2.0.16"
1
+ __version__ = "2.0.17"
2
2
 
3
3
  from memos.configs.mem_cube import GeneralMemCubeConfig
4
4
  from memos.configs.mem_os import MOSConfig
@@ -60,6 +60,7 @@ class ChatHandler(BaseHandler):
60
60
  self,
61
61
  dependencies: HandlerDependencies,
62
62
  chat_llms: dict[str, Any],
63
+ playground_chat_llms: dict[str, Any] | None = None,
63
64
  search_handler=None,
64
65
  add_handler=None,
65
66
  online_bot=None,
@@ -70,6 +71,7 @@ class ChatHandler(BaseHandler):
70
71
  Args:
71
72
  dependencies: HandlerDependencies instance
72
73
  chat_llms: Dictionary mapping model names to LLM instances
74
+ playground_chat_llms: Optional model map for /chat/stream/playground
73
75
  search_handler: Optional SearchHandler instance (created if not provided)
74
76
  add_handler: Optional AddHandler instance (created if not provided)
75
77
  online_bot: Optional DingDing bot function for notifications
@@ -89,6 +91,7 @@ class ChatHandler(BaseHandler):
89
91
  add_handler = AddHandler(dependencies)
90
92
 
91
93
  self.chat_llms = chat_llms
94
+ self.playground_chat_llms = playground_chat_llms or chat_llms
92
95
  self.search_handler = search_handler
93
96
  self.add_handler = add_handler
94
97
  self.online_bot = online_bot
@@ -630,10 +633,11 @@ class ChatHandler(BaseHandler):
630
633
 
631
634
  # Step 3: Generate streaming response from LLM
632
635
  try:
633
- model = next(iter(self.chat_llms.keys()))
636
+ chat_llms = self.playground_chat_llms
637
+ model = next(iter(chat_llms.keys()))
634
638
  self.logger.info(f"[PLAYGROUND CHAT] Chat Playground Stream Model: {model}")
635
639
  start = time.time()
636
- response_stream = self.chat_llms[model].generate_stream(
640
+ response_stream = chat_llms[model].generate_stream(
637
641
  current_messages, model_name_or_path=model
638
642
  )
639
643
 
@@ -157,6 +157,7 @@ def init_server() -> dict[str, Any]:
157
157
  graph_db_config = build_graph_db_config()
158
158
  llm_config = build_llm_config()
159
159
  chat_llm_config = build_chat_llm_config()
160
+ playground_chat_llm_config = build_chat_llm_config("PLAYGROUND_CHAT_MODEL_LIST")
160
161
  embedder_config = build_embedder_config()
161
162
  nli_client_config = build_nli_client_config()
162
163
  mem_reader_config = build_mem_reader_config()
@@ -174,6 +175,11 @@ def init_server() -> dict[str, Any]:
174
175
  if os.getenv("ENABLE_CHAT_API", "false") == "true"
175
176
  else None
176
177
  )
178
+ playground_chat_llms = (
179
+ _init_chat_llms(playground_chat_llm_config)
180
+ if os.getenv("ENABLE_CHAT_API", "false") == "true" and playground_chat_llm_config
181
+ else chat_llms
182
+ )
177
183
  embedder = EmbedderFactory.from_config(embedder_config)
178
184
 
179
185
  plugin_context = build_plugin_context(
@@ -317,6 +323,7 @@ def init_server() -> dict[str, Any]:
317
323
  "mem_reader": mem_reader,
318
324
  "llm": llm,
319
325
  "chat_llms": chat_llms,
326
+ "playground_chat_llms": playground_chat_llms,
320
327
  "embedder": embedder,
321
328
  "reranker": reranker,
322
329
  "internet_retriever": internet_retriever,
@@ -85,14 +85,17 @@ def build_llm_config() -> dict[str, Any]:
85
85
  )
86
86
 
87
87
 
88
- def build_chat_llm_config() -> list[dict[str, Any]]:
88
+ def build_chat_llm_config(env_name: str = "CHAT_MODEL_LIST") -> list[dict[str, Any]]:
89
89
  """
90
90
  Build chat LLM configuration.
91
91
 
92
92
  Returns:
93
93
  Validated chat LLM configuration dictionary
94
+ Args:
95
+ env_name: Environment variable that contains the JSON chat model list.
96
+
94
97
  """
95
- configs = json.loads(os.getenv("CHAT_MODEL_LIST", "[]"))
98
+ configs = json.loads(os.getenv(env_name, "[]"))
96
99
  return [
97
100
  {
98
101
  "config_class": LLMConfigFactory.model_validate(
@@ -7,12 +7,15 @@ using dependency injection for better modularity and testability.
7
7
 
8
8
  import copy
9
9
  import math
10
+ import os
10
11
 
12
+ from contextlib import suppress
11
13
  from typing import Any
12
14
 
13
15
  from memos.api.handlers.base_handler import BaseHandler, HandlerDependencies
14
16
  from memos.api.handlers.formatters_handler import rerank_knowledge_mem
15
17
  from memos.api.product_models import APISearchRequest, SearchResponse
18
+ from memos.dream.contextualization import CONTEXT_MEMORY_TYPE
16
19
  from memos.log import get_logger
17
20
  from memos.memories.textual.tree_text_memory.retrieve.retrieve_utils import (
18
21
  cosine_similarity_matrix,
@@ -20,11 +23,26 @@ from memos.memories.textual.tree_text_memory.retrieve.retrieve_utils import (
20
23
  from memos.multi_mem_cube.composite_cube import CompositeCubeView
21
24
  from memos.multi_mem_cube.single_cube import SingleCubeView
22
25
  from memos.multi_mem_cube.views import MemCubeView
23
- from memos.plugins.hooks import hookable
26
+ from memos.plugins.hook_defs import H
27
+ from memos.plugins.hooks import hookable, trigger_hook
24
28
 
25
29
 
26
30
  logger = get_logger(__name__)
27
31
 
32
+ _ENV_CONTEXT_RECALL = "MEMOS_DREAM_CONTEXT_RECALL"
33
+ _ENV_CONTEXT_RECALL_TOP_K = "MEMOS_DREAM_CONTEXT_RECALL_TOP_K"
34
+ _DEFAULT_CONTEXT_RECALL_TOP_K = 2
35
+
36
+
37
+ def _env_enabled(name: str, default: str = "off") -> bool:
38
+ return os.getenv(name, default).strip().lower() not in {"0", "false", "no", "off"}
39
+
40
+
41
+ def _env_int(name: str, default: int) -> int:
42
+ with suppress(TypeError, ValueError):
43
+ return int(os.getenv(name, str(default)))
44
+ return default
45
+
28
46
 
29
47
  class SearchHandler(BaseHandler):
30
48
  """
@@ -71,6 +89,14 @@ class SearchHandler(BaseHandler):
71
89
  # Search and deduplicate
72
90
  cube_view = self._build_cube_view(search_req_local)
73
91
  results = cube_view.search_memories(search_req_local)
92
+ hooked_results = trigger_hook(
93
+ H.SEARCH_MEMORY_RESULTS,
94
+ handler=self,
95
+ search_req=search_req_local,
96
+ results=results,
97
+ )
98
+ if hooked_results is not None:
99
+ results = hooked_results
74
100
  if not search_req_local.relativity:
75
101
  search_req_local.relativity = 0
76
102
  self.logger.info(f"[SearchHandler] Relativity filter: {search_req_local.relativity}")
@@ -102,6 +128,105 @@ class SearchHandler(BaseHandler):
102
128
  data=results,
103
129
  )
104
130
 
131
+ def _merge_context_recall(
132
+ self, *, results: dict[str, Any], search_req: APISearchRequest
133
+ ) -> None:
134
+ if not _env_enabled(_ENV_CONTEXT_RECALL, "off"):
135
+ return
136
+
137
+ top_k = max(0, _env_int(_ENV_CONTEXT_RECALL_TOP_K, _DEFAULT_CONTEXT_RECALL_TOP_K))
138
+ if top_k <= 0:
139
+ return
140
+
141
+ context_buckets = self._recall_context_buckets(search_req=search_req, top_k=top_k)
142
+ if not context_buckets:
143
+ return
144
+
145
+ results.setdefault("text_mem", []).extend(context_buckets)
146
+
147
+ def _recall_context_buckets(
148
+ self, *, search_req: APISearchRequest, top_k: int
149
+ ) -> list[dict[str, Any]]:
150
+ graph_db = self.graph_db or getattr(self.searcher, "graph_store", None)
151
+ embedder = self.embedder or getattr(self.searcher, "embedder", None)
152
+ if graph_db is None or embedder is None:
153
+ self.logger.info(
154
+ "[SearchHandler] Context recall skipped: graph_db or embedder unavailable."
155
+ )
156
+ return []
157
+
158
+ try:
159
+ query_embedding = embedder.embed([search_req.query])[0]
160
+ except Exception:
161
+ self.logger.warning("[SearchHandler] Context recall embedding failed.", exc_info=True)
162
+ return []
163
+
164
+ buckets: list[dict[str, Any]] = []
165
+ for cube_id in self._resolve_cube_ids(search_req):
166
+ try:
167
+ hits = graph_db.search_by_embedding(
168
+ query_embedding,
169
+ top_k=top_k,
170
+ scope=CONTEXT_MEMORY_TYPE,
171
+ status="activated",
172
+ user_name=cube_id,
173
+ return_fields=[
174
+ "memory",
175
+ "key",
176
+ "created_at",
177
+ "updated_at",
178
+ "source",
179
+ "internal_info",
180
+ ],
181
+ )
182
+ except Exception:
183
+ self.logger.warning(
184
+ "[SearchHandler] Context recall search failed for cube=%s.",
185
+ cube_id,
186
+ exc_info=True,
187
+ )
188
+ continue
189
+
190
+ memories = [self._format_context_hit(hit) for hit in hits or [] if hit.get("memory")]
191
+ if not memories:
192
+ continue
193
+ buckets.append(
194
+ {
195
+ "cube_id": cube_id,
196
+ "memories": memories,
197
+ "total_nodes": len(memories),
198
+ }
199
+ )
200
+ return buckets
201
+
202
+ @staticmethod
203
+ def _format_context_hit(hit: dict[str, Any]) -> dict[str, Any]:
204
+ context_id = str(hit.get("id", ""))
205
+ score = float(hit.get("score", 0.0) or 0.0)
206
+ metadata = {
207
+ "id": context_id,
208
+ "memory": hit.get("memory", ""),
209
+ "memory_type": CONTEXT_MEMORY_TYPE,
210
+ "source": hit.get("source") or "dream",
211
+ "key": hit.get("key", ""),
212
+ "relativity": score,
213
+ "score": score,
214
+ "embedding": [],
215
+ "sources": [],
216
+ "usage": [],
217
+ "ref_id": f"[{context_id.split('-')[0]}]" if context_id else "[context]",
218
+ }
219
+ for field in ("created_at", "updated_at", "internal_info"):
220
+ if hit.get(field) is not None:
221
+ metadata[field] = hit[field]
222
+
223
+ return {
224
+ "id": context_id,
225
+ "memory": hit.get("memory", ""),
226
+ "metadata": metadata,
227
+ "ref_id": metadata["ref_id"],
228
+ }
229
+
105
230
  @staticmethod
106
231
  def _apply_relativity_threshold(results: dict[str, Any], relativity: float) -> dict[str, Any]:
107
232
  if relativity <= 0:
@@ -76,10 +76,11 @@ search_handler = SearchHandler(dependencies)
76
76
  add_handler = AddHandler(dependencies)
77
77
  chat_handler = (
78
78
  ChatHandler(
79
- dependencies,
80
- components["chat_llms"],
81
- search_handler,
82
- add_handler,
79
+ dependencies=dependencies,
80
+ chat_llms=components["chat_llms"],
81
+ playground_chat_llms=components.get("playground_chat_llms"),
82
+ search_handler=search_handler,
83
+ add_handler=add_handler,
83
84
  online_bot=components.get("online_bot"),
84
85
  )
85
86
  if os.getenv("ENABLE_CHAT_API", "false") == "true"