enmem-client 0.4.19__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 (125) hide show
  1. enmem_client-0.4.19/.gitignore +15 -0
  2. enmem_client-0.4.19/.openapi-generator/FILES +112 -0
  3. enmem_client-0.4.19/.openapi-generator/VERSION +1 -0
  4. enmem_client-0.4.19/.openapi-generator-ignore +23 -0
  5. enmem_client-0.4.19/PKG-INFO +19 -0
  6. enmem_client-0.4.19/README.md +1 -0
  7. enmem_client-0.4.19/enmem_client/__init__.py +97 -0
  8. enmem_client-0.4.19/enmem_client/enmem_client.py +1172 -0
  9. enmem_client-0.4.19/enmem_client_api/__init__.py +135 -0
  10. enmem_client-0.4.19/enmem_client_api/api/__init__.py +14 -0
  11. enmem_client-0.4.19/enmem_client_api/api/banks_api.py +4075 -0
  12. enmem_client-0.4.19/enmem_client_api/api/directives_api.py +1619 -0
  13. enmem_client-0.4.19/enmem_client_api/api/documents_api.py +1593 -0
  14. enmem_client-0.4.19/enmem_client_api/api/entities_api.py +941 -0
  15. enmem_client-0.4.19/enmem_client_api/api/files_api.py +361 -0
  16. enmem_client-0.4.19/enmem_client_api/api/memory_api.py +3180 -0
  17. enmem_client-0.4.19/enmem_client_api/api/mental_models_api.py +2190 -0
  18. enmem_client-0.4.19/enmem_client_api/api/monitoring_api.py +772 -0
  19. enmem_client-0.4.19/enmem_client_api/api/operations_api.py +1267 -0
  20. enmem_client-0.4.19/enmem_client_api/api/webhooks_api.py +1569 -0
  21. enmem_client-0.4.19/enmem_client_api/api_client.py +800 -0
  22. enmem_client-0.4.19/enmem_client_api/api_response.py +21 -0
  23. enmem_client-0.4.19/enmem_client_api/configuration.py +561 -0
  24. enmem_client-0.4.19/enmem_client_api/exceptions.py +199 -0
  25. enmem_client-0.4.19/enmem_client_api/models/__init__.py +109 -0
  26. enmem_client-0.4.19/enmem_client_api/models/add_background_request.py +89 -0
  27. enmem_client-0.4.19/enmem_client_api/models/async_operation_submit_response.py +89 -0
  28. enmem_client-0.4.19/enmem_client_api/models/background_response.py +105 -0
  29. enmem_client-0.4.19/enmem_client_api/models/bank_config_response.py +91 -0
  30. enmem_client-0.4.19/enmem_client_api/models/bank_config_update.py +87 -0
  31. enmem_client-0.4.19/enmem_client_api/models/bank_list_item.py +121 -0
  32. enmem_client-0.4.19/enmem_client_api/models/bank_list_response.py +95 -0
  33. enmem_client-0.4.19/enmem_client_api/models/bank_profile_response.py +104 -0
  34. enmem_client-0.4.19/enmem_client_api/models/bank_stats_response.py +116 -0
  35. enmem_client-0.4.19/enmem_client_api/models/budget.py +38 -0
  36. enmem_client-0.4.19/enmem_client_api/models/cancel_operation_response.py +91 -0
  37. enmem_client-0.4.19/enmem_client_api/models/child_operation_status.py +110 -0
  38. enmem_client-0.4.19/enmem_client_api/models/chunk_data.py +93 -0
  39. enmem_client-0.4.19/enmem_client_api/models/chunk_include_options.py +87 -0
  40. enmem_client-0.4.19/enmem_client_api/models/chunk_response.py +97 -0
  41. enmem_client-0.4.19/enmem_client_api/models/clear_memory_observations_response.py +87 -0
  42. enmem_client-0.4.19/enmem_client_api/models/consolidation_response.py +89 -0
  43. enmem_client-0.4.19/enmem_client_api/models/create_bank_request.py +188 -0
  44. enmem_client-0.4.19/enmem_client_api/models/create_directive_request.py +95 -0
  45. enmem_client-0.4.19/enmem_client_api/models/create_mental_model_request.py +107 -0
  46. enmem_client-0.4.19/enmem_client_api/models/create_mental_model_response.py +94 -0
  47. enmem_client-0.4.19/enmem_client_api/models/create_webhook_request.py +104 -0
  48. enmem_client-0.4.19/enmem_client_api/models/delete_document_response.py +93 -0
  49. enmem_client-0.4.19/enmem_client_api/models/delete_response.py +101 -0
  50. enmem_client-0.4.19/enmem_client_api/models/directive_list_response.py +95 -0
  51. enmem_client-0.4.19/enmem_client_api/models/directive_response.py +113 -0
  52. enmem_client-0.4.19/enmem_client_api/models/disposition_traits.py +92 -0
  53. enmem_client-0.4.19/enmem_client_api/models/document_response.py +106 -0
  54. enmem_client-0.4.19/enmem_client_api/models/entity_detail_response.py +122 -0
  55. enmem_client-0.4.19/enmem_client_api/models/entity_include_options.py +87 -0
  56. enmem_client-0.4.19/enmem_client_api/models/entity_input.py +94 -0
  57. enmem_client-0.4.19/enmem_client_api/models/entity_list_item.py +112 -0
  58. enmem_client-0.4.19/enmem_client_api/models/entity_list_response.py +101 -0
  59. enmem_client-0.4.19/enmem_client_api/models/entity_observation_response.py +94 -0
  60. enmem_client-0.4.19/enmem_client_api/models/entity_state_response.py +99 -0
  61. enmem_client-0.4.19/enmem_client_api/models/features_info.py +95 -0
  62. enmem_client-0.4.19/enmem_client_api/models/file_retain_response.py +87 -0
  63. enmem_client-0.4.19/enmem_client_api/models/graph_data_response.py +95 -0
  64. enmem_client-0.4.19/enmem_client_api/models/http_validation_error.py +95 -0
  65. enmem_client-0.4.19/enmem_client_api/models/include_options.py +118 -0
  66. enmem_client-0.4.19/enmem_client_api/models/list_documents_response.py +93 -0
  67. enmem_client-0.4.19/enmem_client_api/models/list_memory_units_response.py +93 -0
  68. enmem_client-0.4.19/enmem_client_api/models/list_tags_response.py +101 -0
  69. enmem_client-0.4.19/enmem_client_api/models/memory_item.py +159 -0
  70. enmem_client-0.4.19/enmem_client_api/models/mental_model_list_response.py +95 -0
  71. enmem_client-0.4.19/enmem_client_api/models/mental_model_response.py +126 -0
  72. enmem_client-0.4.19/enmem_client_api/models/mental_model_trigger.py +114 -0
  73. enmem_client-0.4.19/enmem_client_api/models/model_not.py +166 -0
  74. enmem_client-0.4.19/enmem_client_api/models/observation_scopes.py +144 -0
  75. enmem_client-0.4.19/enmem_client_api/models/operation_response.py +109 -0
  76. enmem_client-0.4.19/enmem_client_api/models/operation_status_response.py +153 -0
  77. enmem_client-0.4.19/enmem_client_api/models/operations_list_response.py +103 -0
  78. enmem_client-0.4.19/enmem_client_api/models/recall_request.py +148 -0
  79. enmem_client-0.4.19/enmem_client_api/models/recall_request_tag_groups_inner.py +166 -0
  80. enmem_client-0.4.19/enmem_client_api/models/recall_response.py +161 -0
  81. enmem_client-0.4.19/enmem_client_api/models/recall_result.py +166 -0
  82. enmem_client-0.4.19/enmem_client_api/models/recover_consolidation_response.py +87 -0
  83. enmem_client-0.4.19/enmem_client_api/models/reflect_based_on.py +115 -0
  84. enmem_client-0.4.19/enmem_client_api/models/reflect_directive.py +91 -0
  85. enmem_client-0.4.19/enmem_client_api/models/reflect_fact.py +122 -0
  86. enmem_client-0.4.19/enmem_client_api/models/reflect_include_options.py +98 -0
  87. enmem_client-0.4.19/enmem_client_api/models/reflect_llm_call.py +89 -0
  88. enmem_client-0.4.19/enmem_client_api/models/reflect_mental_model.py +96 -0
  89. enmem_client-0.4.19/enmem_client_api/models/reflect_request.py +173 -0
  90. enmem_client-0.4.19/enmem_client_api/models/reflect_response.py +127 -0
  91. enmem_client-0.4.19/enmem_client_api/models/reflect_tool_call.py +100 -0
  92. enmem_client-0.4.19/enmem_client_api/models/reflect_trace.py +105 -0
  93. enmem_client-0.4.19/enmem_client_api/models/retain_request.py +104 -0
  94. enmem_client-0.4.19/enmem_client_api/models/retain_response.py +118 -0
  95. enmem_client-0.4.19/enmem_client_api/models/retry_operation_response.py +91 -0
  96. enmem_client-0.4.19/enmem_client_api/models/source_facts_include_options.py +89 -0
  97. enmem_client-0.4.19/enmem_client_api/models/tag_group_and.py +97 -0
  98. enmem_client-0.4.19/enmem_client_api/models/tag_group_leaf.py +99 -0
  99. enmem_client-0.4.19/enmem_client_api/models/tag_group_not.py +93 -0
  100. enmem_client-0.4.19/enmem_client_api/models/tag_group_or.py +97 -0
  101. enmem_client-0.4.19/enmem_client_api/models/tag_item.py +89 -0
  102. enmem_client-0.4.19/enmem_client_api/models/timestamp.py +145 -0
  103. enmem_client-0.4.19/enmem_client_api/models/token_usage.py +91 -0
  104. enmem_client-0.4.19/enmem_client_api/models/tool_calls_include_options.py +87 -0
  105. enmem_client-0.4.19/enmem_client_api/models/update_directive_request.py +120 -0
  106. enmem_client-0.4.19/enmem_client_api/models/update_disposition_request.py +91 -0
  107. enmem_client-0.4.19/enmem_client_api/models/update_document_request.py +92 -0
  108. enmem_client-0.4.19/enmem_client_api/models/update_document_response.py +87 -0
  109. enmem_client-0.4.19/enmem_client_api/models/update_mental_model_request.py +125 -0
  110. enmem_client-0.4.19/enmem_client_api/models/update_webhook_request.py +124 -0
  111. enmem_client-0.4.19/enmem_client_api/models/validation_error.py +99 -0
  112. enmem_client-0.4.19/enmem_client_api/models/validation_error_loc_inner.py +138 -0
  113. enmem_client-0.4.19/enmem_client_api/models/version_response.py +93 -0
  114. enmem_client-0.4.19/enmem_client_api/models/webhook_delivery_list_response.py +102 -0
  115. enmem_client-0.4.19/enmem_client_api/models/webhook_delivery_response.py +151 -0
  116. enmem_client-0.4.19/enmem_client_api/models/webhook_http_config.py +93 -0
  117. enmem_client-0.4.19/enmem_client_api/models/webhook_list_response.py +95 -0
  118. enmem_client-0.4.19/enmem_client_api/models/webhook_response.py +127 -0
  119. enmem_client-0.4.19/enmem_client_api/rest.py +235 -0
  120. enmem_client-0.4.19/openapi-generator-config.yaml +11 -0
  121. enmem_client-0.4.19/pyproject.toml +48 -0
  122. enmem_client-0.4.19/tests/__init__.py +1 -0
  123. enmem_client-0.4.19/tests/test_main_operations.py +883 -0
  124. enmem_client-0.4.19/tests/test_reflect_response_parsing.py +125 -0
  125. enmem_client-0.4.19/uv.lock +1205 -0
