MemoryOS 2.0.15__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 (384) hide show
  1. {memoryos-2.0.15 → memoryos-2.0.17}/PKG-INFO +2 -2
  2. {memoryos-2.0.15 → memoryos-2.0.17}/README.md +1 -1
  3. {memoryos-2.0.15 → memoryos-2.0.17}/pyproject.toml +4 -1
  4. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/__init__.py +1 -1
  5. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/chat_handler.py +6 -2
  6. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/component_init.py +7 -0
  7. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/config_builders.py +5 -2
  8. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/search_handler.py +127 -0
  9. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/product_models.py +19 -0
  10. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/routers/server_router.py +5 -4
  11. memoryos-2.0.17/src/memos/dream/contextualization.py +765 -0
  12. memoryos-2.0.17/src/memos/dream/enrichment.py +284 -0
  13. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/pipeline/__init__.py +2 -0
  14. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/pipeline/base.py +17 -0
  15. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/pipeline/diary.py +65 -3
  16. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/pipeline/persistence.py +1 -0
  17. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/pipeline/recall.py +2 -1
  18. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/plugin.py +15 -0
  19. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/prompts/__init__.py +4 -0
  20. memoryos-2.0.17/src/memos/dream/prompts/context_binding_prompt.py +31 -0
  21. memoryos-2.0.17/src/memos/dream/prompts/context_summary_prompt.py +27 -0
  22. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/routers/diary_router.py +2 -1
  23. memoryos-2.0.17/src/memos/dream/search.py +139 -0
  24. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/types.py +8 -0
  25. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/graph_dbs/polardb.py +6 -1
  26. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/multi_modal_struct.py +25 -3
  27. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/image_parser.py +37 -4
  28. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_skill_memory/process_skill_memory.py +21 -38
  29. memoryos-2.0.17/src/memos/mem_reader/read_skill_memory/upload_skill_memory.py +312 -0
  30. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/base_mixins/queue_ops.py +5 -0
  31. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/base_mixins/web_log_ops.py +4 -0
  32. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/scheduler_logger.py +2 -0
  33. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/message_schemas.py +21 -1
  34. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/dispatcher.py +5 -3
  35. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/add_handler.py +8 -8
  36. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/feedback_handler.py +6 -5
  37. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/mem_read_handler.py +9 -5
  38. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/redis_queue.py +42 -3
  39. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/task_queue.py +4 -1
  40. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/misc_utils.py +6 -31
  41. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/webservice_modules/rabbitmq_service.py +62 -30
  42. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/item.py +9 -0
  43. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/retrieve_utils.py +129 -2
  44. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/searcher.py +107 -12
  45. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/multi_mem_cube/single_cube.py +8 -2
  46. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/plugins/hook_defs.py +21 -0
  47. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/plugins/manager.py +19 -0
  48. memoryos-2.0.15/src/memos/api/README_api.md +0 -13
  49. memoryos-2.0.15/src/memos/dream/README.md +0 -246
  50. memoryos-2.0.15/src/memos/dream/README_ZH.md +0 -243
  51. {memoryos-2.0.15 → memoryos-2.0.17}/LICENSE +0 -0
  52. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/__init__.py +0 -0
  53. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/client.py +0 -0
  54. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/config.py +0 -0
  55. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/context/dependencies.py +0 -0
  56. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/exceptions.py +0 -0
  57. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/__init__.py +0 -0
  58. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/add_handler.py +0 -0
  59. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/base_handler.py +0 -0
  60. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/feedback_handler.py +0 -0
  61. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/formatters_handler.py +0 -0
  62. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/memory_handler.py +0 -0
  63. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/scheduler_handler.py +0 -0
  64. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/handlers/suggestion_handler.py +0 -0
  65. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/mcp_serve.py +0 -0
  66. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/middleware/__init__.py +0 -0
  67. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/middleware/auth.py +0 -0
  68. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/middleware/rate_limit.py +0 -0
  69. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/middleware/request_context.py +0 -0
  70. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/routers/__init__.py +0 -0
  71. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/routers/admin_router.py +0 -0
  72. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/server_api.py +0 -0
  73. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/server_api_ext.py +0 -0
  74. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/utils/__init__.py +0 -0
  75. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/api/utils/api_keys.py +0 -0
  76. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/chunkers/__init__.py +0 -0
  77. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/chunkers/base.py +0 -0
  78. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/chunkers/charactertext_chunker.py +0 -0
  79. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/chunkers/factory.py +0 -0
  80. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/chunkers/markdown_chunker.py +0 -0
  81. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/chunkers/sentence_chunker.py +0 -0
  82. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/chunkers/simple_chunker.py +0 -0
  83. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/cli.py +0 -0
  84. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/__init__.py +0 -0
  85. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/base.py +0 -0
  86. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/chunker.py +0 -0
  87. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/embedder.py +0 -0
  88. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/graph_db.py +0 -0
  89. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/internet_retriever.py +0 -0
  90. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/llm.py +0 -0
  91. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/mem_agent.py +0 -0
  92. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/mem_chat.py +0 -0
  93. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/mem_cube.py +0 -0
  94. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/mem_os.py +0 -0
  95. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/mem_reader.py +0 -0
  96. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/mem_scheduler.py +0 -0
  97. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/mem_user.py +0 -0
  98. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/memory.py +0 -0
  99. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/parser.py +0 -0
  100. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/reranker.py +0 -0
  101. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/utils.py +0 -0
  102. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/configs/vec_db.py +0 -0
  103. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/context/context.py +0 -0
  104. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dependency.py +0 -0
  105. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/deprecation.py +0 -0
  106. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/__init__.py +0 -0
  107. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/hook_defs.py +0 -0
  108. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/hooks.py +0 -0
  109. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/maintenance.py +0 -0
  110. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/pipeline/motive.py +0 -0
  111. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/pipeline/reasoning.py +0 -0
  112. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/prompts/motive_prompt.py +0 -0
  113. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/prompts/reasoning_prompt.py +0 -0
  114. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/routers/__init__.py +0 -0
  115. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/routers/trigger_router.py +0 -0
  116. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/routes.py +0 -0
  117. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/dream/signal_store.py +0 -0
  118. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/embedders/__init__.py +0 -0
  119. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/embedders/ark.py +0 -0
  120. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/embedders/base.py +0 -0
  121. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/embedders/factory.py +0 -0
  122. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/embedders/ollama.py +0 -0
  123. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/embedders/sentence_transformer.py +0 -0
  124. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/embedders/universal_api.py +0 -0
  125. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/exceptions.py +0 -0
  126. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/extras/__init__.py +0 -0
  127. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/graph_dbs/__init__.py +0 -0
  128. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/graph_dbs/base.py +0 -0
  129. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/graph_dbs/factory.py +0 -0
  130. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/graph_dbs/item.py +0 -0
  131. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/graph_dbs/neo4j.py +0 -0
  132. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/graph_dbs/neo4j_community.py +0 -0
  133. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/graph_dbs/postgres.py +0 -0
  134. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/hello_world.py +0 -0
  135. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/__init__.py +0 -0
  136. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/base.py +0 -0
  137. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/deepseek.py +0 -0
  138. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/factory.py +0 -0
  139. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/hf.py +0 -0
  140. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/hf_singleton.py +0 -0
  141. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/minimax.py +0 -0
  142. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/ollama.py +0 -0
  143. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/openai.py +0 -0
  144. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/openai_new.py +0 -0
  145. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/qwen.py +0 -0
  146. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/utils.py +0 -0
  147. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/llms/vllm.py +0 -0
  148. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/log.py +0 -0
  149. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_agent/base.py +0 -0
  150. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_agent/deepsearch_agent.py +0 -0
  151. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_agent/factory.py +0 -0
  152. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_chat/__init__.py +0 -0
  153. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_chat/base.py +0 -0
  154. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_chat/factory.py +0 -0
  155. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_chat/simple.py +0 -0
  156. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_cube/__init__.py +0 -0
  157. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_cube/base.py +0 -0
  158. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_cube/general.py +0 -0
  159. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_cube/navie.py +0 -0
  160. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_cube/utils.py +0 -0
  161. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_feedback/base.py +0 -0
  162. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_feedback/feedback.py +0 -0
  163. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_feedback/simple_feedback.py +0 -0
  164. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_feedback/utils.py +0 -0
  165. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_os/core.py +0 -0
  166. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_os/main.py +0 -0
  167. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_os/utils/default_config.py +0 -0
  168. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_os/utils/format_utils.py +0 -0
  169. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_os/utils/reference_utils.py +0 -0
  170. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/__init__.py +0 -0
  171. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/base.py +0 -0
  172. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/factory.py +0 -0
  173. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/memory.py +0 -0
  174. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/__init__.py +0 -0
  175. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/assistant_parser.py +0 -0
  176. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/base.py +0 -0
  177. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/file_content_parser.py +0 -0
  178. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/multi_modal_parser.py +0 -0
  179. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/string_parser.py +0 -0
  180. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/system_parser.py +0 -0
  181. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/text_content_parser.py +0 -0
  182. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/tool_parser.py +0 -0
  183. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/user_parser.py +0 -0
  184. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_multi_modal/utils.py +0 -0
  185. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/read_pref_memory/process_preference_memory.py +0 -0
  186. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/simple_struct.py +0 -0
  187. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/strategy_struct.py +0 -0
  188. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_reader/utils.py +0 -0
  189. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/__init__.py +0 -0
  190. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/__init__.py +0 -0
  191. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/api_analyzer.py +0 -0
  192. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/eval_analyzer.py +0 -0
  193. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/mos_for_test_scheduler.py +0 -0
  194. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/analyzer/scheduler_for_eval.py +0 -0
  195. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/base_mixins/__init__.py +0 -0
  196. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/base_mixins/memory_ops.py +0 -0
  197. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/base_scheduler.py +0 -0
  198. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/__init__.py +0 -0
  199. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/api_misc.py +0 -0
  200. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/base.py +0 -0
  201. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/init_components_for_scheduler.py +0 -0
  202. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/misc.py +0 -0
  203. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/general_modules/task_threads.py +0 -0
  204. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/general_scheduler.py +0 -0
  205. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/__init__.py +0 -0
  206. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/activation_memory_manager.py +0 -0
  207. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/enhancement_pipeline.py +0 -0
  208. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/filter_pipeline.py +0 -0
  209. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/memory_filter.py +0 -0
  210. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/post_processor.py +0 -0
  211. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/rerank_pipeline.py +0 -0
  212. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/retriever.py +0 -0
  213. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/search_pipeline.py +0 -0
  214. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/memory_manage_modules/search_service.py +0 -0
  215. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/monitors/__init__.py +0 -0
  216. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/monitors/dispatcher_monitor.py +0 -0
  217. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/monitors/general_monitor.py +0 -0
  218. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/monitors/task_schedule_monitor.py +0 -0
  219. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/optimized_scheduler.py +0 -0
  220. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/__init__.py +0 -0
  221. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/api_redis_model.py +0 -0
  222. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/base_model.py +0 -0
  223. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/monitor_models.py +0 -0
  224. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/orm_modules/redis_model.py +0 -0
  225. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/scheduler_factory.py +0 -0
  226. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/__init__.py +0 -0
  227. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/analyzer_schemas.py +0 -0
  228. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/api_schemas.py +0 -0
  229. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/general_schemas.py +0 -0
  230. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/monitor_schemas.py +0 -0
  231. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/schemas/task_schemas.py +0 -0
  232. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/__init__.py +0 -0
  233. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/base_handler.py +0 -0
  234. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/context.py +0 -0
  235. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/__init__.py +0 -0
  236. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/answer_handler.py +0 -0
  237. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/mem_dream_handler.py +0 -0
  238. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/mem_reorganize_handler.py +0 -0
  239. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/memory_update_handler.py +0 -0
  240. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/pref_add_handler.py +0 -0
  241. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/handlers/query_handler.py +0 -0
  242. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/local_queue.py +0 -0
  243. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/orchestrator.py +0 -0
  244. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/task_schedule_modules/registry.py +0 -0
  245. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/__init__.py +0 -0
  246. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/api_utils.py +0 -0
  247. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/config_utils.py +0 -0
  248. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/db_utils.py +0 -0
  249. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/filter_utils.py +0 -0
  250. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/metrics.py +0 -0
  251. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/monitor_event_utils.py +0 -0
  252. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/utils/status_tracker.py +0 -0
  253. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/webservice_modules/__init__.py +0 -0
  254. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_scheduler/webservice_modules/redis_service.py +0 -0
  255. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_user/factory.py +0 -0
  256. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_user/mysql_persistent_user_manager.py +0 -0
  257. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_user/mysql_user_manager.py +0 -0
  258. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_user/persistent_factory.py +0 -0
  259. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_user/persistent_user_manager.py +0 -0
  260. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_user/redis_persistent_user_manager.py +0 -0
  261. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/mem_user/user_manager.py +0 -0
  262. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/__init__.py +0 -0
  263. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/activation/__init__.py +0 -0
  264. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/activation/base.py +0 -0
  265. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/activation/item.py +0 -0
  266. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/activation/kv.py +0 -0
  267. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/activation/vllmkv.py +0 -0
  268. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/base.py +0 -0
  269. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/factory.py +0 -0
  270. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/parametric/__init__.py +0 -0
  271. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/parametric/base.py +0 -0
  272. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/parametric/item.py +0 -0
  273. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/parametric/lora.py +0 -0
  274. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/__init__.py +0 -0
  275. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/base.py +0 -0
  276. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/general.py +0 -0
  277. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/naive.py +0 -0
  278. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/__init__.py +0 -0
  279. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/adder.py +0 -0
  280. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/config.py +0 -0
  281. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/extractor.py +0 -0
  282. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/factory.py +0 -0
  283. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/retrievers.py +0 -0
  284. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/spliter.py +0 -0
  285. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/prefer_text_memory/utils.py +0 -0
  286. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/preference.py +0 -0
  287. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/simple_preference.py +0 -0
  288. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/simple_tree.py +0 -0
  289. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree.py +0 -0
  290. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/__init__.py +0 -0
  291. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/__init__.py +0 -0
  292. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/handler.py +0 -0
  293. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/manager.py +0 -0
  294. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/relation_reason_detector.py +0 -0
  295. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/organize/reorganizer.py +0 -0
  296. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/__init__.py +0 -0
  297. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/advanced_searcher.py +0 -0
  298. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/bm25_util.py +0 -0
  299. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/bochasearch.py +0 -0
  300. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever.py +0 -0
  301. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/internet_retriever_factory.py +0 -0
  302. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/reasoner.py +0 -0
  303. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/recall.py +0 -0
  304. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/reranker.py +0 -0
  305. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/retrieval_mid_structs.py +0 -0
  306. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/task_goal_parser.py +0 -0
  307. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/tavilysearch.py +0 -0
  308. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/utils.py +0 -0
  309. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memories/textual/tree_text_memory/retrieve/xinyusearch.py +0 -0
  310. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memos_tools/dinding_report_bot.py +0 -0
  311. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memos_tools/lockfree_dict.py +0 -0
  312. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memos_tools/notification_service.py +0 -0
  313. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memos_tools/notification_utils.py +0 -0
  314. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memos_tools/singleton.py +0 -0
  315. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memos_tools/thread_safe_dict.py +0 -0
  316. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/memos_tools/thread_safe_dict_segment.py +0 -0
  317. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/multi_mem_cube/__init__.py +0 -0
  318. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/multi_mem_cube/composite_cube.py +0 -0
  319. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/multi_mem_cube/views.py +0 -0
  320. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/parsers/__init__.py +0 -0
  321. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/parsers/base.py +0 -0
  322. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/parsers/factory.py +0 -0
  323. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/parsers/markitdown.py +0 -0
  324. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/plugins/__init__.py +0 -0
  325. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/plugins/base.py +0 -0
  326. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/plugins/component_bootstrap.py +0 -0
  327. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/plugins/hooks.py +0 -0
  328. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/__init__.py +0 -0
  329. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/base.py +0 -0
  330. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/concat.py +0 -0
  331. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/cosine_local.py +0 -0
  332. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/factory.py +0 -0
  333. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/http_bge.py +0 -0
  334. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/http_bge_strategy.py +0 -0
  335. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/noop.py +0 -0
  336. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/strategies/__init__.py +0 -0
  337. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/strategies/base.py +0 -0
  338. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/strategies/concat_background.py +0 -0
  339. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/strategies/concat_docsource.py +0 -0
  340. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/strategies/dialogue_common.py +0 -0
  341. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/strategies/factory.py +0 -0
  342. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/strategies/single_turn.py +0 -0
  343. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/reranker/strategies/singleturn_outmem.py +0 -0
  344. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/search/__init__.py +0 -0
  345. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/search/search_service.py +0 -0
  346. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/settings.py +0 -0
  347. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/__init__.py +0 -0
  348. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/advanced_search_prompts.py +0 -0
  349. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/cloud_service_prompt.py +0 -0
  350. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/instruction_completion.py +0 -0
  351. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/mem_agent_prompts.py +0 -0
  352. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/mem_feedback_prompts.py +0 -0
  353. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/mem_reader_prompts.py +0 -0
  354. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/mem_reader_strategy_prompts.py +0 -0
  355. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/mem_scheduler_prompts.py +0 -0
  356. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/mem_search_prompts.py +0 -0
  357. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/mos_prompts.py +0 -0
  358. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/prefer_complete_prompt.py +0 -0
  359. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/skill_mem_prompt.py +0 -0
  360. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/tool_mem_prompts.py +0 -0
  361. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/templates/tree_reorganize_prompts.py +0 -0
  362. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/__init__.py +0 -0
  363. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/general_types.py +0 -0
  364. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/__init__.py +0 -0
  365. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_assistant_message_param.py +0 -0
  366. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_image_param.py +0 -0
  367. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_input_audio_param.py +0 -0
  368. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_param.py +0 -0
  369. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_refusal_param.py +0 -0
  370. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_content_part_text_param.py +0 -0
  371. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_message_custom_tool_call_param.py +0 -0
  372. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_message_function_tool_call_param.py +0 -0
  373. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_message_param.py +0 -0
  374. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_message_tool_call_union_param.py +0 -0
  375. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_system_message_param.py +0 -0
  376. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_tool_message_param.py +0 -0
  377. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/types/openai_chat_completion_types/chat_completion_user_message_param.py +0 -0
  378. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/utils.py +0 -0
  379. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/vec_dbs/__init__.py +0 -0
  380. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/vec_dbs/base.py +0 -0
  381. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/vec_dbs/factory.py +0 -0
  382. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/vec_dbs/item.py +0 -0
  383. {memoryos-2.0.15 → memoryos-2.0.17}/src/memos/vec_dbs/milvus.py +0 -0
  384. {memoryos-2.0.15 → 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.15
3
+ Version: 2.0.17
4
4
  Summary: Intelligence Begins with Memory
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -131,7 +131,7 @@ Your lobsters and Hermes Agents now have **the best** memory system — choose *
131
131
 
132
132
  | 🔌 Plugin | <div align="center"> 💡 Core Features </div> | 🧩 Resources |
133
133
  | :----: | :--- | :---: |
134
- | 🧠 [**memos-local-plugin 2.0**](https://github.com/hijzy/MemOS/tree/main/apps/memos-local-plugin) | <ul><li>One local-first memory core for **Hermes Agent** and **OpenClaw**.</li><li>Self-evolving memory: L1 trace, L2 policy, L3 world model,<br>and crystallized Skills driven by feedback.</li></ul> | 🐙 [GitHub](https://github.com/hijzy/MemOS/tree/main/apps/memos-local-plugin) · 📦 [NPM](https://www.npmjs.com/package/@memtensor/memos-local-plugin) |
134
+ | 🧠 [**memos-local-plugin 2.0**](https://github.com/hijzy/MemOS/tree/main/apps/memos-local-plugin) | <ul><li>One local-first memory core for **Hermes Agent** and **OpenClaw**.</li><li>Self-evolving memory: L1 trace, L2 policy, L3 world model,<br>and crystallized Skills driven by feedback.</li></ul> | 🌐 [Website](https://memos-claw.openmem.net/) · 📖 [Docs](https://memos-docs.openmem.net/cn/openclaw/local_plugin) · 🐙 [GitHub](https://github.com/hijzy/MemOS/tree/main/apps/memos-local-plugin) · 📦 [NPM](https://www.npmjs.com/package/@memtensor/memos-local-plugin) |
135
135
  | ☁️ [**OpenClaw Cloud Plugin**](https://x.com/MemOS_dev/status/2019254160919769171?s=20) | <ul><li>[Reduces token usage by 72%.](https://x.com/MemOS_dev/status/2020854044583924111)</li><li>[Multi-agent memory sharing by `user_id`.](https://x.com/MemOS_dev/status/2020538135487062094)</li></ul> | 🖥️ [MemOS Dashboard](https://memos-dashboard.openmem.net/login/) · 📖 [Full Tutorial](https://memos-docs.openmem.net/openclaw/guide#_4-update-plugin) |
136
136
 
137
137
  </div>
@@ -47,7 +47,7 @@ Your lobsters and Hermes Agents now have **the best** memory system — choose *
47
47
 
48
48
  | 🔌 Plugin | <div align="center"> 💡 Core Features </div> | 🧩 Resources |
49
49
  | :----: | :--- | :---: |
50
- | 🧠 [**memos-local-plugin 2.0**](https://github.com/hijzy/MemOS/tree/main/apps/memos-local-plugin) | <ul><li>One local-first memory core for **Hermes Agent** and **OpenClaw**.</li><li>Self-evolving memory: L1 trace, L2 policy, L3 world model,<br>and crystallized Skills driven by feedback.</li></ul> | 🐙 [GitHub](https://github.com/hijzy/MemOS/tree/main/apps/memos-local-plugin) · 📦 [NPM](https://www.npmjs.com/package/@memtensor/memos-local-plugin) |
50
+ | 🧠 [**memos-local-plugin 2.0**](https://github.com/hijzy/MemOS/tree/main/apps/memos-local-plugin) | <ul><li>One local-first memory core for **Hermes Agent** and **OpenClaw**.</li><li>Self-evolving memory: L1 trace, L2 policy, L3 world model,<br>and crystallized Skills driven by feedback.</li></ul> | 🌐 [Website](https://memos-claw.openmem.net/) · 📖 [Docs](https://memos-docs.openmem.net/cn/openclaw/local_plugin) · 🐙 [GitHub](https://github.com/hijzy/MemOS/tree/main/apps/memos-local-plugin) · 📦 [NPM](https://www.npmjs.com/package/@memtensor/memos-local-plugin) |
51
51
  | ☁️ [**OpenClaw Cloud Plugin**](https://x.com/MemOS_dev/status/2019254160919769171?s=20) | <ul><li>[Reduces token usage by 72%.](https://x.com/MemOS_dev/status/2020854044583924111)</li><li>[Multi-agent memory sharing by `user_id`.](https://x.com/MemOS_dev/status/2020538135487062094)</li></ul> | 🖥️ [MemOS Dashboard](https://memos-dashboard.openmem.net/login/) · 📖 [Full Tutorial](https://memos-docs.openmem.net/openclaw/guide#_4-update-plugin) |
52
52
 
53
53
  </div>
@@ -4,7 +4,7 @@
4
4
  ##############################################################################
5
5
 
6
6
  name = "MemoryOS"
7
- version = "2.0.15"
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.15"
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,10 +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
26
+ from memos.plugins.hook_defs import H
27
+ from memos.plugins.hooks import hookable, trigger_hook
23
28
 
24
29
 
25
30
  logger = get_logger(__name__)
26
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
+
27
46
 
28
47
  class SearchHandler(BaseHandler):
29
48
  """
@@ -44,6 +63,7 @@ class SearchHandler(BaseHandler):
44
63
  "naive_mem_cube", "mem_scheduler", "searcher", "deepsearch_agent"
45
64
  )
46
65
 
66
+ @hookable("search")
47
67
  def handle_search_memories(self, search_req: APISearchRequest) -> SearchResponse:
48
68
  """
49
69
  Main handler for search memories endpoint.
@@ -69,6 +89,14 @@ class SearchHandler(BaseHandler):
69
89
  # Search and deduplicate
70
90
  cube_view = self._build_cube_view(search_req_local)
71
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
72
100
  if not search_req_local.relativity:
73
101
  search_req_local.relativity = 0
74
102
  self.logger.info(f"[SearchHandler] Relativity filter: {search_req_local.relativity}")
@@ -100,6 +128,105 @@ class SearchHandler(BaseHandler):
100
128
  data=results,
101
129
  )
102
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
+
103
230
  @staticmethod
104
231
  def _apply_relativity_threshold(results: dict[str, Any], relativity: float) -> dict[str, Any]:
105
232
  if relativity <= 0:
@@ -438,6 +438,14 @@ class APISearchRequest(BaseRequest):
438
438
  )
439
439
 
440
440
  # ==== Context ====
441
+ reference_time: str | None = Field(
442
+ None,
443
+ description=(
444
+ "Optional reference time for time-sensitive search parsing. "
445
+ "If omitted, search uses the current server time."
446
+ ),
447
+ )
448
+
441
449
  chat_history: MessageList | None = Field(
442
450
  None,
443
451
  description=(
@@ -608,6 +616,17 @@ class APIADDRequest(BaseRequest):
608
616
  description=("Whether this request represents user feedback. Default: False."),
609
617
  )
610
618
 
619
+ # ==== Upload skill flag ====
620
+ is_upload_skill: bool = Field(
621
+ False,
622
+ description=(
623
+ "Whether this request is an upload skill request. "
624
+ "When True, the messages field should contain file items "
625
+ "with zip file download URLs for pre-built skill packages. "
626
+ "Default: False."
627
+ ),
628
+ )
629
+
611
630
  # ==== Backward compatibility fields (will delete later) ====
612
631
  mem_cube_id: str | None = Field(
613
632
  None,
@@ -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"