cognimemo-client 0.9.2__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 (221) hide show
  1. cognimemo_client-0.9.2/.gitignore +42 -0
  2. cognimemo_client-0.9.2/.openapi-generator/FILES +194 -0
  3. cognimemo_client-0.9.2/.openapi-generator/VERSION +1 -0
  4. cognimemo_client-0.9.2/.openapi-generator-ignore +23 -0
  5. cognimemo_client-0.9.2/PKG-INFO +136 -0
  6. cognimemo_client-0.9.2/README.md +117 -0
  7. cognimemo_client-0.9.2/cognimemo_client/__init__.py +164 -0
  8. cognimemo_client-0.9.2/cognimemo_client/cognimemo_client.py +2257 -0
  9. cognimemo_client-0.9.2/cognimemo_client/py.typed +0 -0
  10. cognimemo_client-0.9.2/cognimemo_client_api/__init__.py +216 -0
  11. cognimemo_client-0.9.2/cognimemo_client_api/api/__init__.py +20 -0
  12. cognimemo_client-0.9.2/cognimemo_client_api/api/audit_api.py +1046 -0
  13. cognimemo_client-0.9.2/cognimemo_client_api/api/bank_templates_api.py +858 -0
  14. cognimemo_client-0.9.2/cognimemo_client_api/api/banks_api.py +4765 -0
  15. cognimemo_client-0.9.2/cognimemo_client_api/api/directives_api.py +1619 -0
  16. cognimemo_client-0.9.2/cognimemo_client_api/api/document_transfer_api.py +1236 -0
  17. cognimemo_client-0.9.2/cognimemo_client_api/api/documents_api.py +2215 -0
  18. cognimemo_client-0.9.2/cognimemo_client_api/api/entities_api.py +1254 -0
  19. cognimemo_client-0.9.2/cognimemo_client_api/api/files_api.py +361 -0
  20. cognimemo_client-0.9.2/cognimemo_client_api/api/knowledge_base_api.py +2434 -0
  21. cognimemo_client-0.9.2/cognimemo_client_api/api/llm_traces_api.py +834 -0
  22. cognimemo_client-0.9.2/cognimemo_client_api/api/memory_api.py +4536 -0
  23. cognimemo_client-0.9.2/cognimemo_client_api/api/mental_models_api.py +2811 -0
  24. cognimemo_client-0.9.2/cognimemo_client_api/api/monitoring_api.py +1263 -0
  25. cognimemo_client-0.9.2/cognimemo_client_api/api/operations_api.py +1595 -0
  26. cognimemo_client-0.9.2/cognimemo_client_api/api/spaces_api.py +1754 -0
  27. cognimemo_client-0.9.2/cognimemo_client_api/api/webhooks_api.py +1569 -0
  28. cognimemo_client-0.9.2/cognimemo_client_api/api_client.py +800 -0
  29. cognimemo_client-0.9.2/cognimemo_client_api/api_response.py +21 -0
  30. cognimemo_client-0.9.2/cognimemo_client_api/configuration.py +561 -0
  31. cognimemo_client-0.9.2/cognimemo_client_api/exceptions.py +199 -0
  32. cognimemo_client-0.9.2/cognimemo_client_api/models/__init__.py +184 -0
  33. cognimemo_client-0.9.2/cognimemo_client_api/models/add_background_request.py +89 -0
  34. cognimemo_client-0.9.2/cognimemo_client_api/models/async_operation_submit_response.py +89 -0
  35. cognimemo_client-0.9.2/cognimemo_client_api/models/audit_log_entry.py +135 -0
  36. cognimemo_client-0.9.2/cognimemo_client_api/models/audit_log_list_response.py +103 -0
  37. cognimemo_client-0.9.2/cognimemo_client_api/models/audit_log_stats_bucket.py +91 -0
  38. cognimemo_client-0.9.2/cognimemo_client_api/models/audit_log_stats_response.py +103 -0
  39. cognimemo_client-0.9.2/cognimemo_client_api/models/background_response.py +105 -0
  40. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_config_response.py +91 -0
  41. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_config_update.py +87 -0
  42. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_list_item.py +137 -0
  43. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_list_response.py +101 -0
  44. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_llm_health_response.py +97 -0
  45. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_profile_response.py +104 -0
  46. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_space_response.py +94 -0
  47. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_stats_response.py +127 -0
  48. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_template_config.py +416 -0
  49. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_template_directive.py +95 -0
  50. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_template_import_response.py +101 -0
  51. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_template_manifest.py +128 -0
  52. cognimemo_client-0.9.2/cognimemo_client_api/models/bank_template_mental_model.py +102 -0
  53. cognimemo_client-0.9.2/cognimemo_client_api/models/budget.py +38 -0
  54. cognimemo_client-0.9.2/cognimemo_client_api/models/cancel_operation_response.py +91 -0
  55. cognimemo_client-0.9.2/cognimemo_client_api/models/child_operation_status.py +110 -0
  56. cognimemo_client-0.9.2/cognimemo_client_api/models/chunk_data.py +93 -0
  57. cognimemo_client-0.9.2/cognimemo_client_api/models/chunk_include_options.py +87 -0
  58. cognimemo_client-0.9.2/cognimemo_client_api/models/chunk_response.py +97 -0
  59. cognimemo_client-0.9.2/cognimemo_client_api/models/clear_memory_observations_response.py +87 -0
  60. cognimemo_client-0.9.2/cognimemo_client_api/models/consolidation_request.py +92 -0
  61. cognimemo_client-0.9.2/cognimemo_client_api/models/consolidation_response.py +89 -0
  62. cognimemo_client-0.9.2/cognimemo_client_api/models/create_bank_request.py +216 -0
  63. cognimemo_client-0.9.2/cognimemo_client_api/models/create_directive_request.py +95 -0
  64. cognimemo_client-0.9.2/cognimemo_client_api/models/create_folder_request.py +94 -0
  65. cognimemo_client-0.9.2/cognimemo_client_api/models/create_knowledge_page_response.py +96 -0
  66. cognimemo_client-0.9.2/cognimemo_client_api/models/create_mental_model_request.py +107 -0
  67. cognimemo_client-0.9.2/cognimemo_client_api/models/create_mental_model_response.py +94 -0
  68. cognimemo_client-0.9.2/cognimemo_client_api/models/create_page_request.py +121 -0
  69. cognimemo_client-0.9.2/cognimemo_client_api/models/create_webhook_request.py +104 -0
  70. cognimemo_client-0.9.2/cognimemo_client_api/models/delete_document_response.py +93 -0
  71. cognimemo_client-0.9.2/cognimemo_client_api/models/delete_operation_response.py +91 -0
  72. cognimemo_client-0.9.2/cognimemo_client_api/models/delete_response.py +101 -0
  73. cognimemo_client-0.9.2/cognimemo_client_api/models/directive_list_response.py +101 -0
  74. cognimemo_client-0.9.2/cognimemo_client_api/models/directive_response.py +113 -0
  75. cognimemo_client-0.9.2/cognimemo_client_api/models/disposition_traits.py +92 -0
  76. cognimemo_client-0.9.2/cognimemo_client_api/models/document_export_submit_response.py +89 -0
  77. cognimemo_client-0.9.2/cognimemo_client_api/models/document_import_submit_response.py +89 -0
  78. cognimemo_client-0.9.2/cognimemo_client_api/models/document_response.py +143 -0
  79. cognimemo_client-0.9.2/cognimemo_client_api/models/dry_run_extract_request.py +168 -0
  80. cognimemo_client-0.9.2/cognimemo_client_api/models/dry_run_extraction_result.py +101 -0
  81. cognimemo_client-0.9.2/cognimemo_client_api/models/entity_detail_response.py +122 -0
  82. cognimemo_client-0.9.2/cognimemo_client_api/models/entity_graph_response.py +95 -0
  83. cognimemo_client-0.9.2/cognimemo_client_api/models/entity_include_options.py +87 -0
  84. cognimemo_client-0.9.2/cognimemo_client_api/models/entity_input.py +94 -0
  85. cognimemo_client-0.9.2/cognimemo_client_api/models/entity_list_item.py +112 -0
  86. cognimemo_client-0.9.2/cognimemo_client_api/models/entity_list_response.py +101 -0
  87. cognimemo_client-0.9.2/cognimemo_client_api/models/entity_observation_response.py +94 -0
  88. cognimemo_client-0.9.2/cognimemo_client_api/models/entity_state_response.py +99 -0
  89. cognimemo_client-0.9.2/cognimemo_client_api/models/extracted_fact.py +105 -0
  90. cognimemo_client-0.9.2/cognimemo_client_api/models/features_info.py +107 -0
  91. cognimemo_client-0.9.2/cognimemo_client_api/models/file_retain_response.py +87 -0
  92. cognimemo_client-0.9.2/cognimemo_client_api/models/graph_data_response.py +95 -0
  93. cognimemo_client-0.9.2/cognimemo_client_api/models/http_validation_error.py +95 -0
  94. cognimemo_client-0.9.2/cognimemo_client_api/models/include_options.py +118 -0
  95. cognimemo_client-0.9.2/cognimemo_client_api/models/knowledge_node.py +159 -0
  96. cognimemo_client-0.9.2/cognimemo_client_api/models/knowledge_page_bundle_file.py +89 -0
  97. cognimemo_client-0.9.2/cognimemo_client_api/models/knowledge_page_bundle_response.py +95 -0
  98. cognimemo_client-0.9.2/cognimemo_client_api/models/knowledge_page_response.py +116 -0
  99. cognimemo_client-0.9.2/cognimemo_client_api/models/knowledge_page_search_response.py +97 -0
  100. cognimemo_client-0.9.2/cognimemo_client_api/models/knowledge_page_search_result.py +107 -0
  101. cognimemo_client-0.9.2/cognimemo_client_api/models/knowledge_tree_response.py +95 -0
  102. cognimemo_client-0.9.2/cognimemo_client_api/models/label_group_input.py +130 -0
  103. cognimemo_client-0.9.2/cognimemo_client_api/models/label_group_output.py +130 -0
  104. cognimemo_client-0.9.2/cognimemo_client_api/models/label_value.py +89 -0
  105. cognimemo_client-0.9.2/cognimemo_client_api/models/list_chunks_response.py +101 -0
  106. cognimemo_client-0.9.2/cognimemo_client_api/models/list_documents_response.py +93 -0
  107. cognimemo_client-0.9.2/cognimemo_client_api/models/list_memory_units_response.py +93 -0
  108. cognimemo_client-0.9.2/cognimemo_client_api/models/list_tags_response.py +101 -0
  109. cognimemo_client-0.9.2/cognimemo_client_api/models/liveness_response.py +98 -0
  110. cognimemo_client-0.9.2/cognimemo_client_api/models/llm_call_trace.py +89 -0
  111. cognimemo_client-0.9.2/cognimemo_client_api/models/llm_operation_health.py +112 -0
  112. cognimemo_client-0.9.2/cognimemo_client_api/models/llm_request_entry.py +219 -0
  113. cognimemo_client-0.9.2/cognimemo_client_api/models/llm_request_list_response.py +103 -0
  114. cognimemo_client-0.9.2/cognimemo_client_api/models/llm_request_stats_bucket.py +97 -0
  115. cognimemo_client-0.9.2/cognimemo_client_api/models/llm_request_stats_response.py +103 -0
  116. cognimemo_client-0.9.2/cognimemo_client_api/models/llm_request_token_sums.py +93 -0
  117. cognimemo_client-0.9.2/cognimemo_client_api/models/map_field_input.py +125 -0
  118. cognimemo_client-0.9.2/cognimemo_client_api/models/map_field_output.py +125 -0
  119. cognimemo_client-0.9.2/cognimemo_client_api/models/memories_timeseries_response.py +103 -0
  120. cognimemo_client-0.9.2/cognimemo_client_api/models/memory_item.py +185 -0
  121. cognimemo_client-0.9.2/cognimemo_client_api/models/memory_timeseries_bucket.py +93 -0
  122. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_delta_operations.py +89 -0
  123. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_dry_run_refresh_result.py +201 -0
  124. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_fact_counts.py +89 -0
  125. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_list_response.py +101 -0
  126. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_refresh_scope.py +127 -0
  127. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_refresh_scope_tag_groups_inner.py +166 -0
  128. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_refresh_trace.py +185 -0
  129. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_refresh_window.py +102 -0
  130. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_response.py +160 -0
  131. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_retraction.py +98 -0
  132. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_trace_tool_call.py +122 -0
  133. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_trigger_input.py +203 -0
  134. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_trigger_input_tag_groups_inner.py +166 -0
  135. cognimemo_client-0.9.2/cognimemo_client_api/models/mental_model_trigger_output.py +203 -0
  136. cognimemo_client-0.9.2/cognimemo_client_api/models/min_scores.py +113 -0
  137. cognimemo_client-0.9.2/cognimemo_client_api/models/model_not.py +166 -0
  138. cognimemo_client-0.9.2/cognimemo_client_api/models/not1.py +166 -0
  139. cognimemo_client-0.9.2/cognimemo_client_api/models/observation_scope.py +89 -0
  140. cognimemo_client-0.9.2/cognimemo_client_api/models/observation_scopes.py +144 -0
  141. cognimemo_client-0.9.2/cognimemo_client_api/models/observation_scopes_response.py +95 -0
  142. cognimemo_client-0.9.2/cognimemo_client_api/models/operation_progress.py +110 -0
  143. cognimemo_client-0.9.2/cognimemo_client_api/models/operation_response.py +166 -0
  144. cognimemo_client-0.9.2/cognimemo_client_api/models/operation_status_response.py +196 -0
  145. cognimemo_client-0.9.2/cognimemo_client_api/models/operations_list_response.py +103 -0
  146. cognimemo_client-0.9.2/cognimemo_client_api/models/recall_request.py +172 -0
  147. cognimemo_client-0.9.2/cognimemo_client_api/models/recall_response.py +179 -0
  148. cognimemo_client-0.9.2/cognimemo_client_api/models/recall_result.py +177 -0
  149. cognimemo_client-0.9.2/cognimemo_client_api/models/recall_scores.py +108 -0
  150. cognimemo_client-0.9.2/cognimemo_client_api/models/recall_usage.py +93 -0
  151. cognimemo_client-0.9.2/cognimemo_client_api/models/recover_consolidation_response.py +87 -0
  152. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_based_on.py +115 -0
  153. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_directive.py +91 -0
  154. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_fact.py +122 -0
  155. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_include_options.py +98 -0
  156. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_llm_call.py +89 -0
  157. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_mental_model.py +96 -0
  158. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_request.py +175 -0
  159. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_response.py +127 -0
  160. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_tool_call.py +100 -0
  161. cognimemo_client-0.9.2/cognimemo_client_api/models/reflect_trace.py +105 -0
  162. cognimemo_client-0.9.2/cognimemo_client_api/models/refresh_mental_model_operation_details.py +123 -0
  163. cognimemo_client-0.9.2/cognimemo_client_api/models/reprocess_document_response.py +91 -0
  164. cognimemo_client-0.9.2/cognimemo_client_api/models/retain_request.py +111 -0
  165. cognimemo_client-0.9.2/cognimemo_client_api/models/retain_response.py +118 -0
  166. cognimemo_client-0.9.2/cognimemo_client_api/models/retry_operation_response.py +91 -0
  167. cognimemo_client-0.9.2/cognimemo_client_api/models/source_facts_include_options.py +89 -0
  168. cognimemo_client-0.9.2/cognimemo_client_api/models/space_bank_item.py +109 -0
  169. cognimemo_client-0.9.2/cognimemo_client_api/models/space_bank_list_response.py +97 -0
  170. cognimemo_client-0.9.2/cognimemo_client_api/models/space_item.py +111 -0
  171. cognimemo_client-0.9.2/cognimemo_client_api/models/space_list_response.py +95 -0
  172. cognimemo_client-0.9.2/cognimemo_client_api/models/tag_group_and_input.py +97 -0
  173. cognimemo_client-0.9.2/cognimemo_client_api/models/tag_group_and_output.py +97 -0
  174. cognimemo_client-0.9.2/cognimemo_client_api/models/tag_group_leaf.py +99 -0
  175. cognimemo_client-0.9.2/cognimemo_client_api/models/tag_group_not_input.py +93 -0
  176. cognimemo_client-0.9.2/cognimemo_client_api/models/tag_group_not_output.py +93 -0
  177. cognimemo_client-0.9.2/cognimemo_client_api/models/tag_group_or_input.py +97 -0
  178. cognimemo_client-0.9.2/cognimemo_client_api/models/tag_group_or_output.py +97 -0
  179. cognimemo_client-0.9.2/cognimemo_client_api/models/tag_item.py +89 -0
  180. cognimemo_client-0.9.2/cognimemo_client_api/models/temporal_window.py +90 -0
  181. cognimemo_client-0.9.2/cognimemo_client_api/models/timestamp.py +145 -0
  182. cognimemo_client-0.9.2/cognimemo_client_api/models/token_usage.py +95 -0
  183. cognimemo_client-0.9.2/cognimemo_client_api/models/tool_calls_include_options.py +87 -0
  184. cognimemo_client-0.9.2/cognimemo_client_api/models/update_directive_request.py +120 -0
  185. cognimemo_client-0.9.2/cognimemo_client_api/models/update_disposition_request.py +91 -0
  186. cognimemo_client-0.9.2/cognimemo_client_api/models/update_document_request.py +92 -0
  187. cognimemo_client-0.9.2/cognimemo_client_api/models/update_document_response.py +87 -0
  188. cognimemo_client-0.9.2/cognimemo_client_api/models/update_memory_request.py +143 -0
  189. cognimemo_client-0.9.2/cognimemo_client_api/models/update_mental_model_request.py +125 -0
  190. cognimemo_client-0.9.2/cognimemo_client_api/models/update_node_request.py +131 -0
  191. cognimemo_client-0.9.2/cognimemo_client_api/models/update_webhook_request.py +124 -0
  192. cognimemo_client-0.9.2/cognimemo_client_api/models/upsert_space_request.py +92 -0
  193. cognimemo_client-0.9.2/cognimemo_client_api/models/validation_error.py +108 -0
  194. cognimemo_client-0.9.2/cognimemo_client_api/models/validation_error_loc_inner.py +138 -0
  195. cognimemo_client-0.9.2/cognimemo_client_api/models/version_response.py +93 -0
  196. cognimemo_client-0.9.2/cognimemo_client_api/models/webhook_delivery_list_response.py +102 -0
  197. cognimemo_client-0.9.2/cognimemo_client_api/models/webhook_delivery_response.py +151 -0
  198. cognimemo_client-0.9.2/cognimemo_client_api/models/webhook_http_config.py +93 -0
  199. cognimemo_client-0.9.2/cognimemo_client_api/models/webhook_list_response.py +95 -0
  200. cognimemo_client-0.9.2/cognimemo_client_api/models/webhook_response.py +127 -0
  201. cognimemo_client-0.9.2/cognimemo_client_api/py.typed +0 -0
  202. cognimemo_client-0.9.2/cognimemo_client_api/rest.py +235 -0
  203. cognimemo_client-0.9.2/openapi-generator-config.yaml +11 -0
  204. cognimemo_client-0.9.2/pyproject.toml +49 -0
  205. cognimemo_client-0.9.2/tests/__init__.py +1 -0
  206. cognimemo_client-0.9.2/tests/test_bank_config_update_payload.py +176 -0
  207. cognimemo_client-0.9.2/tests/test_directive_query_mapping.py +47 -0
  208. cognimemo_client-0.9.2/tests/test_export_documents_wrapper.py +113 -0
  209. cognimemo_client-0.9.2/tests/test_knowledge_base_mapping.py +150 -0
  210. cognimemo_client-0.9.2/tests/test_main_operations.py +897 -0
  211. cognimemo_client-0.9.2/tests/test_mental_model_query_mapping.py +102 -0
  212. cognimemo_client-0.9.2/tests/test_prompt_formatting.py +111 -0
  213. cognimemo_client-0.9.2/tests/test_recall_min_scores.py +57 -0
  214. cognimemo_client-0.9.2/tests/test_recall_prefer_observations.py +38 -0
  215. cognimemo_client-0.9.2/tests/test_recall_temporal_window.py +44 -0
  216. cognimemo_client-0.9.2/tests/test_reflect_include_tool_calls.py +88 -0
  217. cognimemo_client-0.9.2/tests/test_reflect_response_parsing.py +125 -0
  218. cognimemo_client-0.9.2/tests/test_retain_async_kwarg.py +208 -0
  219. cognimemo_client-0.9.2/tests/test_retain_request_async.py +42 -0
  220. cognimemo_client-0.9.2/tests/test_retain_resolve_entities_mapping.py +57 -0
  221. cognimemo_client-0.9.2/tests/test_version.py +57 -0
