cognimemo-client 0.9.2__py3-none-any.whl
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.
- cognimemo_client/__init__.py +164 -0
- cognimemo_client/cognimemo_client.py +2257 -0
- cognimemo_client/py.typed +0 -0
- cognimemo_client-0.9.2.dist-info/METADATA +136 -0
- cognimemo_client-0.9.2.dist-info/RECORD +199 -0
- cognimemo_client-0.9.2.dist-info/WHEEL +4 -0
- cognimemo_client_api/__init__.py +216 -0
- cognimemo_client_api/api/__init__.py +20 -0
- cognimemo_client_api/api/audit_api.py +1046 -0
- cognimemo_client_api/api/bank_templates_api.py +858 -0
- cognimemo_client_api/api/banks_api.py +4765 -0
- cognimemo_client_api/api/directives_api.py +1619 -0
- cognimemo_client_api/api/document_transfer_api.py +1236 -0
- cognimemo_client_api/api/documents_api.py +2215 -0
- cognimemo_client_api/api/entities_api.py +1254 -0
- cognimemo_client_api/api/files_api.py +361 -0
- cognimemo_client_api/api/knowledge_base_api.py +2434 -0
- cognimemo_client_api/api/llm_traces_api.py +834 -0
- cognimemo_client_api/api/memory_api.py +4536 -0
- cognimemo_client_api/api/mental_models_api.py +2811 -0
- cognimemo_client_api/api/monitoring_api.py +1263 -0
- cognimemo_client_api/api/operations_api.py +1595 -0
- cognimemo_client_api/api/spaces_api.py +1754 -0
- cognimemo_client_api/api/webhooks_api.py +1569 -0
- cognimemo_client_api/api_client.py +800 -0
- cognimemo_client_api/api_response.py +21 -0
- cognimemo_client_api/configuration.py +561 -0
- cognimemo_client_api/exceptions.py +199 -0
- cognimemo_client_api/models/__init__.py +184 -0
- cognimemo_client_api/models/add_background_request.py +89 -0
- cognimemo_client_api/models/async_operation_submit_response.py +89 -0
- cognimemo_client_api/models/audit_log_entry.py +135 -0
- cognimemo_client_api/models/audit_log_list_response.py +103 -0
- cognimemo_client_api/models/audit_log_stats_bucket.py +91 -0
- cognimemo_client_api/models/audit_log_stats_response.py +103 -0
- cognimemo_client_api/models/background_response.py +105 -0
- cognimemo_client_api/models/bank_config_response.py +91 -0
- cognimemo_client_api/models/bank_config_update.py +87 -0
- cognimemo_client_api/models/bank_list_item.py +137 -0
- cognimemo_client_api/models/bank_list_response.py +101 -0
- cognimemo_client_api/models/bank_llm_health_response.py +97 -0
- cognimemo_client_api/models/bank_profile_response.py +104 -0
- cognimemo_client_api/models/bank_space_response.py +94 -0
- cognimemo_client_api/models/bank_stats_response.py +127 -0
- cognimemo_client_api/models/bank_template_config.py +416 -0
- cognimemo_client_api/models/bank_template_directive.py +95 -0
- cognimemo_client_api/models/bank_template_import_response.py +101 -0
- cognimemo_client_api/models/bank_template_manifest.py +128 -0
- cognimemo_client_api/models/bank_template_mental_model.py +102 -0
- cognimemo_client_api/models/budget.py +38 -0
- cognimemo_client_api/models/cancel_operation_response.py +91 -0
- cognimemo_client_api/models/child_operation_status.py +110 -0
- cognimemo_client_api/models/chunk_data.py +93 -0
- cognimemo_client_api/models/chunk_include_options.py +87 -0
- cognimemo_client_api/models/chunk_response.py +97 -0
- cognimemo_client_api/models/clear_memory_observations_response.py +87 -0
- cognimemo_client_api/models/consolidation_request.py +92 -0
- cognimemo_client_api/models/consolidation_response.py +89 -0
- cognimemo_client_api/models/create_bank_request.py +216 -0
- cognimemo_client_api/models/create_directive_request.py +95 -0
- cognimemo_client_api/models/create_folder_request.py +94 -0
- cognimemo_client_api/models/create_knowledge_page_response.py +96 -0
- cognimemo_client_api/models/create_mental_model_request.py +107 -0
- cognimemo_client_api/models/create_mental_model_response.py +94 -0
- cognimemo_client_api/models/create_page_request.py +121 -0
- cognimemo_client_api/models/create_webhook_request.py +104 -0
- cognimemo_client_api/models/delete_document_response.py +93 -0
- cognimemo_client_api/models/delete_operation_response.py +91 -0
- cognimemo_client_api/models/delete_response.py +101 -0
- cognimemo_client_api/models/directive_list_response.py +101 -0
- cognimemo_client_api/models/directive_response.py +113 -0
- cognimemo_client_api/models/disposition_traits.py +92 -0
- cognimemo_client_api/models/document_export_submit_response.py +89 -0
- cognimemo_client_api/models/document_import_submit_response.py +89 -0
- cognimemo_client_api/models/document_response.py +143 -0
- cognimemo_client_api/models/dry_run_extract_request.py +168 -0
- cognimemo_client_api/models/dry_run_extraction_result.py +101 -0
- cognimemo_client_api/models/entity_detail_response.py +122 -0
- cognimemo_client_api/models/entity_graph_response.py +95 -0
- cognimemo_client_api/models/entity_include_options.py +87 -0
- cognimemo_client_api/models/entity_input.py +94 -0
- cognimemo_client_api/models/entity_list_item.py +112 -0
- cognimemo_client_api/models/entity_list_response.py +101 -0
- cognimemo_client_api/models/entity_observation_response.py +94 -0
- cognimemo_client_api/models/entity_state_response.py +99 -0
- cognimemo_client_api/models/extracted_fact.py +105 -0
- cognimemo_client_api/models/features_info.py +107 -0
- cognimemo_client_api/models/file_retain_response.py +87 -0
- cognimemo_client_api/models/graph_data_response.py +95 -0
- cognimemo_client_api/models/http_validation_error.py +95 -0
- cognimemo_client_api/models/include_options.py +118 -0
- cognimemo_client_api/models/knowledge_node.py +159 -0
- cognimemo_client_api/models/knowledge_page_bundle_file.py +89 -0
- cognimemo_client_api/models/knowledge_page_bundle_response.py +95 -0
- cognimemo_client_api/models/knowledge_page_response.py +116 -0
- cognimemo_client_api/models/knowledge_page_search_response.py +97 -0
- cognimemo_client_api/models/knowledge_page_search_result.py +107 -0
- cognimemo_client_api/models/knowledge_tree_response.py +95 -0
- cognimemo_client_api/models/label_group_input.py +130 -0
- cognimemo_client_api/models/label_group_output.py +130 -0
- cognimemo_client_api/models/label_value.py +89 -0
- cognimemo_client_api/models/list_chunks_response.py +101 -0
- cognimemo_client_api/models/list_documents_response.py +93 -0
- cognimemo_client_api/models/list_memory_units_response.py +93 -0
- cognimemo_client_api/models/list_tags_response.py +101 -0
- cognimemo_client_api/models/liveness_response.py +98 -0
- cognimemo_client_api/models/llm_call_trace.py +89 -0
- cognimemo_client_api/models/llm_operation_health.py +112 -0
- cognimemo_client_api/models/llm_request_entry.py +219 -0
- cognimemo_client_api/models/llm_request_list_response.py +103 -0
- cognimemo_client_api/models/llm_request_stats_bucket.py +97 -0
- cognimemo_client_api/models/llm_request_stats_response.py +103 -0
- cognimemo_client_api/models/llm_request_token_sums.py +93 -0
- cognimemo_client_api/models/map_field_input.py +125 -0
- cognimemo_client_api/models/map_field_output.py +125 -0
- cognimemo_client_api/models/memories_timeseries_response.py +103 -0
- cognimemo_client_api/models/memory_item.py +185 -0
- cognimemo_client_api/models/memory_timeseries_bucket.py +93 -0
- cognimemo_client_api/models/mental_model_delta_operations.py +89 -0
- cognimemo_client_api/models/mental_model_dry_run_refresh_result.py +201 -0
- cognimemo_client_api/models/mental_model_fact_counts.py +89 -0
- cognimemo_client_api/models/mental_model_list_response.py +101 -0
- cognimemo_client_api/models/mental_model_refresh_scope.py +127 -0
- cognimemo_client_api/models/mental_model_refresh_scope_tag_groups_inner.py +166 -0
- cognimemo_client_api/models/mental_model_refresh_trace.py +185 -0
- cognimemo_client_api/models/mental_model_refresh_window.py +102 -0
- cognimemo_client_api/models/mental_model_response.py +160 -0
- cognimemo_client_api/models/mental_model_retraction.py +98 -0
- cognimemo_client_api/models/mental_model_trace_tool_call.py +122 -0
- cognimemo_client_api/models/mental_model_trigger_input.py +203 -0
- cognimemo_client_api/models/mental_model_trigger_input_tag_groups_inner.py +166 -0
- cognimemo_client_api/models/mental_model_trigger_output.py +203 -0
- cognimemo_client_api/models/min_scores.py +113 -0
- cognimemo_client_api/models/model_not.py +166 -0
- cognimemo_client_api/models/not1.py +166 -0
- cognimemo_client_api/models/observation_scope.py +89 -0
- cognimemo_client_api/models/observation_scopes.py +144 -0
- cognimemo_client_api/models/observation_scopes_response.py +95 -0
- cognimemo_client_api/models/operation_progress.py +110 -0
- cognimemo_client_api/models/operation_response.py +166 -0
- cognimemo_client_api/models/operation_status_response.py +196 -0
- cognimemo_client_api/models/operations_list_response.py +103 -0
- cognimemo_client_api/models/recall_request.py +172 -0
- cognimemo_client_api/models/recall_response.py +179 -0
- cognimemo_client_api/models/recall_result.py +177 -0
- cognimemo_client_api/models/recall_scores.py +108 -0
- cognimemo_client_api/models/recall_usage.py +93 -0
- cognimemo_client_api/models/recover_consolidation_response.py +87 -0
- cognimemo_client_api/models/reflect_based_on.py +115 -0
- cognimemo_client_api/models/reflect_directive.py +91 -0
- cognimemo_client_api/models/reflect_fact.py +122 -0
- cognimemo_client_api/models/reflect_include_options.py +98 -0
- cognimemo_client_api/models/reflect_llm_call.py +89 -0
- cognimemo_client_api/models/reflect_mental_model.py +96 -0
- cognimemo_client_api/models/reflect_request.py +175 -0
- cognimemo_client_api/models/reflect_response.py +127 -0
- cognimemo_client_api/models/reflect_tool_call.py +100 -0
- cognimemo_client_api/models/reflect_trace.py +105 -0
- cognimemo_client_api/models/refresh_mental_model_operation_details.py +123 -0
- cognimemo_client_api/models/reprocess_document_response.py +91 -0
- cognimemo_client_api/models/retain_request.py +111 -0
- cognimemo_client_api/models/retain_response.py +118 -0
- cognimemo_client_api/models/retry_operation_response.py +91 -0
- cognimemo_client_api/models/source_facts_include_options.py +89 -0
- cognimemo_client_api/models/space_bank_item.py +109 -0
- cognimemo_client_api/models/space_bank_list_response.py +97 -0
- cognimemo_client_api/models/space_item.py +111 -0
- cognimemo_client_api/models/space_list_response.py +95 -0
- cognimemo_client_api/models/tag_group_and_input.py +97 -0
- cognimemo_client_api/models/tag_group_and_output.py +97 -0
- cognimemo_client_api/models/tag_group_leaf.py +99 -0
- cognimemo_client_api/models/tag_group_not_input.py +93 -0
- cognimemo_client_api/models/tag_group_not_output.py +93 -0
- cognimemo_client_api/models/tag_group_or_input.py +97 -0
- cognimemo_client_api/models/tag_group_or_output.py +97 -0
- cognimemo_client_api/models/tag_item.py +89 -0
- cognimemo_client_api/models/temporal_window.py +90 -0
- cognimemo_client_api/models/timestamp.py +145 -0
- cognimemo_client_api/models/token_usage.py +95 -0
- cognimemo_client_api/models/tool_calls_include_options.py +87 -0
- cognimemo_client_api/models/update_directive_request.py +120 -0
- cognimemo_client_api/models/update_disposition_request.py +91 -0
- cognimemo_client_api/models/update_document_request.py +92 -0
- cognimemo_client_api/models/update_document_response.py +87 -0
- cognimemo_client_api/models/update_memory_request.py +143 -0
- cognimemo_client_api/models/update_mental_model_request.py +125 -0
- cognimemo_client_api/models/update_node_request.py +131 -0
- cognimemo_client_api/models/update_webhook_request.py +124 -0
- cognimemo_client_api/models/upsert_space_request.py +92 -0
- cognimemo_client_api/models/validation_error.py +108 -0
- cognimemo_client_api/models/validation_error_loc_inner.py +138 -0
- cognimemo_client_api/models/version_response.py +93 -0
- cognimemo_client_api/models/webhook_delivery_list_response.py +102 -0
- cognimemo_client_api/models/webhook_delivery_response.py +151 -0
- cognimemo_client_api/models/webhook_http_config.py +93 -0
- cognimemo_client_api/models/webhook_list_response.py +95 -0
- cognimemo_client_api/models/webhook_response.py +127 -0
- cognimemo_client_api/py.typed +0 -0
- cognimemo_client_api/rest.py +235 -0
|
@@ -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
|
+
]
|