@@ -0,0 +1,15 @@
1
+ # Build artifacts
2
+ python/dist/
3
+ python/build/
4
+ python/*.egg-info/
5
+ python/.ruff_cache/
6
+ typescript/dist/
7
+ typescript/node_modules/
8
+
9
+ # IDE
10
+ .vscode/
11
+ .idea/
12
+ *.swp
13
+ *.swo
14
+
15
+ # Generated code is tracked in git to see API changes
@@ -0,0 +1,112 @@
1
+ enmem_client_api/__init__.py
2
+ enmem_client_api/api/__init__.py
3
+ enmem_client_api/api/banks_api.py
4
+ enmem_client_api/api/directives_api.py
5
+ enmem_client_api/api/documents_api.py
6
+ enmem_client_api/api/entities_api.py
7
+ enmem_client_api/api/files_api.py
8
+ enmem_client_api/api/memory_api.py
9
+ enmem_client_api/api/mental_models_api.py
10
+ enmem_client_api/api/monitoring_api.py
11
+ enmem_client_api/api/operations_api.py
12
+ enmem_client_api/api/webhooks_api.py
13
+ enmem_client_api/api_client.py
14
+ enmem_client_api/api_response.py
15
+ enmem_client_api/configuration.py
16
+ enmem_client_api/exceptions.py
17
+ enmem_client_api/models/__init__.py
18
+ enmem_client_api/models/add_background_request.py
19
+ enmem_client_api/models/async_operation_submit_response.py
20
+ enmem_client_api/models/background_response.py
21
+ enmem_client_api/models/bank_config_response.py
22
+ enmem_client_api/models/bank_config_update.py
23
+ enmem_client_api/models/bank_list_item.py
24
+ enmem_client_api/models/bank_list_response.py
25
+ enmem_client_api/models/bank_profile_response.py
26
+ enmem_client_api/models/bank_stats_response.py
27
+ enmem_client_api/models/budget.py
28
+ enmem_client_api/models/cancel_operation_response.py
29
+ enmem_client_api/models/child_operation_status.py
30
+ enmem_client_api/models/chunk_data.py
31
+ enmem_client_api/models/chunk_include_options.py
32
+ enmem_client_api/models/chunk_response.py
33
+ enmem_client_api/models/clear_memory_observations_response.py
34
+ enmem_client_api/models/consolidation_response.py
35
+ enmem_client_api/models/create_bank_request.py
36
+ enmem_client_api/models/create_directive_request.py
37
+ enmem_client_api/models/create_mental_model_request.py
38
+ enmem_client_api/models/create_mental_model_response.py
39
+ enmem_client_api/models/create_webhook_request.py
40
+ enmem_client_api/models/delete_document_response.py
41
+ enmem_client_api/models/delete_response.py
42
+ enmem_client_api/models/directive_list_response.py
43
+ enmem_client_api/models/directive_response.py
44
+ enmem_client_api/models/disposition_traits.py
45
+ enmem_client_api/models/document_response.py
46
+ enmem_client_api/models/entity_detail_response.py
47
+ enmem_client_api/models/entity_include_options.py
48
+ enmem_client_api/models/entity_input.py
49
+ enmem_client_api/models/entity_list_item.py
50
+ enmem_client_api/models/entity_list_response.py
51
+ enmem_client_api/models/entity_observation_response.py
52
+ enmem_client_api/models/entity_state_response.py
53
+ enmem_client_api/models/features_info.py
54
+ enmem_client_api/models/file_retain_response.py
55
+ enmem_client_api/models/graph_data_response.py
56
+ enmem_client_api/models/http_validation_error.py
57
+ enmem_client_api/models/include_options.py
58
+ enmem_client_api/models/list_documents_response.py
59
+ enmem_client_api/models/list_memory_units_response.py
60
+ enmem_client_api/models/list_tags_response.py
61
+ enmem_client_api/models/memory_item.py
62
+ enmem_client_api/models/mental_model_list_response.py
63
+ enmem_client_api/models/mental_model_response.py
64
+ enmem_client_api/models/mental_model_trigger.py
65
+ enmem_client_api/models/model_not.py
66
+ enmem_client_api/models/observation_scopes.py
67
+ enmem_client_api/models/operation_response.py
68
+ enmem_client_api/models/operation_status_response.py
69
+ enmem_client_api/models/operations_list_response.py
70
+ enmem_client_api/models/recall_request.py
71
+ enmem_client_api/models/recall_request_tag_groups_inner.py
72
+ enmem_client_api/models/recall_response.py
73
+ enmem_client_api/models/recall_result.py
74
+ enmem_client_api/models/recover_consolidation_response.py
75
+ enmem_client_api/models/reflect_based_on.py
76
+ enmem_client_api/models/reflect_directive.py
77
+ enmem_client_api/models/reflect_fact.py
78
+ enmem_client_api/models/reflect_include_options.py
79
+ enmem_client_api/models/reflect_llm_call.py
80
+ enmem_client_api/models/reflect_mental_model.py
81
+ enmem_client_api/models/reflect_request.py
82
+ enmem_client_api/models/reflect_response.py
83
+ enmem_client_api/models/reflect_tool_call.py
84
+ enmem_client_api/models/reflect_trace.py
85
+ enmem_client_api/models/retain_request.py
86
+ enmem_client_api/models/retain_response.py
87
+ enmem_client_api/models/retry_operation_response.py
88
+ enmem_client_api/models/source_facts_include_options.py
89
+ enmem_client_api/models/tag_group_and.py
90
+ enmem_client_api/models/tag_group_leaf.py
91
+ enmem_client_api/models/tag_group_not.py
92
+ enmem_client_api/models/tag_group_or.py
93
+ enmem_client_api/models/tag_item.py
94
+ enmem_client_api/models/timestamp.py
95
+ enmem_client_api/models/token_usage.py
96
+ enmem_client_api/models/tool_calls_include_options.py
97
+ enmem_client_api/models/update_directive_request.py
98
+ enmem_client_api/models/update_disposition_request.py
99
+ enmem_client_api/models/update_document_request.py
100
+ enmem_client_api/models/update_document_response.py
101
+ enmem_client_api/models/update_mental_model_request.py
102
+ enmem_client_api/models/update_webhook_request.py
103
+ enmem_client_api/models/validation_error.py
104
+ enmem_client_api/models/validation_error_loc_inner.py
105
+ enmem_client_api/models/version_response.py
106
+ enmem_client_api/models/webhook_delivery_list_response.py
107
+ enmem_client_api/models/webhook_delivery_response.py
108
+ enmem_client_api/models/webhook_http_config.py
109
+ enmem_client_api/models/webhook_list_response.py
110
+ enmem_client_api/models/webhook_response.py
111
+ enmem_client_api/rest.py
112
+ enmem_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,19 @@
1
+ Metadata-Version: 2.4
2
+ Name: enmem-client
3
+ Version: 0.4.19
4
+ Summary: Python client for Hindsight - Semantic memory system with personality-driven thinking
5
+ Author: Hindsight Team
6
+ Requires-Python: >=3.10
7
+ Requires-Dist: aiohttp-retry>=2.8.3
8
+ Requires-Dist: aiohttp>=3.8.4
9
+ Requires-Dist: pydantic>=2
10
+ Requires-Dist: python-dateutil>=2.8.2
11
+ Requires-Dist: typing-extensions>=4.7.1
12
+ Requires-Dist: urllib3<3.0.0,>=2.1.0
13
+ Provides-Extra: test
14
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'test'
15
+ Requires-Dist: pytest>=7.0.0; extra == 'test'
16
+ Requires-Dist: requests>=2.28.0; extra == 'test'
17
+ Description-Content-Type: text/markdown
18
+
19
+ # Hindsight Python Client
@@ -0,0 +1 @@
1
+ # Hindsight Python Client
@@ -0,0 +1,97 @@
1
+ """
2
+ Enmem Client - Clean, pythonic wrapper for the Enmem API.
3
+
4
+ This package provides a high-level interface for common Enmem operations.
5
+ For advanced use cases, use the auto-generated API client directly.
6
+
7
+ Example:
8
+ ```python
9
+ from enmem_client import Enmem
10
+
11
+ client = Enmem(base_url="http://localhost:8888")
12
+
13
+ # Store a memory
14
+ result = client.retain(bank_id="alice", content="Alice loves AI")
15
+ print(result.success)
16
+
17
+ # Search memories
18
+ response = client.recall(bank_id="alice", query="What does Alice like?")
19
+ for r in response.results:
20
+ print(r.text)
21
+
22
+ # Generate contextual answer
23
+ answer = client.reflect(bank_id="alice", query="What are my interests?")
24
+ print(answer.text)
25
+ ```
26
+ """
27
+
28
+ from enmem_client_api.models.bank_profile_response import BankProfileResponse
29
+ from enmem_client_api.models.disposition_traits import DispositionTraits
30
+ from enmem_client_api.models.list_memory_units_response import ListMemoryUnitsResponse
31
+ from enmem_client_api.models.recall_response import RecallResponse as _RecallResponse
32
+ from enmem_client_api.models.recall_result import RecallResult as _RecallResult
33
+ from enmem_client_api.models.reflect_fact import ReflectFact
34
+ from enmem_client_api.models.reflect_response import ReflectResponse
35
+
36
+ # Re-export response types for convenient access
37
+ from enmem_client_api.models.retain_response import RetainResponse
38
+
39
+ from .enmem_client import Enmem
40
+
41
+
42
+ # Add cleaner __repr__ and __iter__ for REPL usability
43
+ def _recall_result_repr(self):
44
+ text_preview = self.text[:80] + "..." if len(self.text) > 80 else self.text
45
+ return f"RecallResult(id='{self.id[:8]}...', type='{self.type}', text='{text_preview}')"
46
+
47
+
48
+ def _recall_response_repr(self):
49
+ count = len(self.results) if self.results else 0
50
+ extras = []
51
+ if self.trace:
52
+ extras.append("trace=True")
53
+ if self.entities:
54
+ extras.append(f"entities={len(self.entities)}")
55
+ if self.chunks:
56
+ extras.append(f"chunks={len(self.chunks)}")
57
+ extras_str = ", " + ", ".join(extras) if extras else ""
58
+ return f"RecallResponse({count} results{extras_str})"
59
+
60
+
61
+ def _recall_response_iter(self):
62
+ """Iterate directly over results for convenience."""
63
+ return iter(self.results or [])
64
+
65
+
66
+ def _recall_response_len(self):
67
+ """Return number of results."""
68
+ return len(self.results) if self.results else 0
69
+
70
+
71
+ def _recall_response_getitem(self, index):
72
+ """Access results by index."""
73
+ return self.results[index]
74
+
75
+
76
+ _RecallResult.__repr__ = _recall_result_repr
77
+ _RecallResponse.__repr__ = _recall_response_repr
78
+ _RecallResponse.__iter__ = _recall_response_iter
79
+ _RecallResponse.__len__ = _recall_response_len
80
+ _RecallResponse.__getitem__ = _recall_response_getitem
81
+
82
+ # Re-export with patched repr
83
+ RecallResult = _RecallResult
84
+ RecallResponse = _RecallResponse
85
+
86
+ __all__ = [
87
+ "Enmem",
88
+ # Response types
89
+ "RetainResponse",
90
+ "RecallResponse",
91
+ "RecallResult",
92
+ "ReflectResponse",
93
+ "ReflectFact",
94
+ "ListMemoryUnitsResponse",
95
+ "BankProfileResponse",
96
+ "DispositionTraits",
97
+ ]