@@ -0,0 +1,42 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[oc]
4
+ build/
5
+ dist/
6
+ wheels/
7
+ *.egg-info
8
+
9
+ # Virtual environments
10
+ .venv/
11
+
12
+ # Node
13
+ node_modules/
14
+ **/.next
15
+
16
+ # Environment
17
+ .env
18
+ .env.bak*
19
+ .env.*.bak
20
+ .env.local
21
+
22
+ # IDE
23
+ .idea/
24
+ .vscode/
25
+ *.swp
26
+ *.swo
27
+
28
+ # OS
29
+ .DS_Store
30
+
31
+ # Test
32
+ .pytest_cache/
33
+ .mypy_cache/
34
+ test-results/
35
+
36
+ # MCP / Claude
37
+ .mcp.json
38
+ .claude/*
39
+
40
+ # Docker
41
+ docker-compose.yml
42
+ docker-compose.override.yml
@@ -0,0 +1,194 @@
1
+ .openapi-generator-ignore
2
+ cognimemo_client_api/__init__.py
3
+ cognimemo_client_api/api/__init__.py
4
+ cognimemo_client_api/api/audit_api.py
5
+ cognimemo_client_api/api/bank_templates_api.py
6
+ cognimemo_client_api/api/banks_api.py
7
+ cognimemo_client_api/api/directives_api.py
8
+ cognimemo_client_api/api/document_transfer_api.py
9
+ cognimemo_client_api/api/documents_api.py
10
+ cognimemo_client_api/api/entities_api.py
11
+ cognimemo_client_api/api/files_api.py
12
+ cognimemo_client_api/api/knowledge_base_api.py
13
+ cognimemo_client_api/api/llm_traces_api.py
14
+ cognimemo_client_api/api/memory_api.py
15
+ cognimemo_client_api/api/mental_models_api.py
16
+ cognimemo_client_api/api/monitoring_api.py
17
+ cognimemo_client_api/api/operations_api.py
18
+ cognimemo_client_api/api/spaces_api.py
19
+ cognimemo_client_api/api/webhooks_api.py
20
+ cognimemo_client_api/api_client.py
21
+ cognimemo_client_api/api_response.py
22
+ cognimemo_client_api/configuration.py
23
+ cognimemo_client_api/exceptions.py
24
+ cognimemo_client_api/models/__init__.py
25
+ cognimemo_client_api/models/add_background_request.py
26
+ cognimemo_client_api/models/async_operation_submit_response.py
27
+ cognimemo_client_api/models/audit_log_entry.py
28
+ cognimemo_client_api/models/audit_log_list_response.py
29
+ cognimemo_client_api/models/audit_log_stats_bucket.py
30
+ cognimemo_client_api/models/audit_log_stats_response.py
31
+ cognimemo_client_api/models/background_response.py
32
+ cognimemo_client_api/models/bank_config_response.py
33
+ cognimemo_client_api/models/bank_config_update.py
34
+ cognimemo_client_api/models/bank_list_item.py
35
+ cognimemo_client_api/models/bank_list_response.py
36
+ cognimemo_client_api/models/bank_llm_health_response.py
37
+ cognimemo_client_api/models/bank_profile_response.py
38
+ cognimemo_client_api/models/bank_space_response.py
39
+ cognimemo_client_api/models/bank_stats_response.py
40
+ cognimemo_client_api/models/bank_template_config.py
41
+ cognimemo_client_api/models/bank_template_directive.py
42
+ cognimemo_client_api/models/bank_template_import_response.py
43
+ cognimemo_client_api/models/bank_template_manifest.py
44
+ cognimemo_client_api/models/bank_template_mental_model.py
45
+ cognimemo_client_api/models/budget.py
46
+ cognimemo_client_api/models/cancel_operation_response.py
47
+ cognimemo_client_api/models/child_operation_status.py
48
+ cognimemo_client_api/models/chunk_data.py
49
+ cognimemo_client_api/models/chunk_include_options.py
50
+ cognimemo_client_api/models/chunk_response.py
51
+ cognimemo_client_api/models/clear_memory_observations_response.py
52
+ cognimemo_client_api/models/consolidation_request.py
53
+ cognimemo_client_api/models/consolidation_response.py
54
+ cognimemo_client_api/models/create_bank_request.py
55
+ cognimemo_client_api/models/create_directive_request.py
56
+ cognimemo_client_api/models/create_folder_request.py
57
+ cognimemo_client_api/models/create_knowledge_page_response.py
58
+ cognimemo_client_api/models/create_mental_model_request.py
59
+ cognimemo_client_api/models/create_mental_model_response.py
60
+ cognimemo_client_api/models/create_page_request.py
61
+ cognimemo_client_api/models/create_webhook_request.py
62
+ cognimemo_client_api/models/delete_document_response.py
63
+ cognimemo_client_api/models/delete_operation_response.py
64
+ cognimemo_client_api/models/delete_response.py
65
+ cognimemo_client_api/models/directive_list_response.py
66
+ cognimemo_client_api/models/directive_response.py
67
+ cognimemo_client_api/models/disposition_traits.py
68
+ cognimemo_client_api/models/document_export_submit_response.py
69
+ cognimemo_client_api/models/document_import_submit_response.py
70
+ cognimemo_client_api/models/document_response.py
71
+ cognimemo_client_api/models/dry_run_extract_request.py
72
+ cognimemo_client_api/models/dry_run_extraction_result.py
73
+ cognimemo_client_api/models/entity_detail_response.py
74
+ cognimemo_client_api/models/entity_graph_response.py
75
+ cognimemo_client_api/models/entity_include_options.py
76
+ cognimemo_client_api/models/entity_input.py
77
+ cognimemo_client_api/models/entity_list_item.py
78
+ cognimemo_client_api/models/entity_list_response.py
79
+ cognimemo_client_api/models/entity_observation_response.py
80
+ cognimemo_client_api/models/entity_state_response.py
81
+ cognimemo_client_api/models/extracted_fact.py
82
+ cognimemo_client_api/models/features_info.py
83
+ cognimemo_client_api/models/file_retain_response.py
84
+ cognimemo_client_api/models/graph_data_response.py
85
+ cognimemo_client_api/models/http_validation_error.py
86
+ cognimemo_client_api/models/include_options.py
87
+ cognimemo_client_api/models/knowledge_node.py
88
+ cognimemo_client_api/models/knowledge_page_bundle_file.py
89
+ cognimemo_client_api/models/knowledge_page_bundle_response.py
90
+ cognimemo_client_api/models/knowledge_page_response.py
91
+ cognimemo_client_api/models/knowledge_page_search_response.py
92
+ cognimemo_client_api/models/knowledge_page_search_result.py
93
+ cognimemo_client_api/models/knowledge_tree_response.py
94
+ cognimemo_client_api/models/label_group_input.py
95
+ cognimemo_client_api/models/label_group_output.py
96
+ cognimemo_client_api/models/label_value.py
97
+ cognimemo_client_api/models/list_chunks_response.py
98
+ cognimemo_client_api/models/list_documents_response.py
99
+ cognimemo_client_api/models/list_memory_units_response.py
100
+ cognimemo_client_api/models/list_tags_response.py
101
+ cognimemo_client_api/models/liveness_response.py
102
+ cognimemo_client_api/models/llm_call_trace.py
103
+ cognimemo_client_api/models/llm_operation_health.py
104
+ cognimemo_client_api/models/llm_request_entry.py
105
+ cognimemo_client_api/models/llm_request_list_response.py
106
+ cognimemo_client_api/models/llm_request_stats_bucket.py
107
+ cognimemo_client_api/models/llm_request_stats_response.py
108
+ cognimemo_client_api/models/llm_request_token_sums.py
109
+ cognimemo_client_api/models/map_field_input.py
110
+ cognimemo_client_api/models/map_field_output.py
111
+ cognimemo_client_api/models/memories_timeseries_response.py
112
+ cognimemo_client_api/models/memory_item.py
113
+ cognimemo_client_api/models/memory_timeseries_bucket.py
114
+ cognimemo_client_api/models/mental_model_delta_operations.py
115
+ cognimemo_client_api/models/mental_model_dry_run_refresh_result.py
116
+ cognimemo_client_api/models/mental_model_fact_counts.py
117
+ cognimemo_client_api/models/mental_model_list_response.py
118
+ cognimemo_client_api/models/mental_model_refresh_scope.py
119
+ cognimemo_client_api/models/mental_model_refresh_scope_tag_groups_inner.py
120
+ cognimemo_client_api/models/mental_model_refresh_trace.py
121
+ cognimemo_client_api/models/mental_model_refresh_window.py
122
+ cognimemo_client_api/models/mental_model_response.py
123
+ cognimemo_client_api/models/mental_model_retraction.py
124
+ cognimemo_client_api/models/mental_model_trace_tool_call.py
125
+ cognimemo_client_api/models/mental_model_trigger_input.py
126
+ cognimemo_client_api/models/mental_model_trigger_input_tag_groups_inner.py
127
+ cognimemo_client_api/models/mental_model_trigger_output.py
128
+ cognimemo_client_api/models/min_scores.py
129
+ cognimemo_client_api/models/model_not.py
130
+ cognimemo_client_api/models/not1.py
131
+ cognimemo_client_api/models/observation_scope.py
132
+ cognimemo_client_api/models/observation_scopes.py
133
+ cognimemo_client_api/models/observation_scopes_response.py
134
+ cognimemo_client_api/models/operation_progress.py
135
+ cognimemo_client_api/models/operation_response.py
136
+ cognimemo_client_api/models/operation_status_response.py
137
+ cognimemo_client_api/models/operations_list_response.py
138
+ cognimemo_client_api/models/recall_request.py
139
+ cognimemo_client_api/models/recall_response.py
140
+ cognimemo_client_api/models/recall_result.py
141
+ cognimemo_client_api/models/recall_scores.py
142
+ cognimemo_client_api/models/recall_usage.py
143
+ cognimemo_client_api/models/recover_consolidation_response.py
144
+ cognimemo_client_api/models/reflect_based_on.py
145
+ cognimemo_client_api/models/reflect_directive.py
146
+ cognimemo_client_api/models/reflect_fact.py
147
+ cognimemo_client_api/models/reflect_include_options.py
148
+ cognimemo_client_api/models/reflect_llm_call.py
149
+ cognimemo_client_api/models/reflect_mental_model.py
150
+ cognimemo_client_api/models/reflect_request.py
151
+ cognimemo_client_api/models/reflect_response.py
152
+ cognimemo_client_api/models/reflect_tool_call.py
153
+ cognimemo_client_api/models/reflect_trace.py
154
+ cognimemo_client_api/models/refresh_mental_model_operation_details.py
155
+ cognimemo_client_api/models/reprocess_document_response.py
156
+ cognimemo_client_api/models/retain_request.py
157
+ cognimemo_client_api/models/retain_response.py
158
+ cognimemo_client_api/models/retry_operation_response.py
159
+ cognimemo_client_api/models/source_facts_include_options.py
160
+ cognimemo_client_api/models/space_bank_item.py
161
+ cognimemo_client_api/models/space_bank_list_response.py
162
+ cognimemo_client_api/models/space_item.py
163
+ cognimemo_client_api/models/space_list_response.py
164
+ cognimemo_client_api/models/tag_group_and_input.py
165
+ cognimemo_client_api/models/tag_group_and_output.py
166
+ cognimemo_client_api/models/tag_group_leaf.py
167
+ cognimemo_client_api/models/tag_group_not_input.py
168
+ cognimemo_client_api/models/tag_group_not_output.py
169
+ cognimemo_client_api/models/tag_group_or_input.py
170
+ cognimemo_client_api/models/tag_group_or_output.py
171
+ cognimemo_client_api/models/tag_item.py
172
+ cognimemo_client_api/models/temporal_window.py
173
+ cognimemo_client_api/models/timestamp.py
174
+ cognimemo_client_api/models/token_usage.py
175
+ cognimemo_client_api/models/tool_calls_include_options.py
176
+ cognimemo_client_api/models/update_directive_request.py
177
+ cognimemo_client_api/models/update_disposition_request.py
178
+ cognimemo_client_api/models/update_document_request.py
179
+ cognimemo_client_api/models/update_document_response.py
180
+ cognimemo_client_api/models/update_memory_request.py
181
+ cognimemo_client_api/models/update_mental_model_request.py
182
+ cognimemo_client_api/models/update_node_request.py
183
+ cognimemo_client_api/models/update_webhook_request.py
184
+ cognimemo_client_api/models/upsert_space_request.py
185
+ cognimemo_client_api/models/validation_error.py
186
+ cognimemo_client_api/models/validation_error_loc_inner.py
187
+ cognimemo_client_api/models/version_response.py
188
+ cognimemo_client_api/models/webhook_delivery_list_response.py
189
+ cognimemo_client_api/models/webhook_delivery_response.py
190
+ cognimemo_client_api/models/webhook_http_config.py
191
+ cognimemo_client_api/models/webhook_list_response.py
192
+ cognimemo_client_api/models/webhook_response.py
193
+ cognimemo_client_api/rest.py
194
+ cognimemo_client_api_README.md
@@ -0,0 +1 @@
1
+ 7.10.0
@@ -0,0 +1,23 @@
1
+ # OpenAPI Generator Ignore
2
+ # Generated by openapi-generator https://github.com/openapitools/openapi-generator
3
+
4
+ # Use this file to prevent files from being overwritten by the generator.
5
+ # The patterns follow closely to .gitignore or .dockerignore.
6
+
7
+ # As an example, the C# client generator defines ApiClient.cs.
8
+ # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9
+ #ApiClient.cs
10
+
11
+ # You can match any string of characters against a directory, file or extension with a single asterisk (*):
12
+ #foo/*/qux
13
+ # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14
+
15
+ # You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16
+ #foo/**/qux
17
+ # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18
+
19
+ # You can also negate patterns with an exclamation (!).
20
+ # For example, you can ignore all files in a docs folder with the file extension .md:
21
+ #docs/*.md
22
+ # Then explicitly reverse the ignore rule for a single file:
23
+ #!docs/README.md
@@ -0,0 +1,136 @@
1
+ Metadata-Version: 2.5
2
+ Name: cognimemo-client
3
+ Version: 0.9.2
4
+ Summary: Python client for Cognimemo - Semantic memory system with personality-driven thinking
5
+ Author: Cognimemo Team
6
+ License-Expression: MIT
7
+ Requires-Python: >=3.10
8
+ Requires-Dist: aiohttp-retry>=2.8.3
9
+ Requires-Dist: aiohttp>=3.8.4
10
+ Requires-Dist: pydantic>=2
11
+ Requires-Dist: python-dateutil>=2.8.2
12
+ Requires-Dist: typing-extensions>=4.7.1
13
+ Requires-Dist: urllib3<3.0.0,>=2.1.0
14
+ Provides-Extra: test
15
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'test'
16
+ Requires-Dist: pytest>=7.0.0; extra == 'test'
17
+ Requires-Dist: requests>=2.33.0; extra == 'test'
18
+ Description-Content-Type: text/markdown
19
+
20
+ # Cognimemo Python Client
21
+
22
+ `@cognimemo/client` — the official Python SDK for the Cognimemo memory layer.
23
+ Talks to the Cognimemo gateway with a per-project API key (Bearer auth).
24
+
25
+ > **Verified working (2026-08-30):** installs clean; every typed helper below and
26
+ > type-filtered / layered recall were smoke-tested against a live gateway. Recall
27
+ > round-trips through the full stack in ~70 ms.
28
+
29
+ ## Install
30
+
31
+ ```bash
32
+ pip install cognimemo-client # published as @cognimemo/client
33
+ ```
34
+
35
+ ## Quickstart
36
+
37
+ ```python
38
+ from cognimemo_client.cognimemo_client import Cognimemo
39
+
40
+ cm = Cognimemo(base_url="https://api.cognimemo.com", api_key="cmk_live_…")
41
+
42
+ cm.retain(bank_id="jane@acme.com", content="Jane ships on Fridays.")
43
+ res = cm.recall(bank_id="jane@acme.com", query="when does jane ship?")
44
+ for r in res.results:
45
+ print(r.type, r.text, r.occurred_start, r.scores)
46
+ ```
47
+
48
+ Prefer `await cm.aretain(...)` / `await cm.arecall(...)` in async code; the
49
+ non-`a` methods are sync wrappers.
50
+
51
+ ## Data model — space (org) → bank (person) → memories
52
+
53
+ Pass `space=` to `retain` / `recall` / `reflect` to scope a bank into its
54
+ organization (the bank is attached on first use), or manage spaces explicitly:
55
+
56
+ ```python
57
+ cm.create_space("acme", name="Acme Corp")
58
+ cm.retain(bank_id="jane@acme.com", content="Jane prefers dark mode", space="acme")
59
+ cm.recall(bank_id="jane@acme.com", query="what does jane prefer?", space="acme")
60
+
61
+ cm.list_spaces() # orgs with per-org person counts
62
+ cm.list_space_banks("acme") # people inside an org
63
+ cm.add_bank_to_space("acme", "raj@acme.com")
64
+ cm.remove_bank_from_space("acme", "raj@acme.com") # person + memories kept
65
+ cm.delete_space("acme") # people become unassigned, never deleted
66
+ ```
67
+
68
+ ## Typed memory blocks
69
+
70
+ Beyond auto-extracted facts/observations, store first-class blocks directly
71
+ (verbatim, no LLM rewrite) — recallable and filterable by type. The eight types
72
+ are `world`, `experience`, `observation`, `procedure`, `reasoning`,
73
+ `preference`, `correction`, `profile`.
74
+
75
+ ```python
76
+ cm.retain_preference("jane@acme.com", "For day-planning, use personal Gmail, never work mail.")
77
+ cm.retain_procedure("jane@acme.com", ["tag main", "sync Argo", "run sims", "promote"], rationale="never on Friday")
78
+ cm.retain_reasoning("jane@acme.com", "Chose gRPC over REST: p99 latency mattered more than tooling.")
79
+ cm.retain_correction("jane@acme.com", "No — use Xero, not QuickBooks.")
80
+ cm.update_profile("jane@acme.com", "Uses Xero + Slack; admin on the orion cluster.")
81
+
82
+ # any type directly:
83
+ cm.retain(bank_id="jane@acme.com", content="Acme HQ is in Berlin.", fact_type="world")
84
+
85
+ cm.recall(bank_id="jane@acme.com", query="how to deploy", types=["procedure"]) # type-filtered
86
+ cm.recall_layered("jane@acme.com", "policy", space="acme") # blend person + org (__org__:acme)
87
+ ```
88
+
89
+ Typed helpers put the bank in verbatim (`chunks`) mode on first use so the block
90
+ is stored exactly as written.
91
+
92
+ ## Layered / org memory
93
+
94
+ Each space has an implicit org bank at `__org__:{space}`. Retain shared knowledge
95
+ there, then blend it into a person's recall (person wins on conflict):
96
+
97
+ ```python
98
+ cm.retain(bank_id="__org__:acme", content="Deploy freeze every December.")
99
+ cm.recall(bank_id="jane@acme.com", query="deploy policy",
100
+ space="acme", include_org=True) # or cm.recall_layered(...)
101
+ ```
102
+
103
+ ## Entities
104
+
105
+ Supply entities explicitly (the note-taker model — the agent knows them):
106
+
107
+ ```python
108
+ cm.retain(bank_id="jane@acme.com",
109
+ content="Jane joined the DeepMind team on Gemini.",
110
+ entities=[{"text": "Jane", "type": "PERSON"},
111
+ {"text": "DeepMind", "type": "ORG"},
112
+ {"text": "Gemini", "type": "PROJECT"}])
113
+
114
+ cm.entities.list_entities("jane@acme.com") # canonicalized, deduped, with mention_count
115
+ ```
116
+
117
+ For verbatim ingest without supplied entities, enable no-LLM auto-extraction on
118
+ the bank (off by default): set config `retain_auto_entities: true` and it derives
119
+ proper-noun/acronym entities from the text.
120
+
121
+ ## Recall response shape
122
+
123
+ `recall(...)` returns `RecallResponse` with `.results` (a list of `MemoryFact`)
124
+ and `.usage`. Each `MemoryFact` carries:
125
+
126
+ | field | meaning |
127
+ |---|---|
128
+ | `type` | the fact type (world … profile) |
129
+ | `text`, `context` | the memory body (decrypted transparently if encryption is on) |
130
+ | `occurred_start` / `occurred_end` / `mentioned_at` | temporal anchors |
131
+ | `entities` | linked entity names |
132
+ | `scores` | `{final, semantic, keyword}` |
133
+ | `metadata`, `tags`, `document_id`, `chunk_id` | provenance |
134
+
135
+ `.usage` reports `{tokens_used, max_tokens, truncated}` (and `org_blended` for
136
+ layered recall).
@@ -0,0 +1,117 @@
1
+ # Cognimemo Python Client
2
+
3
+ `@cognimemo/client` — the official Python SDK for the Cognimemo memory layer.
4
+ Talks to the Cognimemo gateway with a per-project API key (Bearer auth).
5
+
6
+ > **Verified working (2026-08-30):** installs clean; every typed helper below and
7
+ > type-filtered / layered recall were smoke-tested against a live gateway. Recall
8
+ > round-trips through the full stack in ~70 ms.
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ pip install cognimemo-client # published as @cognimemo/client
14
+ ```
15
+
16
+ ## Quickstart
17
+
18
+ ```python
19
+ from cognimemo_client.cognimemo_client import Cognimemo
20
+
21
+ cm = Cognimemo(base_url="https://api.cognimemo.com", api_key="cmk_live_…")
22
+
23
+ cm.retain(bank_id="jane@acme.com", content="Jane ships on Fridays.")
24
+ res = cm.recall(bank_id="jane@acme.com", query="when does jane ship?")
25
+ for r in res.results:
26
+ print(r.type, r.text, r.occurred_start, r.scores)
27
+ ```
28
+
29
+ Prefer `await cm.aretain(...)` / `await cm.arecall(...)` in async code; the
30
+ non-`a` methods are sync wrappers.
31
+
32
+ ## Data model — space (org) → bank (person) → memories
33
+
34
+ Pass `space=` to `retain` / `recall` / `reflect` to scope a bank into its
35
+ organization (the bank is attached on first use), or manage spaces explicitly:
36
+
37
+ ```python
38
+ cm.create_space("acme", name="Acme Corp")
39
+ cm.retain(bank_id="jane@acme.com", content="Jane prefers dark mode", space="acme")
40
+ cm.recall(bank_id="jane@acme.com", query="what does jane prefer?", space="acme")
41
+
42
+ cm.list_spaces() # orgs with per-org person counts
43
+ cm.list_space_banks("acme") # people inside an org
44
+ cm.add_bank_to_space("acme", "raj@acme.com")
45
+ cm.remove_bank_from_space("acme", "raj@acme.com") # person + memories kept
46
+ cm.delete_space("acme") # people become unassigned, never deleted
47
+ ```
48
+
49
+ ## Typed memory blocks
50
+
51
+ Beyond auto-extracted facts/observations, store first-class blocks directly
52
+ (verbatim, no LLM rewrite) — recallable and filterable by type. The eight types
53
+ are `world`, `experience`, `observation`, `procedure`, `reasoning`,
54
+ `preference`, `correction`, `profile`.
55
+
56
+ ```python
57
+ cm.retain_preference("jane@acme.com", "For day-planning, use personal Gmail, never work mail.")
58
+ cm.retain_procedure("jane@acme.com", ["tag main", "sync Argo", "run sims", "promote"], rationale="never on Friday")
59
+ cm.retain_reasoning("jane@acme.com", "Chose gRPC over REST: p99 latency mattered more than tooling.")
60
+ cm.retain_correction("jane@acme.com", "No — use Xero, not QuickBooks.")
61
+ cm.update_profile("jane@acme.com", "Uses Xero + Slack; admin on the orion cluster.")
62
+
63
+ # any type directly:
64
+ cm.retain(bank_id="jane@acme.com", content="Acme HQ is in Berlin.", fact_type="world")
65
+
66
+ cm.recall(bank_id="jane@acme.com", query="how to deploy", types=["procedure"]) # type-filtered
67
+ cm.recall_layered("jane@acme.com", "policy", space="acme") # blend person + org (__org__:acme)
68
+ ```
69
+
70
+ Typed helpers put the bank in verbatim (`chunks`) mode on first use so the block
71
+ is stored exactly as written.
72
+
73
+ ## Layered / org memory
74
+
75
+ Each space has an implicit org bank at `__org__:{space}`. Retain shared knowledge
76
+ there, then blend it into a person's recall (person wins on conflict):
77
+
78
+ ```python
79
+ cm.retain(bank_id="__org__:acme", content="Deploy freeze every December.")
80
+ cm.recall(bank_id="jane@acme.com", query="deploy policy",
81
+ space="acme", include_org=True) # or cm.recall_layered(...)
82
+ ```
83
+
84
+ ## Entities
85
+
86
+ Supply entities explicitly (the note-taker model — the agent knows them):
87
+
88
+ ```python
89
+ cm.retain(bank_id="jane@acme.com",
90
+ content="Jane joined the DeepMind team on Gemini.",
91
+ entities=[{"text": "Jane", "type": "PERSON"},
92
+ {"text": "DeepMind", "type": "ORG"},
93
+ {"text": "Gemini", "type": "PROJECT"}])
94
+
95
+ cm.entities.list_entities("jane@acme.com") # canonicalized, deduped, with mention_count
96
+ ```
97
+
98
+ For verbatim ingest without supplied entities, enable no-LLM auto-extraction on
99
+ the bank (off by default): set config `retain_auto_entities: true` and it derives
100
+ proper-noun/acronym entities from the text.
101
+
102
+ ## Recall response shape
103
+
104
+ `recall(...)` returns `RecallResponse` with `.results` (a list of `MemoryFact`)
105
+ and `.usage`. Each `MemoryFact` carries:
106
+
107
+ | field | meaning |
108
+ |---|---|
109
+ | `type` | the fact type (world … profile) |
110
+ | `text`, `context` | the memory body (decrypted transparently if encryption is on) |
111
+ | `occurred_start` / `occurred_end` / `mentioned_at` | temporal anchors |
112
+ | `entities` | linked entity names |
113
+ | `scores` | `{final, semantic, keyword}` |
114
+ | `metadata`, `tags`, `document_id`, `chunk_id` | provenance |
115
+
116
+ `.usage` reports `{tokens_used, max_tokens, truncated}` (and `org_blended` for
117
+ layered recall).
@@ -0,0 +1,164 @@
1
+ """
2
+ Cognimemo Client - Clean, pythonic wrapper for the Cognimemo API.
3
+
4
+ This package provides a high-level ``Cognimemo`` class with simplified methods
5
+ for the most common operations (retain, recall, reflect, banks, mental models,
6
+ directives).
7
+
8
+ For operations not available as convenience methods — such as documents,
9
+ entities, async operations, webhooks, and monitoring — use the low-level API
10
+ clients exposed as properties on the ``Cognimemo`` instance (e.g.
11
+ ``client.documents``, ``client.entities``, ``client.operations``).
12
+ All low-level methods are async.
13
+
14
+ Quick start::
15
+
16
+ from cognimemo_client import Cognimemo
17
+
18
+ client = Cognimemo(base_url="http://localhost:8888")
19
+
20
+ # Store a memory
21
+ client.retain(bank_id="alice", content="Alice loves AI")
22
+
23
+ # Search memories
24
+ response = client.recall(bank_id="alice", query="What does Alice like?")
25
+ for r in response.results:
26
+ print(r.text)
27
+
28
+ # Generate contextual answer
29
+ answer = client.reflect(bank_id="alice", query="What are my interests?")
30
+ print(answer.text)
31
+
32
+ Low-level API access::
33
+
34
+ import asyncio
35
+
36
+ # List documents
37
+ docs = asyncio.run(client.documents.list_documents("alice"))
38
+
39
+ # Check operation status
40
+ status = asyncio.run(client.operations.get_operation_status("alice", "op-id"))
41
+
42
+ # List entities
43
+ entities = asyncio.run(client.entities.list_entities("alice"))
44
+ """
45
+
46
+ from cognimemo_client_api.models.bank_profile_response import BankProfileResponse
47
+ from cognimemo_client_api.models.disposition_traits import DispositionTraits
48
+ from cognimemo_client_api.models.list_memory_units_response import ListMemoryUnitsResponse
49
+ from cognimemo_client_api.models.recall_response import RecallResponse as _RecallResponse
50
+ from cognimemo_client_api.models.recall_result import RecallResult as _RecallResult
51
+ from cognimemo_client_api.models.reflect_fact import ReflectFact
52
+ from cognimemo_client_api.models.reflect_response import ReflectResponse
53
+
54
+ # Re-export response types for convenient access
55
+ from cognimemo_client_api.models.retain_response import RetainResponse
56
+ from cognimemo_client_api.models.version_response import VersionResponse
57
+
58
+ from .cognimemo_client import Cognimemo
59
+
60
+
61
+ # Add cleaner __repr__ and __iter__ for REPL usability
62
+ def _recall_result_repr(self):
63
+ text_preview = self.text[:80] + "..." if len(self.text) > 80 else self.text
64
+ return f"RecallResult(id='{self.id[:8]}...', type='{self.type}', text='{text_preview}')"
65
+
66
+
67
+ def _recall_response_repr(self):
68
+ count = len(self.results) if self.results else 0
69
+ extras = []
70
+ if self.trace:
71
+ extras.append("trace=True")
72
+ if self.entities:
73
+ extras.append(f"entities={len(self.entities)}")
74
+ if self.chunks:
75
+ extras.append(f"chunks={len(self.chunks)}")
76
+ extras_str = ", " + ", ".join(extras) if extras else ""
77
+ return f"RecallResponse({count} results{extras_str})"
78
+
79
+
80
+ def _recall_response_iter(self):
81
+ """Iterate directly over results for convenience."""
82
+ return iter(self.results or [])
83
+
84
+
85
+ def _recall_response_len(self):
86
+ """Return number of results."""
87
+ return len(self.results) if self.results else 0
88
+
89
+
90
+ def _recall_response_getitem(self, index):
91
+ """Access results by index."""
92
+ return self.results[index]
93
+
94
+
95
+ def _recall_response_to_prompt_string(self) -> str:
96
+ """Serialize the recall response to a string suitable for LLM prompts.
97
+
98
+ Builds a prompt containing:
99
+ - Facts: each result as a JSON object with ``text``, ``context``, and
100
+ temporal fields (``occurred_start``, ``occurred_end``, ``mentioned_at``).
101
+ If the result has a ``chunk_id`` matching a chunk in the response, the
102
+ chunk text is included as ``source_chunk``.
103
+ - Entities: entity summaries from observations, formatted as sections.
104
+
105
+ This mirrors the format used internally by Cognimemo's reflect operation.
106
+ """
107
+ import json
108
+
109
+ chunks_map = self.chunks or {}
110
+ sections: list[str] = []
111
+
112
+ # Facts
113
+ formatted_facts: list[dict] = []
114
+ for result in self.results or []:
115
+ fact_obj: dict = {"text": result.text}
116
+ if result.context:
117
+ fact_obj["context"] = result.context
118
+ for field in ("occurred_start", "occurred_end", "mentioned_at"):
119
+ value = getattr(result, field, None)
120
+ if value:
121
+ fact_obj[field] = value
122
+ if result.chunk_id and result.chunk_id in chunks_map:
123
+ fact_obj["source_chunk"] = chunks_map[result.chunk_id].text
124
+ formatted_facts.append(fact_obj)
125
+ sections.append("FACTS:\n" + json.dumps(formatted_facts, indent=2))
126
+
127
+ # Entities
128
+ if self.entities:
129
+ entity_parts: list[str] = []
130
+ for name, state in self.entities.items():
131
+ if state.observations:
132
+ obs_text = state.observations[0].text
133
+ entity_parts.append(f"## {name}\n{obs_text}")
134
+ if entity_parts:
135
+ sections.append("ENTITIES:\n" + "\n\n".join(entity_parts))
136
+
137
+ return "\n\n".join(sections)
138
+
139
+
140
+ _RecallResponse.to_prompt_string = _recall_response_to_prompt_string
141
+
142
+ _RecallResult.__repr__ = _recall_result_repr
143
+ _RecallResponse.__repr__ = _recall_response_repr
144
+ _RecallResponse.__iter__ = _recall_response_iter
145
+ _RecallResponse.__len__ = _recall_response_len
146
+ _RecallResponse.__getitem__ = _recall_response_getitem
147
+
148
+ # Re-export with patched repr
149
+ RecallResult = _RecallResult
150
+ RecallResponse = _RecallResponse
151
+
152
+ __all__ = [
153
+ "Cognimemo",
154
+ # Response types
155
+ "RetainResponse",
156
+ "RecallResponse",
157
+ "RecallResult",
158
+ "ReflectResponse",
159
+ "ReflectFact",
160
+ "ListMemoryUnitsResponse",
161
+ "BankProfileResponse",
162
+ "DispositionTraits",
163
+ "VersionResponse",
164
+ ]