hindsight-client 0.0.13__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.
- hindsight_client/__init__.py +26 -0
- hindsight_client/hindsight_client.py +432 -0
- hindsight_client-0.0.13.dist-info/METADATA +56 -0
- hindsight_client-0.0.13.dist-info/RECORD +134 -0
- hindsight_client-0.0.13.dist-info/WHEEL +4 -0
- hindsight_client_api/__init__.py +126 -0
- hindsight_client_api/api/__init__.py +6 -0
- hindsight_client_api/api/default_api.py +5976 -0
- hindsight_client_api/api/monitoring_api.py +281 -0
- hindsight_client_api/api_client.py +807 -0
- hindsight_client_api/api_response.py +21 -0
- hindsight_client_api/configuration.py +572 -0
- hindsight_client_api/docs/AddBackgroundRequest.md +31 -0
- hindsight_client_api/docs/BackgroundResponse.md +31 -0
- hindsight_client_api/docs/BankListItem.md +35 -0
- hindsight_client_api/docs/BankListResponse.md +30 -0
- hindsight_client_api/docs/BankProfileResponse.md +33 -0
- hindsight_client_api/docs/Budget.md +15 -0
- hindsight_client_api/docs/ChunkData.md +33 -0
- hindsight_client_api/docs/ChunkIncludeOptions.md +30 -0
- hindsight_client_api/docs/ChunkResponse.md +35 -0
- hindsight_client_api/docs/CreateBankRequest.md +32 -0
- hindsight_client_api/docs/DefaultApi.md +1569 -0
- hindsight_client_api/docs/DeleteResponse.md +30 -0
- hindsight_client_api/docs/DocumentResponse.md +36 -0
- hindsight_client_api/docs/EntityDetailResponse.md +36 -0
- hindsight_client_api/docs/EntityIncludeOptions.md +30 -0
- hindsight_client_api/docs/EntityListItem.md +35 -0
- hindsight_client_api/docs/EntityListResponse.md +30 -0
- hindsight_client_api/docs/EntityObservationResponse.md +31 -0
- hindsight_client_api/docs/EntityStateResponse.md +32 -0
- hindsight_client_api/docs/GraphDataResponse.md +33 -0
- hindsight_client_api/docs/HTTPValidationError.md +29 -0
- hindsight_client_api/docs/IncludeOptions.md +31 -0
- hindsight_client_api/docs/ListDocumentsResponse.md +33 -0
- hindsight_client_api/docs/ListMemoryUnitsResponse.md +33 -0
- hindsight_client_api/docs/MemoryItem.md +34 -0
- hindsight_client_api/docs/MetadataFilter.md +32 -0
- hindsight_client_api/docs/MonitoringApi.md +72 -0
- hindsight_client_api/docs/PersonalityTraits.md +35 -0
- hindsight_client_api/docs/RecallRequest.md +37 -0
- hindsight_client_api/docs/RecallResponse.md +33 -0
- hindsight_client_api/docs/RecallResult.md +40 -0
- hindsight_client_api/docs/ReflectFact.md +35 -0
- hindsight_client_api/docs/ReflectIncludeOptions.md +30 -0
- hindsight_client_api/docs/ReflectRequest.md +34 -0
- hindsight_client_api/docs/ReflectResponse.md +31 -0
- hindsight_client_api/docs/RetainRequest.md +31 -0
- hindsight_client_api/docs/RetainResponse.md +33 -0
- hindsight_client_api/docs/UpdatePersonalityRequest.md +30 -0
- hindsight_client_api/docs/ValidationError.md +31 -0
- hindsight_client_api/docs/ValidationErrorLocInner.md +28 -0
- hindsight_client_api/exceptions.py +219 -0
- hindsight_client_api/models/__init__.py +54 -0
- hindsight_client_api/models/add_background_request.py +89 -0
- hindsight_client_api/models/background_response.py +98 -0
- hindsight_client_api/models/bank_list_item.py +111 -0
- hindsight_client_api/models/bank_list_response.py +95 -0
- hindsight_client_api/models/bank_profile_response.py +97 -0
- hindsight_client_api/models/budget.py +38 -0
- hindsight_client_api/models/chunk_data.py +93 -0
- hindsight_client_api/models/chunk_include_options.py +87 -0
- hindsight_client_api/models/chunk_response.py +97 -0
- hindsight_client_api/models/create_bank_request.py +110 -0
- hindsight_client_api/models/delete_response.py +87 -0
- hindsight_client_api/models/document_response.py +104 -0
- hindsight_client_api/models/entity_detail_response.py +122 -0
- hindsight_client_api/models/entity_include_options.py +87 -0
- hindsight_client_api/models/entity_list_item.py +112 -0
- hindsight_client_api/models/entity_list_response.py +95 -0
- hindsight_client_api/models/entity_observation_response.py +94 -0
- hindsight_client_api/models/entity_state_response.py +99 -0
- hindsight_client_api/models/graph_data_response.py +93 -0
- hindsight_client_api/models/http_validation_error.py +95 -0
- hindsight_client_api/models/include_options.py +107 -0
- hindsight_client_api/models/list_documents_response.py +93 -0
- hindsight_client_api/models/list_memory_units_response.py +93 -0
- hindsight_client_api/models/memory_item.py +116 -0
- hindsight_client_api/models/metadata_filter.py +96 -0
- hindsight_client_api/models/personality_traits.py +98 -0
- hindsight_client_api/models/recall_request.py +129 -0
- hindsight_client_api/models/recall_response.py +142 -0
- hindsight_client_api/models/recall_result.py +152 -0
- hindsight_client_api/models/reflect_fact.py +122 -0
- hindsight_client_api/models/reflect_include_options.py +87 -0
- hindsight_client_api/models/reflect_request.py +118 -0
- hindsight_client_api/models/reflect_response.py +97 -0
- hindsight_client_api/models/retain_request.py +97 -0
- hindsight_client_api/models/retain_response.py +93 -0
- hindsight_client_api/models/update_personality_request.py +91 -0
- hindsight_client_api/models/validation_error.py +99 -0
- hindsight_client_api/models/validation_error_loc_inner.py +138 -0
- hindsight_client_api/rest.py +213 -0
- hindsight_client_api/test/__init__.py +0 -0
- hindsight_client_api/test/test_add_background_request.py +53 -0
- hindsight_client_api/test/test_background_response.py +53 -0
- hindsight_client_api/test/test_bank_list_item.py +60 -0
- hindsight_client_api/test/test_bank_list_response.py +68 -0
- hindsight_client_api/test/test_bank_profile_response.py +58 -0
- hindsight_client_api/test/test_budget.py +33 -0
- hindsight_client_api/test/test_chunk_data.py +57 -0
- hindsight_client_api/test/test_chunk_include_options.py +51 -0
- hindsight_client_api/test/test_chunk_response.py +62 -0
- hindsight_client_api/test/test_create_bank_request.py +53 -0
- hindsight_client_api/test/test_default_api.py +178 -0
- hindsight_client_api/test/test_delete_response.py +52 -0
- hindsight_client_api/test/test_document_response.py +64 -0
- hindsight_client_api/test/test_entity_detail_response.py +71 -0
- hindsight_client_api/test/test_entity_include_options.py +51 -0
- hindsight_client_api/test/test_entity_list_item.py +61 -0
- hindsight_client_api/test/test_entity_list_response.py +56 -0
- hindsight_client_api/test/test_entity_observation_response.py +53 -0
- hindsight_client_api/test/test_entity_state_response.py +64 -0
- hindsight_client_api/test/test_graph_data_response.py +82 -0
- hindsight_client_api/test/test_http_validation_error.py +58 -0
- hindsight_client_api/test/test_include_options.py +54 -0
- hindsight_client_api/test/test_list_documents_response.py +66 -0
- hindsight_client_api/test/test_list_memory_units_response.py +66 -0
- hindsight_client_api/test/test_memory_item.py +58 -0
- hindsight_client_api/test/test_metadata_filter.py +54 -0
- hindsight_client_api/test/test_monitoring_api.py +38 -0
- hindsight_client_api/test/test_personality_traits.py +62 -0
- hindsight_client_api/test/test_recall_request.py +67 -0
- hindsight_client_api/test/test_recall_response.py +76 -0
- hindsight_client_api/test/test_recall_result.py +67 -0
- hindsight_client_api/test/test_reflect_fact.py +57 -0
- hindsight_client_api/test/test_reflect_include_options.py +51 -0
- hindsight_client_api/test/test_reflect_request.py +59 -0
- hindsight_client_api/test/test_reflect_response.py +55 -0
- hindsight_client_api/test/test_retain_request.py +57 -0
- hindsight_client_api/test/test_retain_response.py +58 -0
- hindsight_client_api/test/test_update_personality_request.py +52 -0
- hindsight_client_api/test/test_validation_error.py +60 -0
- hindsight_client_api/test/test_validation_error_loc_inner.py +50 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Hindsight Client - Clean, pythonic wrapper for the Hindsight API.
|
|
3
|
+
|
|
4
|
+
This package provides a high-level interface for common Hindsight operations.
|
|
5
|
+
For advanced use cases, use the auto-generated API client directly.
|
|
6
|
+
|
|
7
|
+
Example:
|
|
8
|
+
```python
|
|
9
|
+
from hindsight_client import Hindsight
|
|
10
|
+
|
|
11
|
+
client = Hindsight(base_url="http://localhost:8888")
|
|
12
|
+
|
|
13
|
+
# Store a memory
|
|
14
|
+
client.put(agent_id="alice", content="Alice loves AI")
|
|
15
|
+
|
|
16
|
+
# Search memories
|
|
17
|
+
results = client.search(agent_id="alice", query="What does Alice like?")
|
|
18
|
+
|
|
19
|
+
# Generate contextual answer
|
|
20
|
+
answer = client.think(agent_id="alice", query="What are my interests?")
|
|
21
|
+
```
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
from .hindsight_client import Hindsight
|
|
25
|
+
|
|
26
|
+
__all__ = ["Hindsight"]
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Clean, pythonic wrapper for the Hindsight API client.
|
|
3
|
+
|
|
4
|
+
This file is MAINTAINED and NOT auto-generated. It provides a high-level,
|
|
5
|
+
easy-to-use interface on top of the auto-generated OpenAPI client.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import asyncio
|
|
9
|
+
from typing import Optional, List, Dict, Any
|
|
10
|
+
from datetime import datetime
|
|
11
|
+
|
|
12
|
+
import hindsight_client_api
|
|
13
|
+
from hindsight_client_api.api import default_api
|
|
14
|
+
from hindsight_client_api.models import (
|
|
15
|
+
recall_request,
|
|
16
|
+
retain_request,
|
|
17
|
+
memory_item,
|
|
18
|
+
reflect_request,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _run_async(coro):
|
|
23
|
+
"""Run an async coroutine synchronously."""
|
|
24
|
+
try:
|
|
25
|
+
loop = asyncio.get_event_loop()
|
|
26
|
+
except RuntimeError:
|
|
27
|
+
loop = asyncio.new_event_loop()
|
|
28
|
+
asyncio.set_event_loop(loop)
|
|
29
|
+
|
|
30
|
+
return loop.run_until_complete(coro)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class Hindsight:
|
|
34
|
+
"""
|
|
35
|
+
High-level, easy-to-use Hindsight API client.
|
|
36
|
+
|
|
37
|
+
Example:
|
|
38
|
+
```python
|
|
39
|
+
from hindsight_client import Hindsight
|
|
40
|
+
|
|
41
|
+
client = Hindsight(base_url="http://localhost:8888")
|
|
42
|
+
|
|
43
|
+
# Store a memory
|
|
44
|
+
client.retain(bank_id="alice", content="Alice loves AI")
|
|
45
|
+
|
|
46
|
+
# Recall memories
|
|
47
|
+
results = client.recall(bank_id="alice", query="What does Alice like?")
|
|
48
|
+
|
|
49
|
+
# Generate contextual answer
|
|
50
|
+
answer = client.reflect(bank_id="alice", query="What are my interests?")
|
|
51
|
+
```
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
def __init__(self, base_url: str, timeout: float = 30.0):
|
|
55
|
+
"""
|
|
56
|
+
Initialize the Hindsight client.
|
|
57
|
+
|
|
58
|
+
Args:
|
|
59
|
+
base_url: The base URL of the Hindsight API server
|
|
60
|
+
timeout: Request timeout in seconds (default: 30.0)
|
|
61
|
+
"""
|
|
62
|
+
config = hindsight_client_api.Configuration(host=base_url)
|
|
63
|
+
self._api_client = hindsight_client_api.ApiClient(config)
|
|
64
|
+
self._api = default_api.DefaultApi(self._api_client)
|
|
65
|
+
|
|
66
|
+
def __enter__(self):
|
|
67
|
+
"""Context manager entry."""
|
|
68
|
+
return self
|
|
69
|
+
|
|
70
|
+
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
71
|
+
"""Context manager exit."""
|
|
72
|
+
self.close()
|
|
73
|
+
|
|
74
|
+
def close(self):
|
|
75
|
+
"""Close the API client."""
|
|
76
|
+
if self._api_client:
|
|
77
|
+
_run_async(self._api_client.close())
|
|
78
|
+
|
|
79
|
+
# Simplified methods for main operations
|
|
80
|
+
|
|
81
|
+
def retain(
|
|
82
|
+
self,
|
|
83
|
+
bank_id: str,
|
|
84
|
+
content: str,
|
|
85
|
+
timestamp: Optional[datetime] = None,
|
|
86
|
+
context: Optional[str] = None,
|
|
87
|
+
document_id: Optional[str] = None,
|
|
88
|
+
metadata: Optional[Dict[str, str]] = None,
|
|
89
|
+
) -> Dict[str, Any]:
|
|
90
|
+
"""
|
|
91
|
+
Store a single memory (simplified interface).
|
|
92
|
+
|
|
93
|
+
Args:
|
|
94
|
+
bank_id: The memory bank ID
|
|
95
|
+
content: Memory content
|
|
96
|
+
timestamp: Optional event timestamp
|
|
97
|
+
context: Optional context description
|
|
98
|
+
document_id: Optional document ID for grouping
|
|
99
|
+
metadata: Optional user-defined metadata
|
|
100
|
+
|
|
101
|
+
Returns:
|
|
102
|
+
Response with success status
|
|
103
|
+
"""
|
|
104
|
+
return self.retain_batch(
|
|
105
|
+
bank_id=bank_id,
|
|
106
|
+
items=[{"content": content, "timestamp": timestamp, "context": context, "metadata": metadata}],
|
|
107
|
+
document_id=document_id,
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
def retain_batch(
|
|
111
|
+
self,
|
|
112
|
+
bank_id: str,
|
|
113
|
+
items: List[Dict[str, Any]],
|
|
114
|
+
document_id: Optional[str] = None,
|
|
115
|
+
async_: bool = False,
|
|
116
|
+
) -> Dict[str, Any]:
|
|
117
|
+
"""
|
|
118
|
+
Store multiple memories in batch.
|
|
119
|
+
|
|
120
|
+
Args:
|
|
121
|
+
bank_id: The memory bank ID
|
|
122
|
+
items: List of memory items with 'content' and optional 'timestamp', 'context', 'metadata'
|
|
123
|
+
document_id: Optional document ID for grouping memories
|
|
124
|
+
async_: If True, process asynchronously in background (default: False)
|
|
125
|
+
|
|
126
|
+
Returns:
|
|
127
|
+
Response with success status and item count
|
|
128
|
+
"""
|
|
129
|
+
memory_items = [
|
|
130
|
+
memory_item.MemoryItem(
|
|
131
|
+
content=item["content"],
|
|
132
|
+
timestamp=item.get("timestamp"),
|
|
133
|
+
context=item.get("context"),
|
|
134
|
+
metadata=item.get("metadata"),
|
|
135
|
+
)
|
|
136
|
+
for item in items
|
|
137
|
+
]
|
|
138
|
+
|
|
139
|
+
request_obj = retain_request.RetainRequest(
|
|
140
|
+
items=memory_items,
|
|
141
|
+
document_id=document_id,
|
|
142
|
+
async_=async_,
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
response = _run_async(self._api.retain_memories(bank_id, request_obj))
|
|
146
|
+
return response.to_dict() if hasattr(response, 'to_dict') else response
|
|
147
|
+
|
|
148
|
+
def recall(
|
|
149
|
+
self,
|
|
150
|
+
bank_id: str,
|
|
151
|
+
query: str,
|
|
152
|
+
types: Optional[List[str]] = None,
|
|
153
|
+
max_tokens: int = 4096,
|
|
154
|
+
budget: str = "mid",
|
|
155
|
+
) -> List[Dict[str, Any]]:
|
|
156
|
+
"""
|
|
157
|
+
Recall memories using semantic similarity.
|
|
158
|
+
|
|
159
|
+
Args:
|
|
160
|
+
bank_id: The memory bank ID
|
|
161
|
+
query: Search query
|
|
162
|
+
types: Optional list of fact types to filter (world, agent, opinion, observation)
|
|
163
|
+
max_tokens: Maximum tokens in results (default: 4096)
|
|
164
|
+
budget: Budget level for recall - "low", "mid", or "high" (default: "mid")
|
|
165
|
+
|
|
166
|
+
Returns:
|
|
167
|
+
List of recall results
|
|
168
|
+
"""
|
|
169
|
+
request_obj = recall_request.RecallRequest(
|
|
170
|
+
query=query,
|
|
171
|
+
types=types,
|
|
172
|
+
budget=budget,
|
|
173
|
+
max_tokens=max_tokens,
|
|
174
|
+
trace=False,
|
|
175
|
+
)
|
|
176
|
+
|
|
177
|
+
response = _run_async(self._api.recall_memories(bank_id, request_obj))
|
|
178
|
+
|
|
179
|
+
if hasattr(response, 'results'):
|
|
180
|
+
return [r.to_dict() if hasattr(r, 'to_dict') else r for r in response.results]
|
|
181
|
+
return []
|
|
182
|
+
|
|
183
|
+
def reflect(
|
|
184
|
+
self,
|
|
185
|
+
bank_id: str,
|
|
186
|
+
query: str,
|
|
187
|
+
budget: str = "low",
|
|
188
|
+
context: Optional[str] = None,
|
|
189
|
+
) -> Dict[str, Any]:
|
|
190
|
+
"""
|
|
191
|
+
Generate a contextual answer based on bank identity and memories.
|
|
192
|
+
|
|
193
|
+
Args:
|
|
194
|
+
bank_id: The memory bank ID
|
|
195
|
+
query: The question or prompt
|
|
196
|
+
budget: Budget level for reflection - "low", "mid", or "high" (default: "low")
|
|
197
|
+
context: Optional additional context
|
|
198
|
+
|
|
199
|
+
Returns:
|
|
200
|
+
Response with answer text and optionally facts used
|
|
201
|
+
"""
|
|
202
|
+
request_obj = reflect_request.ReflectRequest(
|
|
203
|
+
query=query,
|
|
204
|
+
budget=budget,
|
|
205
|
+
context=context,
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
response = _run_async(self._api.reflect(bank_id, request_obj))
|
|
209
|
+
return response.to_dict() if hasattr(response, 'to_dict') else response
|
|
210
|
+
|
|
211
|
+
# Full-featured methods (expose more options)
|
|
212
|
+
|
|
213
|
+
def recall_memories(
|
|
214
|
+
self,
|
|
215
|
+
bank_id: str,
|
|
216
|
+
query: str,
|
|
217
|
+
types: Optional[List[str]] = None,
|
|
218
|
+
budget: str = "mid",
|
|
219
|
+
max_tokens: int = 4096,
|
|
220
|
+
trace: bool = False,
|
|
221
|
+
query_timestamp: Optional[str] = None,
|
|
222
|
+
include_entities: bool = True,
|
|
223
|
+
max_entity_tokens: int = 500,
|
|
224
|
+
) -> Dict[str, Any]:
|
|
225
|
+
"""
|
|
226
|
+
Recall memories with all options (full-featured).
|
|
227
|
+
|
|
228
|
+
Args:
|
|
229
|
+
bank_id: The memory bank ID
|
|
230
|
+
query: Search query
|
|
231
|
+
types: Optional list of fact types to filter (world, agent, opinion, observation)
|
|
232
|
+
budget: Budget level - "low", "mid", or "high"
|
|
233
|
+
max_tokens: Maximum tokens in results
|
|
234
|
+
trace: Enable trace output
|
|
235
|
+
query_timestamp: Optional ISO format date string (e.g., '2023-05-30T23:40:00')
|
|
236
|
+
include_entities: Include entity observations in results (default: True)
|
|
237
|
+
max_entity_tokens: Maximum tokens for entity observations (default: 500)
|
|
238
|
+
|
|
239
|
+
Returns:
|
|
240
|
+
Full recall response with results, optional entities, and optional trace
|
|
241
|
+
"""
|
|
242
|
+
from hindsight_client_api.models import include_options, entity_include_options
|
|
243
|
+
|
|
244
|
+
include_opts = include_options.IncludeOptions(
|
|
245
|
+
entities=entity_include_options.EntityIncludeOptions(max_tokens=max_entity_tokens) if include_entities else None
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
request_obj = recall_request.RecallRequest(
|
|
249
|
+
query=query,
|
|
250
|
+
types=types,
|
|
251
|
+
budget=budget,
|
|
252
|
+
max_tokens=max_tokens,
|
|
253
|
+
trace=trace,
|
|
254
|
+
query_timestamp=query_timestamp,
|
|
255
|
+
include=include_opts,
|
|
256
|
+
)
|
|
257
|
+
|
|
258
|
+
response = _run_async(self._api.recall_memories(bank_id, request_obj))
|
|
259
|
+
return response.to_dict() if hasattr(response, 'to_dict') else response
|
|
260
|
+
|
|
261
|
+
def list_memories(
|
|
262
|
+
self,
|
|
263
|
+
bank_id: str,
|
|
264
|
+
type: Optional[str] = None,
|
|
265
|
+
search_query: Optional[str] = None,
|
|
266
|
+
limit: int = 100,
|
|
267
|
+
offset: int = 0,
|
|
268
|
+
) -> Dict[str, Any]:
|
|
269
|
+
"""List memory units with pagination."""
|
|
270
|
+
response = _run_async(self._api.list_memories(
|
|
271
|
+
bank_id=bank_id,
|
|
272
|
+
type=type,
|
|
273
|
+
q=search_query,
|
|
274
|
+
limit=limit,
|
|
275
|
+
offset=offset,
|
|
276
|
+
))
|
|
277
|
+
return response.to_dict() if hasattr(response, 'to_dict') else response
|
|
278
|
+
|
|
279
|
+
def create_bank(
|
|
280
|
+
self,
|
|
281
|
+
bank_id: str,
|
|
282
|
+
name: Optional[str] = None,
|
|
283
|
+
background: Optional[str] = None,
|
|
284
|
+
personality: Optional[Dict[str, float]] = None,
|
|
285
|
+
) -> Dict[str, Any]:
|
|
286
|
+
"""Create or update a memory bank."""
|
|
287
|
+
from hindsight_client_api.models import create_bank_request, personality_traits
|
|
288
|
+
|
|
289
|
+
personality_obj = None
|
|
290
|
+
if personality:
|
|
291
|
+
personality_obj = personality_traits.PersonalityTraits(**personality)
|
|
292
|
+
|
|
293
|
+
request_obj = create_bank_request.CreateBankRequest(
|
|
294
|
+
name=name,
|
|
295
|
+
background=background,
|
|
296
|
+
personality=personality_obj,
|
|
297
|
+
)
|
|
298
|
+
|
|
299
|
+
response = _run_async(self._api.create_or_update_bank(bank_id, request_obj))
|
|
300
|
+
return response.to_dict() if hasattr(response, 'to_dict') else response
|
|
301
|
+
|
|
302
|
+
# Async methods (native async, no _run_async wrapper)
|
|
303
|
+
|
|
304
|
+
async def aretain_batch(
|
|
305
|
+
self,
|
|
306
|
+
bank_id: str,
|
|
307
|
+
items: List[Dict[str, Any]],
|
|
308
|
+
document_id: Optional[str] = None,
|
|
309
|
+
async_: bool = False,
|
|
310
|
+
) -> Dict[str, Any]:
|
|
311
|
+
"""
|
|
312
|
+
Store multiple memories in batch (async).
|
|
313
|
+
|
|
314
|
+
Args:
|
|
315
|
+
bank_id: The memory bank ID
|
|
316
|
+
items: List of memory items with 'content' and optional 'timestamp', 'context', 'metadata'
|
|
317
|
+
document_id: Optional document ID for grouping memories
|
|
318
|
+
async_: If True, process asynchronously in background (default: False)
|
|
319
|
+
|
|
320
|
+
Returns:
|
|
321
|
+
Response with success status and item count
|
|
322
|
+
"""
|
|
323
|
+
memory_items = [
|
|
324
|
+
memory_item.MemoryItem(
|
|
325
|
+
content=item["content"],
|
|
326
|
+
timestamp=item.get("timestamp"),
|
|
327
|
+
context=item.get("context"),
|
|
328
|
+
metadata=item.get("metadata"),
|
|
329
|
+
)
|
|
330
|
+
for item in items
|
|
331
|
+
]
|
|
332
|
+
|
|
333
|
+
request_obj = retain_request.RetainRequest(
|
|
334
|
+
items=memory_items,
|
|
335
|
+
document_id=document_id,
|
|
336
|
+
async_=async_,
|
|
337
|
+
)
|
|
338
|
+
|
|
339
|
+
response = await self._api.retain_memories(bank_id, request_obj)
|
|
340
|
+
return response.to_dict() if hasattr(response, 'to_dict') else response
|
|
341
|
+
|
|
342
|
+
async def aretain(
|
|
343
|
+
self,
|
|
344
|
+
bank_id: str,
|
|
345
|
+
content: str,
|
|
346
|
+
timestamp: Optional[datetime] = None,
|
|
347
|
+
context: Optional[str] = None,
|
|
348
|
+
document_id: Optional[str] = None,
|
|
349
|
+
metadata: Optional[Dict[str, str]] = None,
|
|
350
|
+
) -> Dict[str, Any]:
|
|
351
|
+
"""
|
|
352
|
+
Store a single memory (async).
|
|
353
|
+
|
|
354
|
+
Args:
|
|
355
|
+
bank_id: The memory bank ID
|
|
356
|
+
content: Memory content
|
|
357
|
+
timestamp: Optional event timestamp
|
|
358
|
+
context: Optional context description
|
|
359
|
+
document_id: Optional document ID for grouping
|
|
360
|
+
metadata: Optional user-defined metadata
|
|
361
|
+
|
|
362
|
+
Returns:
|
|
363
|
+
Response with success status
|
|
364
|
+
"""
|
|
365
|
+
return await self.aretain_batch(
|
|
366
|
+
bank_id=bank_id,
|
|
367
|
+
items=[{"content": content, "timestamp": timestamp, "context": context, "metadata": metadata}],
|
|
368
|
+
document_id=document_id,
|
|
369
|
+
)
|
|
370
|
+
|
|
371
|
+
async def arecall(
|
|
372
|
+
self,
|
|
373
|
+
bank_id: str,
|
|
374
|
+
query: str,
|
|
375
|
+
types: Optional[List[str]] = None,
|
|
376
|
+
max_tokens: int = 4096,
|
|
377
|
+
budget: str = "mid",
|
|
378
|
+
) -> List[Dict[str, Any]]:
|
|
379
|
+
"""
|
|
380
|
+
Recall memories using semantic similarity (async).
|
|
381
|
+
|
|
382
|
+
Args:
|
|
383
|
+
bank_id: The memory bank ID
|
|
384
|
+
query: Search query
|
|
385
|
+
types: Optional list of fact types to filter (world, agent, opinion, observation)
|
|
386
|
+
max_tokens: Maximum tokens in results (default: 4096)
|
|
387
|
+
budget: Budget level for recall - "low", "mid", or "high" (default: "mid")
|
|
388
|
+
|
|
389
|
+
Returns:
|
|
390
|
+
List of recall results
|
|
391
|
+
"""
|
|
392
|
+
request_obj = recall_request.RecallRequest(
|
|
393
|
+
query=query,
|
|
394
|
+
types=types,
|
|
395
|
+
budget=budget,
|
|
396
|
+
max_tokens=max_tokens,
|
|
397
|
+
trace=False,
|
|
398
|
+
)
|
|
399
|
+
|
|
400
|
+
response = await self._api.recall_memories(bank_id, request_obj)
|
|
401
|
+
|
|
402
|
+
if hasattr(response, 'results'):
|
|
403
|
+
return [r.to_dict() if hasattr(r, 'to_dict') else r for r in response.results]
|
|
404
|
+
return []
|
|
405
|
+
|
|
406
|
+
async def areflect(
|
|
407
|
+
self,
|
|
408
|
+
bank_id: str,
|
|
409
|
+
query: str,
|
|
410
|
+
budget: str = "low",
|
|
411
|
+
context: Optional[str] = None,
|
|
412
|
+
) -> Dict[str, Any]:
|
|
413
|
+
"""
|
|
414
|
+
Generate a contextual answer based on bank identity and memories (async).
|
|
415
|
+
|
|
416
|
+
Args:
|
|
417
|
+
bank_id: The memory bank ID
|
|
418
|
+
query: The question or prompt
|
|
419
|
+
budget: Budget level for reflection - "low", "mid", or "high" (default: "low")
|
|
420
|
+
context: Optional additional context
|
|
421
|
+
|
|
422
|
+
Returns:
|
|
423
|
+
Response with answer text and optionally facts used
|
|
424
|
+
"""
|
|
425
|
+
request_obj = reflect_request.ReflectRequest(
|
|
426
|
+
query=query,
|
|
427
|
+
budget=budget,
|
|
428
|
+
context=context,
|
|
429
|
+
)
|
|
430
|
+
|
|
431
|
+
response = await self._api.reflect(bank_id, request_obj)
|
|
432
|
+
return response.to_dict() if hasattr(response, 'to_dict') else response
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hindsight-client
|
|
3
|
+
Version: 0.0.13
|
|
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
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
|
|
18
|
+
# Hindsight Python Client
|
|
19
|
+
|
|
20
|
+
Python client library for the Hindsight API.
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pip install hindsight-client
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
```python
|
|
31
|
+
from hindsight_client import Hindsight
|
|
32
|
+
|
|
33
|
+
client = Hindsight(base_url="http://localhost:8888")
|
|
34
|
+
|
|
35
|
+
# Retain information
|
|
36
|
+
client.retain(
|
|
37
|
+
bank_id="my-bank",
|
|
38
|
+
content="Alice works at Google in Mountain View."
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
# Recall memories
|
|
42
|
+
results = client.recall(
|
|
43
|
+
bank_id="my-bank",
|
|
44
|
+
query="Where does Alice work?"
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
# Reflect and get an opinion
|
|
48
|
+
response = client.reflect(
|
|
49
|
+
bank_id="my-bank",
|
|
50
|
+
query="What do you think about Alice's career?"
|
|
51
|
+
)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Documentation
|
|
55
|
+
|
|
56
|
+
For full documentation, visit [hindsight.dev](https://hindsight.dev).
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
hindsight_client/__init__.py,sha256=yDyA5gfFW0MpAl5GIDbfw7Sm1KtocMa-ltStjL6KwnM,711
|
|
2
|
+
hindsight_client/hindsight_client.py,sha256=E_xFdpHmIFVrkS1HkVb-hfYn69_Hh7SzLnjMIDFsm6U,13865
|
|
3
|
+
hindsight_client_api/__init__.py,sha256=XT5Rud7nuVtKKT12yT-fPNjcrKccjDArg2VcDgjq_3I,6052
|
|
4
|
+
hindsight_client_api/api_client.py,sha256=gO_s4kVFGPJMawvNcdoqbpqptHIIKELylVni48b7rqU,27860
|
|
5
|
+
hindsight_client_api/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
6
|
+
hindsight_client_api/configuration.py,sha256=OV4VlRbFSSxdfxTuo81DlL_QmZbT_-FHn39h-XW7VOQ,17787
|
|
7
|
+
hindsight_client_api/exceptions.py,sha256=d0pwToyNcSfRzoBrHUsBrmcm9hssBErq0zGFO0cAboE,6470
|
|
8
|
+
hindsight_client_api/rest.py,sha256=MRNjKt09uidHHL0RF76t5XlwIXAinJV_uvdkJrDoo1I,7225
|
|
9
|
+
hindsight_client_api/api/__init__.py,sha256=aWzhDj7Q3Q5obQwQA-fOtPO2looklumbsAbnLGl_Fhw,174
|
|
10
|
+
hindsight_client_api/api/default_api.py,sha256=WEGywEiYrX8XY8Uku4mkyT7wpwV0IS7q20J4g4aLdao,235937
|
|
11
|
+
hindsight_client_api/api/monitoring_api.py,sha256=t7UGHKOXLCWET6kgy5CmjDQ54SSVDWwekh0j7XTxw20,10408
|
|
12
|
+
hindsight_client_api/docs/AddBackgroundRequest.md,sha256=co9zT309qLV58Xob8V0vejGlAEEuLTUhbTy-I_CgR1I,1223
|
|
13
|
+
hindsight_client_api/docs/BackgroundResponse.md,sha256=3R8rS922JZv3KHbf910lt_IygRK_Zs-H2DqBoAbdH00,1061
|
|
14
|
+
hindsight_client_api/docs/BankListItem.md,sha256=PQp3pZ6EV4Ah7u43iKGOUWBa7xFvP50dZ8098zWoX38,1114
|
|
15
|
+
hindsight_client_api/docs/BankListResponse.md,sha256=20McKN_iVmyOFzQBGOGo-a0D7P2YJTeh31GJna1P6J8,989
|
|
16
|
+
hindsight_client_api/docs/BankProfileResponse.md,sha256=AUQpiUs65lklpw7v_HTXmwMAcAExjCdgRgD3p8wr_HM,1117
|
|
17
|
+
hindsight_client_api/docs/Budget.md,sha256=UMCVLms95l0XATPyK4VcTQoeGQjRv6FsnaKZ547s0Ow,309
|
|
18
|
+
hindsight_client_api/docs/ChunkData.md,sha256=8HaU0DkJnIcVayGQc52noa-QxoM_lckzfX0p3B0cVsg,1021
|
|
19
|
+
hindsight_client_api/docs/ChunkIncludeOptions.md,sha256=zPqCLDkW7flyLjJdhrBnh97zm8Y7WTs-kkaYI1xK9G0,1088
|
|
20
|
+
hindsight_client_api/docs/ChunkResponse.md,sha256=6qZwJfZATMT2dD8ML8IDJ7eSwF-8bmuKz2pLGU1UYPE,1068
|
|
21
|
+
hindsight_client_api/docs/CreateBankRequest.md,sha256=91V_NCrVUib72AW45rQDam4FCiJ5td_vuSPJVqbSxS0,1107
|
|
22
|
+
hindsight_client_api/docs/DefaultApi.md,sha256=bEYpqUdN-c1Z-SjW0K5nTZw_ZZXDgvZ889wKr8fqA2A,48669
|
|
23
|
+
hindsight_client_api/docs/DeleteResponse.md,sha256=k3NHvJoSjemZDGZ_huMXk0gtNKYkDSyGsQ7PCB5aybI,926
|
|
24
|
+
hindsight_client_api/docs/DocumentResponse.md,sha256=ruwb2llltuJLZ3KoVJ-zwF3C7ELjpjaUNet9OK-4JKQ,1145
|
|
25
|
+
hindsight_client_api/docs/EntityDetailResponse.md,sha256=Ea6SGkeMCZWzhOGyzJ5nP7PU7a6SBit6GL8gWnNyOvA,1308
|
|
26
|
+
hindsight_client_api/docs/EntityIncludeOptions.md,sha256=ldI3RHhT8ub11bc1hmwqCEy4XGzJrFq08NGfEXy7p_Y,1100
|
|
27
|
+
hindsight_client_api/docs/EntityListItem.md,sha256=BpYo9ftZyCHUlB6xPURvCvGu_7YSore0xt8Y_b-4gHA,1125
|
|
28
|
+
hindsight_client_api/docs/EntityListResponse.md,sha256=uwzq605X0L8iHDVR12pIG0t-iVPCgUz5NR39lyWYgqE,1022
|
|
29
|
+
hindsight_client_api/docs/EntityObservationResponse.md,sha256=6-7UxvIKFqGyQaoyHOdadHzXnAigOb2zGHXmpvr6rf0,1109
|
|
30
|
+
hindsight_client_api/docs/EntityStateResponse.md,sha256=08ntXHc69PVXiOGcrg3HwqeYo9wHG5ivfcAvJI-C6eQ,1123
|
|
31
|
+
hindsight_client_api/docs/GraphDataResponse.md,sha256=UIsZmMFNXwKNujVeha8TFPiq4HxZqHOWDXNXbm1yNm8,1119
|
|
32
|
+
hindsight_client_api/docs/HTTPValidationError.md,sha256=IZC9oMGPXsIFy7yeKKgRpZHQXzz0wyIp2ZChHA9MaXI,1008
|
|
33
|
+
hindsight_client_api/docs/IncludeOptions.md,sha256=GZ4xlW2amRYgWq_dL7sdmnrmUdWtdY9FnHqKhotcRoI,1080
|
|
34
|
+
hindsight_client_api/docs/ListDocumentsResponse.md,sha256=knIyqPUGLe1Pg0dLnjrnHgO1RqB7RisKEZWSyiX4oiI,1125
|
|
35
|
+
hindsight_client_api/docs/ListMemoryUnitsResponse.md,sha256=UBFQ1uJd9AAcRHWtgr7hjx86ka_EmPKr5LwH15UO2Mc,1160
|
|
36
|
+
hindsight_client_api/docs/MemoryItem.md,sha256=UaHZE9BQO9BJgsGJL8QfAeuogtCZmFoH4XZshoyLmcI,1045
|
|
37
|
+
hindsight_client_api/docs/MetadataFilter.md,sha256=K7WQ-K1GM4I9nIuCcWCkMVyWqkEKb_xClM3N8QmZp18,1170
|
|
38
|
+
hindsight_client_api/docs/MonitoringApi.md,sha256=CTnVtwDHWBRqMRboIap7uJokLpSmdLWun8yxlK_lQuM,1976
|
|
39
|
+
hindsight_client_api/docs/PersonalityTraits.md,sha256=p6kx-lTP_tWj-8UnwZDySdFj1DHIWCZut1ULkuwMGbA,1309
|
|
40
|
+
hindsight_client_api/docs/RecallRequest.md,sha256=DX3ADDMnKaQBhYasXfEHxQhJwjuKVO8YH5hcyaAZYts,1386
|
|
41
|
+
hindsight_client_api/docs/RecallResponse.md,sha256=VbABZlZwMTaSuqaqAAOOAjkuqaDB4azaQAFP5noJkVc,1173
|
|
42
|
+
hindsight_client_api/docs/RecallResult.md,sha256=1QTIqPN86Gq--tw-LwFVBmO5QD4dj8DbzJqe0ywUrew,1297
|
|
43
|
+
hindsight_client_api/docs/ReflectFact.md,sha256=f9wmQde692is1dF6sw6S5_zIDI9Z_AHSbCvD7ALluLY,1075
|
|
44
|
+
hindsight_client_api/docs/ReflectIncludeOptions.md,sha256=tH-pQeSv0QH9hoLmQhsg0PO5R3jVolDK6JFUG5CHi50,1112
|
|
45
|
+
hindsight_client_api/docs/ReflectRequest.md,sha256=066vUaiiXUf9yau5y7jJLTMDqVcSjOhyckbdj-kdc3A,1235
|
|
46
|
+
hindsight_client_api/docs/ReflectResponse.md,sha256=ziZtjLkXfX7RieaBtL5XC1JxgyG5_1rda-pZHHrQAaA,1019
|
|
47
|
+
hindsight_client_api/docs/RetainRequest.md,sha256=u-IhxRJo2iFWtskDsRpBJJjOdm7mfLGE6j1W6iNTcKY,1090
|
|
48
|
+
hindsight_client_api/docs/RetainResponse.md,sha256=2a3Wz7ilrnQ_BFf6YTqWDmA94gohs8kU9sCR3mJYrj8,1065
|
|
49
|
+
hindsight_client_api/docs/UpdatePersonalityRequest.md,sha256=j7HBHSFWFfR7B8lJqfEY37lorG075uv7R_ShdoeZmRo,1112
|
|
50
|
+
hindsight_client_api/docs/ValidationError.md,sha256=moV1dyA1z8n2DSD18ri7x7GDJujHc6--fbwGr4u8cl4,1001
|
|
51
|
+
hindsight_client_api/docs/ValidationErrorLocInner.md,sha256=WP7Zm2LNt2HZb6XHo0cLvLCrht-EGFKp0i4zD3jPMto,988
|
|
52
|
+
hindsight_client_api/models/__init__.py,sha256=px7xyeosOlkWejYftFpGmWrTKtFi34K95K6GdmyLqLc,3187
|
|
53
|
+
hindsight_client_api/models/add_background_request.py,sha256=UiRFfyOEQ8MYqeleKE2tX5b1ZQNxUQIV8QqGRDx1d9Y,2876
|
|
54
|
+
hindsight_client_api/models/background_response.py,sha256=LrwGkXzBrCWLRQPB4VabaTa5Ugb9fUXPFT6RzKmJwJE,3144
|
|
55
|
+
hindsight_client_api/models/bank_list_item.py,sha256=63XSHeoNRzmoK_7anUssKyWyqso0MbuI8-fYaaxulR8,3681
|
|
56
|
+
hindsight_client_api/models/bank_list_response.py,sha256=8ywzWZEJCj3_02-5twORc7sGWIC6T114G7aDDzOqOh4,2896
|
|
57
|
+
hindsight_client_api/models/bank_profile_response.py,sha256=6cxnw7Dviy5HgvwQsjSZJnuxXv45VHL2BWyO5N9htc0,3030
|
|
58
|
+
hindsight_client_api/models/budget.py,sha256=MxiFUUh-b8sV6rTuVDeAIJduou1FHU8zi_hD5V-JWYg,702
|
|
59
|
+
hindsight_client_api/models/chunk_data.py,sha256=ARH2uO5RWbB6GNgVtzi3ADo7ijKTlWmc5uGuNhkS53k,2828
|
|
60
|
+
hindsight_client_api/models/chunk_include_options.py,sha256=uqlWWYPajjvDsfCouY8Ysw8OYQ3GtR9h7QLmn-8K534,2634
|
|
61
|
+
hindsight_client_api/models/chunk_response.py,sha256=nrwHLEaFTfcYaRhdf2eGa7YOV075fwG09C1sG7IwVUY,2888
|
|
62
|
+
hindsight_client_api/models/create_bank_request.py,sha256=2ymRgmfVtxAzCw41kVlGZhQBgthXaNbE9dNeZQr3bdw,3668
|
|
63
|
+
hindsight_client_api/models/delete_response.py,sha256=ruXyEg7cavfXXmVrWmh_k8Kabpo-ef1iTY_aiOehS5k,2436
|
|
64
|
+
hindsight_client_api/models/document_response.py,sha256=HOJ0TTKF7Bkdii-UyfUOzMNcJhrzrgShSxDq6z2vFjE,3256
|
|
65
|
+
hindsight_client_api/models/entity_detail_response.py,sha256=rHv59Hvk0U5GFw-n4FIT_GMypPNGAuOzzNXu8b7zvCU,4312
|
|
66
|
+
hindsight_client_api/models/entity_include_options.py,sha256=qRo4gnHEKl8GugqNl24ugEV0nSusdEcZycxKU2YgHIM,2635
|
|
67
|
+
hindsight_client_api/models/entity_list_item.py,sha256=RVuWRo5YEE9CPAGsJjQpIPGlCaGYdZMcsTWofn7EHRs,3602
|
|
68
|
+
hindsight_client_api/models/entity_list_response.py,sha256=xi2oBFliGHdr6Oabh3ubZBUYwpsVt9HYPrVpTbr5VSk,2913
|
|
69
|
+
hindsight_client_api/models/entity_observation_response.py,sha256=600r__u4bPWJkEtZ2IF0trnQLdrZp_ybJNUf8BcJiq0,2804
|
|
70
|
+
hindsight_client_api/models/entity_state_response.py,sha256=1b3ZmUT8GWs3u0HTl3Un56kiPXN8tQAgD9EO_C3K2EM,3239
|
|
71
|
+
hindsight_client_api/models/graph_data_response.py,sha256=uzWzj-60AQRObcYplaDeNqbMCJ6tAuGhEBCTpqB0L5g,2721
|
|
72
|
+
hindsight_client_api/models/http_validation_error.py,sha256=GLVEdsmTx9xa8jC11qt5N8-Ich7s8nkXpQp9kIL6lcg,2937
|
|
73
|
+
hindsight_client_api/models/include_options.py,sha256=jqNB_VdponAnlrY6vhRv54UOdBkH3UayJRzOMnD-dpI,3645
|
|
74
|
+
hindsight_client_api/models/list_documents_response.py,sha256=RACBMWojY9yVfQlTt600xG1AFOO20S3SKyh_R24kpzw,2675
|
|
75
|
+
hindsight_client_api/models/list_memory_units_response.py,sha256=_B7-Aw-0VCny98lP3zt9VQomR6zEvSQ84q1CQIXb6Os,2684
|
|
76
|
+
hindsight_client_api/models/memory_item.py,sha256=97_WLBTKBxtE37r39LO1Rv4AuS8SHHmvOqFydD0cVaM,3741
|
|
77
|
+
hindsight_client_api/models/metadata_filter.py,sha256=DsQdItQamsavISgHL4QO8DCwPFCmeoCbvtVtQLU-OWk,3101
|
|
78
|
+
hindsight_client_api/models/personality_traits.py,sha256=Cr1AAtTcWVwackp-wSxsUwYIInfQujbPc2VVyuuumuA,3892
|
|
79
|
+
hindsight_client_api/models/recall_request.py,sha256=ILhJEgnJG-Te4M8lrotE7dqpvkujTWPI2Y2qjGaMpS0,4856
|
|
80
|
+
hindsight_client_api/models/recall_response.py,sha256=PlLOE1_ixkUcDSjKnNng2-8uoL3sGeFgHHQJ8CI-CNE,5103
|
|
81
|
+
hindsight_client_api/models/recall_result.py,sha256=CmIN7BF6zBBwl8hpmce4rHVMB4GS0PwbzUMcQZn2QN0,5402
|
|
82
|
+
hindsight_client_api/models/reflect_fact.py,sha256=PVXV3yTMrVIawv2HMLC-fBOEo4QxQGe0JAgiOsaigaU,3973
|
|
83
|
+
hindsight_client_api/models/reflect_include_options.py,sha256=G1l38KRDvXhYLRTb-Yfwjzh6ETXdU0qX5iLwMSd1mIE,2584
|
|
84
|
+
hindsight_client_api/models/reflect_request.py,sha256=fJ-6xSckV-XTMvM7g-oJVDdj-0InJv8pGIZTvgq6m54,4210
|
|
85
|
+
hindsight_client_api/models/reflect_response.py,sha256=4pS5fgZa34wsdb4HmuSYOS8gu1-gS9akuRU-e77pxAM,3024
|
|
86
|
+
hindsight_client_api/models/retain_request.py,sha256=t6uB_mIrjMsHm5zdwrhPzdqVjoVyqqNijcMRL0_a9iE,3178
|
|
87
|
+
hindsight_client_api/models/retain_response.py,sha256=LmtP9CsPvsfLIYhmz0xsWFHI4AOg1C9CT49D-_Wfing,2796
|
|
88
|
+
hindsight_client_api/models/update_personality_request.py,sha256=y_JDP8wrr93BqgAlzrzNlhVhPKiSETNS-sI9AkrbiYQ,2817
|
|
89
|
+
hindsight_client_api/models/validation_error.py,sha256=iRhOO1MxLQvZiiM5xyMbJSrhJUspG-Bn2HZ-nMCxUhg,3029
|
|
90
|
+
hindsight_client_api/models/validation_error_loc_inner.py,sha256=YmggpQXbrX6V2q-s29sTsI59p72DXi2MoUZPfAVpMZ8,4812
|
|
91
|
+
hindsight_client_api/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
92
|
+
hindsight_client_api/test/test_add_background_request.py,sha256=DS7JQE3xWHmpYvtR09pVQSAO6ci6lacaHaDoMRmQfCw,1463
|
|
93
|
+
hindsight_client_api/test/test_background_response.py,sha256=C1sPSFj9p9PuJIsPU7BSsAxguK8UdCDTfcwnkW79PLs,1543
|
|
94
|
+
hindsight_client_api/test/test_bank_list_item.py,sha256=_htF0NYhrUIgSfxks6YvgVyp18ymolkmZ2UNlEk1yFw,1794
|
|
95
|
+
hindsight_client_api/test/test_bank_list_response.py,sha256=nJ_OfZ2km2LZUc8N78O_AJBSTtg_glFH4vT2begA3X4,2270
|
|
96
|
+
hindsight_client_api/test/test_bank_profile_response.py,sha256=v8EjsEQKfKKSFwGgerydVjzRgJDIuQhluTHVE1fHBnQ,1812
|
|
97
|
+
hindsight_client_api/test/test_budget.py,sha256=QZBlqIwkAqbVs-Fe0DrG460XIuQcN4LWEG6mziRDrtY,587
|
|
98
|
+
hindsight_client_api/test/test_chunk_data.py,sha256=KPi51APTLgtmR2_f5FSH3KQ_fHeC_zC1tEZvattugPE,1433
|
|
99
|
+
hindsight_client_api/test/test_chunk_include_options.py,sha256=kF2kUuw_QhG9D7Rg1L_yJvUvz6QUcZA_yFzR7PwP8t0,1381
|
|
100
|
+
hindsight_client_api/test/test_chunk_response.py,sha256=OOgrcSEef7G1qx17JQ9ApGLreeObocCMdhmirwgg7Uw,1665
|
|
101
|
+
hindsight_client_api/test/test_create_bank_request.py,sha256=ORDjPpEbX1yDaBkIYTg921eAZOStjwSEaWGsCiqkiQA,1526
|
|
102
|
+
hindsight_client_api/test/test_default_api.py,sha256=ymKx13UyTxRlDrKy20UB6DGCRnO97edcXpQEBIxERX0,3759
|
|
103
|
+
hindsight_client_api/test/test_delete_response.py,sha256=Wb7j_7QvyeTdPMbybxHUdYnpr0Cqk-Rqw2nIdLNEkJY,1351
|
|
104
|
+
hindsight_client_api/test/test_document_response.py,sha256=PIGFqjTUslp9I5pKW9Ly0w325oax6cjDNzUf2hM28dk,1775
|
|
105
|
+
hindsight_client_api/test/test_entity_detail_response.py,sha256=VpPyYpGYxtnTKspDbIeLtM4lC9j5hMW97pPUjKaZPjs,2186
|
|
106
|
+
hindsight_client_api/test/test_entity_include_options.py,sha256=vEI63Q0Ejh7IRgH1TxXWVal08WYk1KwBo0n3tdpxBxY,1393
|
|
107
|
+
hindsight_client_api/test/test_entity_list_item.py,sha256=ZL8sK97yWZg_MXlZYDiUsC-IEKZLwQI__8Pwq6nMY_s,1634
|
|
108
|
+
hindsight_client_api/test/test_entity_list_response.py,sha256=nFA6ryE4Eg1m7EGw60_-h3G5ro6t06Qa3yMjHXwERb0,1766
|
|
109
|
+
hindsight_client_api/test/test_entity_observation_response.py,sha256=EEpD8Zf3XcXH0zdQs2Bh81LfGBVPAq9Z5z8C7lfLqv4,1509
|
|
110
|
+
hindsight_client_api/test/test_entity_state_response.py,sha256=TTnOCPQMgdoTCyQb-12ZBIDLQiYXa-7HQZ3P-NVy9Lk,1966
|
|
111
|
+
hindsight_client_api/test/test_graph_data_response.py,sha256=-c8u7AaFG-FjDaktnkMHFsmBYQmlU_ijIBQPFIkoHyI,2206
|
|
112
|
+
hindsight_client_api/test/test_http_validation_error.py,sha256=hzSbwTv55PQ__XRxXX7PXu9nxKECR9LtJvrrN8Mn1aU,1649
|
|
113
|
+
hindsight_client_api/test/test_include_options.py,sha256=nibccUakKvfSa_dLV7trlbnT5ctGA7ytj54KztfVVUQ,1563
|
|
114
|
+
hindsight_client_api/test/test_list_documents_response.py,sha256=EwpI71z-8IdxmWdXIhfejfrg_9_ElaYQDXL0HXWa-js,1810
|
|
115
|
+
hindsight_client_api/test/test_list_memory_units_response.py,sha256=TsNnYc_9aNcczAsSjMd4kFW2Zs7DLe4teWZh5BfLWTY,1835
|
|
116
|
+
hindsight_client_api/test/test_memory_item.py,sha256=H82GmKPm-mmRk_PRY6lqv0QomZ5BV_-TbbgUsG_tp-E,1552
|
|
117
|
+
hindsight_client_api/test/test_metadata_filter.py,sha256=y9zZ1CfVp8Xnfb3bmH-ySvCPgVmc6SIquuyG9TagZbw,1403
|
|
118
|
+
hindsight_client_api/test/test_monitoring_api.py,sha256=E_n9Zea2dBF47iM2493w_daZvx6ErII7CdGn-cad9iY,820
|
|
119
|
+
hindsight_client_api/test/test_personality_traits.py,sha256=sgubpsa-cK9Tt7No-A4aPrDn5OLEXef51FMYwEG85nM,1759
|
|
120
|
+
hindsight_client_api/test/test_recall_request.py,sha256=dTxiICITLrert8NZoUkql3cD286_TjVV0RrhicJhm_E,2033
|
|
121
|
+
hindsight_client_api/test/test_recall_response.py,sha256=K7IJXHOM8u21TOvsdn4jfTcbU7v7BvbNW17iOMQM2vw,3014
|
|
122
|
+
hindsight_client_api/test/test_recall_result.py,sha256=ZDJaN1iQOs9q_mfBpJBTvpAQc-OUTMsCMymPsWV6W2c,1754
|
|
123
|
+
hindsight_client_api/test/test_reflect_fact.py,sha256=dW_Y-0QITw80-XCYjzcmMcHIBNw7C6LVEKGQ97k3bIE,1459
|
|
124
|
+
hindsight_client_api/test/test_reflect_include_options.py,sha256=C1rHezODwNC1u1iLXWnF2YLKInKoYpCEuiREQevq7HM,1469
|
|
125
|
+
hindsight_client_api/test/test_reflect_request.py,sha256=s_bkT4efjMlgUmI_kKmGhjdIQ8hh4TqlZUnW3Q7rIqQ,1725
|
|
126
|
+
hindsight_client_api/test/test_reflect_response.py,sha256=m6ivE97QzgRZjxvlGDlfKOIcIcqfhyauLcu7CTQZvtE,1613
|
|
127
|
+
hindsight_client_api/test/test_retain_request.py,sha256=4_-f9yQR37373t3p-2_FXq9KRWQa3kr0Gw3Z4w56GcQ,1839
|
|
128
|
+
hindsight_client_api/test/test_retain_response.py,sha256=L_83q5aYZAb9mZhHwF7WAe4dkmrOCFe8mSCpCjS5ZLE,1547
|
|
129
|
+
hindsight_client_api/test/test_update_personality_request.py,sha256=g3OO7fy2w4KuxF0phkXIXqJA2o-6fLY8k6lLcw07XSg,1692
|
|
130
|
+
hindsight_client_api/test/test_validation_error.py,sha256=FiG2lcCSznxrbqRk2rcKv1ctpin0gGM5YGReZWMRnkw,1549
|
|
131
|
+
hindsight_client_api/test/test_validation_error_loc_inner.py,sha256=Cy-VdSn1aBCRzpiI-2OSCrK376C5eHDywvbF16KNhMQ,1398
|
|
132
|
+
hindsight_client-0.0.13.dist-info/METADATA,sha256=i_3DdseYFPWPLkzVkujEkKp4anyQGIjXjwB2Qyv4fL0,1266
|
|
133
|
+
hindsight_client-0.0.13.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
134
|
+
hindsight_client-0.0.13.dist-info/RECORD,,
|