chuk-ai-session-manager 0.7.1__py3-none-any.whl → 0.8__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.
- chuk_ai_session_manager/__init__.py +84 -40
- chuk_ai_session_manager/api/__init__.py +1 -1
- chuk_ai_session_manager/api/simple_api.py +53 -59
- chuk_ai_session_manager/exceptions.py +31 -17
- chuk_ai_session_manager/guards/__init__.py +118 -0
- chuk_ai_session_manager/guards/bindings.py +217 -0
- chuk_ai_session_manager/guards/cache.py +163 -0
- chuk_ai_session_manager/guards/manager.py +819 -0
- chuk_ai_session_manager/guards/models.py +498 -0
- chuk_ai_session_manager/guards/ungrounded.py +159 -0
- chuk_ai_session_manager/infinite_conversation.py +86 -79
- chuk_ai_session_manager/memory/__init__.py +247 -0
- chuk_ai_session_manager/memory/artifacts_bridge.py +469 -0
- chuk_ai_session_manager/memory/context_packer.py +347 -0
- chuk_ai_session_manager/memory/fault_handler.py +507 -0
- chuk_ai_session_manager/memory/manifest.py +307 -0
- chuk_ai_session_manager/memory/models.py +1084 -0
- chuk_ai_session_manager/memory/mutation_log.py +186 -0
- chuk_ai_session_manager/memory/pack_cache.py +206 -0
- chuk_ai_session_manager/memory/page_table.py +275 -0
- chuk_ai_session_manager/memory/prefetcher.py +192 -0
- chuk_ai_session_manager/memory/tlb.py +247 -0
- chuk_ai_session_manager/memory/vm_prompts.py +238 -0
- chuk_ai_session_manager/memory/working_set.py +574 -0
- chuk_ai_session_manager/models/__init__.py +21 -9
- chuk_ai_session_manager/models/event_source.py +3 -1
- chuk_ai_session_manager/models/event_type.py +10 -1
- chuk_ai_session_manager/models/session.py +103 -68
- chuk_ai_session_manager/models/session_event.py +69 -68
- chuk_ai_session_manager/models/session_metadata.py +9 -10
- chuk_ai_session_manager/models/session_run.py +21 -22
- chuk_ai_session_manager/models/token_usage.py +76 -76
- chuk_ai_session_manager/procedural_memory/__init__.py +70 -0
- chuk_ai_session_manager/procedural_memory/formatter.py +407 -0
- chuk_ai_session_manager/procedural_memory/manager.py +523 -0
- chuk_ai_session_manager/procedural_memory/models.py +371 -0
- chuk_ai_session_manager/sample_tools.py +79 -46
- chuk_ai_session_manager/session_aware_tool_processor.py +27 -16
- chuk_ai_session_manager/session_manager.py +238 -197
- chuk_ai_session_manager/session_prompt_builder.py +163 -111
- chuk_ai_session_manager/session_storage.py +45 -52
- {chuk_ai_session_manager-0.7.1.dist-info → chuk_ai_session_manager-0.8.dist-info}/METADATA +79 -3
- chuk_ai_session_manager-0.8.dist-info/RECORD +45 -0
- {chuk_ai_session_manager-0.7.1.dist-info → chuk_ai_session_manager-0.8.dist-info}/WHEEL +1 -1
- chuk_ai_session_manager-0.7.1.dist-info/RECORD +0 -22
- {chuk_ai_session_manager-0.7.1.dist-info → chuk_ai_session_manager-0.8.dist-info}/top_level.txt +0 -0
|
@@ -20,7 +20,7 @@ except ImportError as e:
|
|
|
20
20
|
f"Cannot import SessionManager from chuk_sessions: {e}\n"
|
|
21
21
|
"Please ensure chuk_sessions is properly installed with: uv add chuk-sessions\n"
|
|
22
22
|
"Or check the available classes in chuk_sessions by running:\n"
|
|
23
|
-
|
|
23
|
+
'python -c "import chuk_sessions; print(dir(chuk_sessions))"'
|
|
24
24
|
) from e
|
|
25
25
|
|
|
26
26
|
from chuk_ai_session_manager.models.session import Session
|
|
@@ -31,81 +31,76 @@ logger = logging.getLogger(__name__)
|
|
|
31
31
|
class SessionStorage:
|
|
32
32
|
"""
|
|
33
33
|
CHUK Sessions backend for AI Session Manager.
|
|
34
|
-
|
|
34
|
+
|
|
35
35
|
Stores AI sessions as JSON in CHUK Sessions custom metadata.
|
|
36
36
|
All provider logic is handled by CHUK Sessions.
|
|
37
37
|
"""
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
def __init__(
|
|
40
|
-
self,
|
|
41
|
-
sandbox_id: str = "ai-session-manager",
|
|
42
|
-
default_ttl_hours: int = 24
|
|
40
|
+
self, sandbox_id: str = "ai-session-manager", default_ttl_hours: int = 24
|
|
43
41
|
):
|
|
44
42
|
self.chuk = ChukSessionManager(
|
|
45
|
-
sandbox_id=sandbox_id,
|
|
46
|
-
default_ttl_hours=default_ttl_hours
|
|
43
|
+
sandbox_id=sandbox_id, default_ttl_hours=default_ttl_hours
|
|
47
44
|
)
|
|
48
45
|
self.sandbox_id = sandbox_id
|
|
49
46
|
self._cache: Dict[str, Session] = {}
|
|
50
|
-
|
|
47
|
+
|
|
51
48
|
logger.info(f"AI Session Manager using CHUK Sessions (sandbox: {sandbox_id})")
|
|
52
|
-
|
|
49
|
+
|
|
53
50
|
async def get(self, session_id: str) -> Optional[Session]:
|
|
54
51
|
"""Get AI session by ID."""
|
|
55
52
|
if session_id in self._cache:
|
|
56
53
|
return self._cache[session_id]
|
|
57
|
-
|
|
54
|
+
|
|
58
55
|
try:
|
|
59
56
|
# Get session info from CHUK Sessions
|
|
60
57
|
info = await self.chuk.get_session_info(session_id)
|
|
61
58
|
if not info:
|
|
62
59
|
return None
|
|
63
|
-
|
|
60
|
+
|
|
64
61
|
# Check if it's an AI session manager session
|
|
65
|
-
custom_metadata = info.get(
|
|
66
|
-
if custom_metadata.get(
|
|
62
|
+
custom_metadata = info.get("custom_metadata", {})
|
|
63
|
+
if custom_metadata.get("session_type") != "ai_session_manager":
|
|
67
64
|
return None
|
|
68
|
-
|
|
69
|
-
ai_session_json = custom_metadata.get(
|
|
65
|
+
|
|
66
|
+
ai_session_json = custom_metadata.get("ai_session_data")
|
|
70
67
|
if not ai_session_json:
|
|
71
68
|
return None
|
|
72
|
-
|
|
69
|
+
|
|
73
70
|
# Parse the JSON data
|
|
74
71
|
session_data = json.loads(ai_session_json)
|
|
75
72
|
ai_session = Session.model_validate(session_data)
|
|
76
|
-
|
|
73
|
+
|
|
77
74
|
self._cache[session_id] = ai_session
|
|
78
75
|
return ai_session
|
|
79
|
-
|
|
76
|
+
|
|
80
77
|
except Exception as e:
|
|
81
78
|
logger.error(f"Failed to get AI session {session_id}: {e}")
|
|
82
79
|
return None
|
|
83
|
-
|
|
80
|
+
|
|
84
81
|
async def save(self, session: Session) -> None:
|
|
85
82
|
"""Save AI session to CHUK Sessions."""
|
|
86
83
|
try:
|
|
87
84
|
# Use Pydantic's model_dump_json which handles datetime serialization properly
|
|
88
85
|
session_json = session.model_dump_json()
|
|
89
86
|
user_id = self._extract_user_id(session)
|
|
90
|
-
|
|
87
|
+
|
|
91
88
|
custom_metadata = {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
"ai_session_data": session_json,
|
|
90
|
+
"event_count": len(session.events),
|
|
91
|
+
"session_type": "ai_session_manager",
|
|
95
92
|
}
|
|
96
|
-
|
|
93
|
+
|
|
97
94
|
await self.chuk.allocate_session(
|
|
98
|
-
session_id=session.id,
|
|
99
|
-
user_id=user_id,
|
|
100
|
-
custom_metadata=custom_metadata
|
|
95
|
+
session_id=session.id, user_id=user_id, custom_metadata=custom_metadata
|
|
101
96
|
)
|
|
102
|
-
|
|
97
|
+
|
|
103
98
|
self._cache[session.id] = session
|
|
104
|
-
|
|
99
|
+
|
|
105
100
|
except Exception as e:
|
|
106
101
|
logger.error(f"Failed to save AI session {session.id}: {e}")
|
|
107
102
|
raise
|
|
108
|
-
|
|
103
|
+
|
|
109
104
|
async def delete(self, session_id: str) -> None:
|
|
110
105
|
"""Delete AI session."""
|
|
111
106
|
try:
|
|
@@ -114,34 +109,34 @@ class SessionStorage:
|
|
|
114
109
|
except Exception as e:
|
|
115
110
|
logger.error(f"Failed to delete AI session {session_id}: {e}")
|
|
116
111
|
raise
|
|
117
|
-
|
|
112
|
+
|
|
118
113
|
async def list_sessions(self, prefix: str = "") -> List[str]:
|
|
119
114
|
"""List AI session IDs."""
|
|
120
115
|
session_ids = list(self._cache.keys())
|
|
121
116
|
if prefix:
|
|
122
117
|
session_ids = [sid for sid in session_ids if sid.startswith(prefix)]
|
|
123
118
|
return session_ids
|
|
124
|
-
|
|
119
|
+
|
|
125
120
|
def _extract_user_id(self, session: Session) -> Optional[str]:
|
|
126
121
|
"""Extract user ID from AI session metadata."""
|
|
127
122
|
try:
|
|
128
|
-
if hasattr(session.metadata,
|
|
129
|
-
return session.metadata.properties.get(
|
|
130
|
-
except:
|
|
123
|
+
if hasattr(session.metadata, "properties"):
|
|
124
|
+
return session.metadata.properties.get("user_id")
|
|
125
|
+
except (AttributeError, TypeError):
|
|
131
126
|
pass
|
|
132
127
|
return None
|
|
133
|
-
|
|
128
|
+
|
|
134
129
|
async def extend_session_ttl(self, session_id: str, additional_hours: int) -> bool:
|
|
135
130
|
"""Extend session TTL."""
|
|
136
131
|
return await self.chuk.extend_session_ttl(session_id, additional_hours)
|
|
137
|
-
|
|
132
|
+
|
|
138
133
|
def get_stats(self) -> Dict[str, Any]:
|
|
139
134
|
"""Get storage statistics."""
|
|
140
135
|
return {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
136
|
+
"backend": "chuk_sessions",
|
|
137
|
+
"sandbox_id": self.sandbox_id,
|
|
138
|
+
"cached_ai_sessions": len(self._cache),
|
|
139
|
+
"chuk_sessions_stats": self.chuk.get_cache_stats(),
|
|
145
140
|
}
|
|
146
141
|
|
|
147
142
|
|
|
@@ -158,32 +153,30 @@ def get_backend() -> SessionStorage:
|
|
|
158
153
|
|
|
159
154
|
|
|
160
155
|
def setup_chuk_sessions_storage(
|
|
161
|
-
sandbox_id: str = "ai-session-manager",
|
|
162
|
-
default_ttl_hours: int = 24
|
|
156
|
+
sandbox_id: str = "ai-session-manager", default_ttl_hours: int = 24
|
|
163
157
|
) -> SessionStorage:
|
|
164
158
|
"""Set up CHUK Sessions as the storage backend."""
|
|
165
159
|
global _backend
|
|
166
160
|
_backend = SessionStorage(
|
|
167
|
-
sandbox_id=sandbox_id,
|
|
168
|
-
default_ttl_hours=default_ttl_hours
|
|
161
|
+
sandbox_id=sandbox_id, default_ttl_hours=default_ttl_hours
|
|
169
162
|
)
|
|
170
163
|
return _backend
|
|
171
164
|
|
|
172
165
|
|
|
173
166
|
class ChukSessionsStore:
|
|
174
167
|
"""Storage interface adapter for CHUK Sessions."""
|
|
175
|
-
|
|
168
|
+
|
|
176
169
|
def __init__(self, backend: Optional[SessionStorage] = None):
|
|
177
170
|
self.backend = backend or get_backend()
|
|
178
|
-
|
|
171
|
+
|
|
179
172
|
async def get(self, session_id: str) -> Optional[Session]:
|
|
180
173
|
return await self.backend.get(session_id)
|
|
181
|
-
|
|
174
|
+
|
|
182
175
|
async def save(self, session: Session) -> None:
|
|
183
176
|
await self.backend.save(session)
|
|
184
|
-
|
|
177
|
+
|
|
185
178
|
async def delete(self, session_id: str) -> None:
|
|
186
179
|
await self.backend.delete(session_id)
|
|
187
|
-
|
|
180
|
+
|
|
188
181
|
async def list_sessions(self, prefix: str = "") -> List[str]:
|
|
189
|
-
return await self.backend.list_sessions(prefix)
|
|
182
|
+
return await self.backend.list_sessions(prefix)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: chuk-ai-session-manager
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8
|
|
4
4
|
Summary: Session manager for AI applications
|
|
5
5
|
Requires-Python: >=3.11
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
|
-
Requires-Dist: chuk-sessions>=0.4.
|
|
8
|
-
Requires-Dist: chuk-tool-processor>=0.
|
|
7
|
+
Requires-Dist: chuk-sessions>=0.4.1
|
|
8
|
+
Requires-Dist: chuk-tool-processor>=0.18
|
|
9
9
|
Requires-Dist: pydantic>=2.11.3
|
|
10
10
|
Provides-Extra: redis
|
|
11
11
|
Requires-Dist: chuk-sessions[redis]>=0.4.1; extra == "redis"
|
|
@@ -74,6 +74,35 @@ That's it! Zero configuration required.
|
|
|
74
74
|
|
|
75
75
|
## ⚡ Major Features
|
|
76
76
|
|
|
77
|
+
### 🧠 **AI Virtual Memory**
|
|
78
|
+
OS-style memory management for AI context windows. Pages, working sets, faults, and eviction - giving conversations the illusion of infinite memory.
|
|
79
|
+
|
|
80
|
+
```python
|
|
81
|
+
from chuk_ai_session_manager.memory import (
|
|
82
|
+
MemoryPage, PageTable, WorkingSetManager,
|
|
83
|
+
ContextPacker, ManifestBuilder, PageType,
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
# Create pages with type classification
|
|
87
|
+
claim = MemoryPage(
|
|
88
|
+
page_id="claim_auth",
|
|
89
|
+
page_type=PageType.CLAIM, # High-value, low eviction priority
|
|
90
|
+
content="Decision: Use JWT for authentication",
|
|
91
|
+
provenance=["msg_042", "msg_043"],
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
# Track in page table and working set
|
|
95
|
+
table = PageTable()
|
|
96
|
+
table.register(claim)
|
|
97
|
+
|
|
98
|
+
# Pack context for model with manifest
|
|
99
|
+
packer = ContextPacker()
|
|
100
|
+
packed = packer.pack([claim])
|
|
101
|
+
# Model sees VM:CONTEXT with page citations
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
See [AI Virtual Memory docs](docs/memory/README.md) for full documentation.
|
|
105
|
+
|
|
77
106
|
### 🎯 **Zero-Configuration Tracking**
|
|
78
107
|
```python
|
|
79
108
|
from chuk_ai_session_manager import SessionManager
|
|
@@ -104,6 +133,51 @@ await sm.ai_responds("Computing history begins with...", model="gpt-4")
|
|
|
104
133
|
| `pip install chuk-ai-session-manager` | Memory | Development, testing | 1.8M ops/sec |
|
|
105
134
|
| `pip install chuk-ai-session-manager[redis]` | Redis | Production, persistence | 20K ops/sec |
|
|
106
135
|
|
|
136
|
+
### 🛡️ **Conversation Guards and Tool State**
|
|
137
|
+
Runtime guardrails that prevent runaway tool loops, track value bindings, and enforce grounded tool calls.
|
|
138
|
+
|
|
139
|
+
```python
|
|
140
|
+
from chuk_ai_session_manager.guards import get_tool_state, ToolStateManager
|
|
141
|
+
|
|
142
|
+
# Get the singleton tool state manager
|
|
143
|
+
tool_state = get_tool_state()
|
|
144
|
+
|
|
145
|
+
# Track tool calls and bind results as $v0, $v1, ...
|
|
146
|
+
binding = tool_state.bind_value("sqrt", {"x": 16}, 4.0)
|
|
147
|
+
# LLM can now reference $v0 in subsequent calls
|
|
148
|
+
|
|
149
|
+
# Check for runaway tool loops
|
|
150
|
+
status = tool_state.check_runaway()
|
|
151
|
+
|
|
152
|
+
# Detect ungrounded calls (missing $vN references)
|
|
153
|
+
check = tool_state.check_ungrounded_call("normal_cdf", {"mean": 0, "std": 1, "x": 1.5})
|
|
154
|
+
|
|
155
|
+
# Reset state for a new prompt
|
|
156
|
+
tool_state.reset_for_new_prompt()
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**Guard components:**
|
|
160
|
+
- `ToolStateManager` - Coordinator for all guards, bindings, and cache
|
|
161
|
+
- `BindingManager` - `$vN` reference system for tracking tool results
|
|
162
|
+
- `ResultCache` - Tool result caching for deduplication
|
|
163
|
+
- `UngroundedGuard` - Detects calls with missing computed-value references
|
|
164
|
+
- Runtime guards (budget, runaway, per-tool limits) from `chuk-tool-processor`
|
|
165
|
+
|
|
166
|
+
### 🧩 **Procedural Memory**
|
|
167
|
+
Learn from tool call history to improve future tool use.
|
|
168
|
+
|
|
169
|
+
```python
|
|
170
|
+
from chuk_ai_session_manager import ToolMemoryManager, ProceduralContextFormatter
|
|
171
|
+
|
|
172
|
+
# Record tool outcomes
|
|
173
|
+
memory = ToolMemoryManager()
|
|
174
|
+
await memory.record("calculator", {"op": "add", "a": 5, "b": 3}, result=8, success=True)
|
|
175
|
+
|
|
176
|
+
# Format learned patterns for the model's context
|
|
177
|
+
formatter = ProceduralContextFormatter()
|
|
178
|
+
context = formatter.format(memory.get_patterns())
|
|
179
|
+
```
|
|
180
|
+
|
|
107
181
|
### 🛠️ **Tool Integration**
|
|
108
182
|
```python
|
|
109
183
|
# Automatic tool call tracking
|
|
@@ -222,6 +296,8 @@ Session Segments: {stats.get('session_segments', 1)}
|
|
|
222
296
|
- **Production Ready**: Built-in persistence, monitoring, and error handling
|
|
223
297
|
- **Token Aware**: Automatic cost tracking across all providers
|
|
224
298
|
- **Tool Friendly**: Seamless tool call logging and retry mechanisms
|
|
299
|
+
- **Guardrails**: Runtime guards prevent runaway tool loops and ungrounded calls
|
|
300
|
+
- **Procedural Memory**: Learn from tool call history to improve future use
|
|
225
301
|
|
|
226
302
|
## 🛡️ Error Handling
|
|
227
303
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
chuk_ai_session_manager/__init__.py,sha256=bOe9gnKjblWKudA6EyUKlPDOypa6D2H8agImFIXxUK4,8794
|
|
2
|
+
chuk_ai_session_manager/exceptions.py,sha256=xkjLB3tc0ObyAAUNIaklN2rY8LD-qTia3BwxdgAaY4k,4412
|
|
3
|
+
chuk_ai_session_manager/infinite_conversation.py,sha256=SSCxCMfvgX30hfoB8IKqAnI_sQfqK7u0juUFyzUxZjk,11792
|
|
4
|
+
chuk_ai_session_manager/sample_tools.py,sha256=1W81aE8qsUde5UZOup_k3r_9BrlVx3J77awj9eLhCgw,8287
|
|
5
|
+
chuk_ai_session_manager/session_aware_tool_processor.py,sha256=vaCcWPh4i77Ur9lrYjUaHI_UucITc2nTaQ8BDlF2alQ,7473
|
|
6
|
+
chuk_ai_session_manager/session_manager.py,sha256=S6Jp5hD2B4IHAgCFcFoFFrgGCGe-QWV1fkkhFt0w83A,29000
|
|
7
|
+
chuk_ai_session_manager/session_prompt_builder.py,sha256=T99BPgfoJxujQYM5TlU72IbpoPQ90YLQTvKEa-sQL-o,18097
|
|
8
|
+
chuk_ai_session_manager/session_storage.py,sha256=9kINMmujlqYiTaiTKhnIJO1hfC76LEqrP2zc4wZiLnc,6203
|
|
9
|
+
chuk_ai_session_manager/api/__init__.py,sha256=APDZLJTWC9cZbIuigiIzmI2uN1_CG-5Nk4rmdgMU08Q,42
|
|
10
|
+
chuk_ai_session_manager/api/simple_api.py,sha256=LjkYec8_lqbARszdJHQfqaTYlWJ1xMqslHMxQZf1kiA,10253
|
|
11
|
+
chuk_ai_session_manager/guards/__init__.py,sha256=UVpSqMqbjhMny4JK0D5ZNpzO2YxXq23of0ZkauuXPyQ,2731
|
|
12
|
+
chuk_ai_session_manager/guards/bindings.py,sha256=afyiyP-HBn5dQPPYJOLBUP8bRWFvbH-NAE1t0QGnHXM,6898
|
|
13
|
+
chuk_ai_session_manager/guards/cache.py,sha256=QztAjsFZmh6H_V0GBKUkRwQA_pd1SbdpO_LQruLRfqQ,5254
|
|
14
|
+
chuk_ai_session_manager/guards/manager.py,sha256=OKjqZxl4-DaGfoQfKiMy7z3vS2EauNDDmDJZRpbpU74,30605
|
|
15
|
+
chuk_ai_session_manager/guards/models.py,sha256=TQ6m8b4DURrum7-NNid03tMDOZ6bGjMDpVYxCPNud-o,16425
|
|
16
|
+
chuk_ai_session_manager/guards/ungrounded.py,sha256=c60RfBXXfsWONtHQ7KG69LBxVgl2fHGlD6hMJH0Pzt8,5376
|
|
17
|
+
chuk_ai_session_manager/memory/__init__.py,sha256=UDrugFtN5ury4WcvCwH669qRib_H-VyiULjSaigv8jA,5521
|
|
18
|
+
chuk_ai_session_manager/memory/artifacts_bridge.py,sha256=fCmS1JLzsTmmZkEobKHulPHtcS0hXjmIU2W3x269ZCM,13149
|
|
19
|
+
chuk_ai_session_manager/memory/context_packer.py,sha256=QjOqWLmLe2jfYQ_lncc49pZYwB7J_tPNKXoOYO-rhm8,11784
|
|
20
|
+
chuk_ai_session_manager/memory/fault_handler.py,sha256=cUc5QwrUNl2J7Zd7Nm4kGSCZo35IdjooWcmxNp_yGuM,15798
|
|
21
|
+
chuk_ai_session_manager/memory/manifest.py,sha256=vjCNEHjDrEMvL3OjPFVNul9Q32y4NqmSHL2vaXtZT5k,10125
|
|
22
|
+
chuk_ai_session_manager/memory/models.py,sha256=zm1dtAK6SYtJzOxYyBqOouv9puwR5iHoezPx_ekddEI,33782
|
|
23
|
+
chuk_ai_session_manager/memory/mutation_log.py,sha256=dSGHQnjHIDCMtT9YzuK4PwJXCsDG0yypNgDt2U1n0VM,6138
|
|
24
|
+
chuk_ai_session_manager/memory/pack_cache.py,sha256=7KewvuX0kvbFfgIjPAZVSzt9ICfh1-V75JzIHWmbteg,6088
|
|
25
|
+
chuk_ai_session_manager/memory/page_table.py,sha256=-k-Kd2zLZwK9VNPXZNmH_s22dFxqMmzN9BtL6MJ13hM,8762
|
|
26
|
+
chuk_ai_session_manager/memory/prefetcher.py,sha256=0VX5Uw3NMTV_OpBdYOcAaawp3A7h6wQ-kxcdKwv6uOc,6340
|
|
27
|
+
chuk_ai_session_manager/memory/tlb.py,sha256=iJ1AwCNAhPxR5L3o68idF57W22M5EZNRxusuPBWrUGg,7702
|
|
28
|
+
chuk_ai_session_manager/memory/vm_prompts.py,sha256=xsa__nIV4L2GeiIPmNbJrm5-Jm0CEqmKipOkLExUN6k,8106
|
|
29
|
+
chuk_ai_session_manager/memory/working_set.py,sha256=7P1SazsT15YyLxY5jEgq5EX_nYNFjY6tUnoFUxQXyoI,19441
|
|
30
|
+
chuk_ai_session_manager/models/__init__.py,sha256=Lor8zOLGRjJQzGRM5S5pyOHyhjf-U8nJsvQM6KZDJPw,1345
|
|
31
|
+
chuk_ai_session_manager/models/event_source.py,sha256=xbcGHwCBVWJeIQGDkoecH2iKyt9XoFfnchFS_8bMwRc,199
|
|
32
|
+
chuk_ai_session_manager/models/event_type.py,sha256=OOdLQGBqG1QlBJvvMEVOvyVoX4RrUpyXSltE4SN9GFw,516
|
|
33
|
+
chuk_ai_session_manager/models/session.py,sha256=PErniz2nntzRmlYNTubb1eSKG0LyUTiJ9qRkTUHx320,12114
|
|
34
|
+
chuk_ai_session_manager/models/session_event.py,sha256=Hzx0tUF-v6693lojnw_j2FWTe-LNR5LfqesFMvCbjgY,8657
|
|
35
|
+
chuk_ai_session_manager/models/session_metadata.py,sha256=o3siHorFPOfk16fpoopA8Wg5qxmEJLIl0d3uiJNJeTE,1456
|
|
36
|
+
chuk_ai_session_manager/models/session_run.py,sha256=Q3scCXXsS3ZegN-iIjUzs49wxVR0G7UOgfgYZXpSVFY,4233
|
|
37
|
+
chuk_ai_session_manager/models/token_usage.py,sha256=sMQzCYrPxzC25-0BTeAAQIR0VLDfNqOC9ykeADrNFlA,11004
|
|
38
|
+
chuk_ai_session_manager/procedural_memory/__init__.py,sha256=ZytWkGBMCnZIqYxKXoIpksdi6ERKiqsc6qkPBNRNe3w,2023
|
|
39
|
+
chuk_ai_session_manager/procedural_memory/formatter.py,sha256=Mq1shYs-ToZw6U5OxAX62MscWd8kUVvE48X8k7MT8n8,12891
|
|
40
|
+
chuk_ai_session_manager/procedural_memory/manager.py,sha256=_wgpxD3dChZRT7mveqfxB0aSueu4XZlZxGPZqWjZaTA,16904
|
|
41
|
+
chuk_ai_session_manager/procedural_memory/models.py,sha256=EdDsMeQA5bGiNr6VU9RbzEG5JGODfTmt2IHqneVAGOo,12137
|
|
42
|
+
chuk_ai_session_manager-0.8.dist-info/METADATA,sha256=cvv5b55jwh_dxmbXGnRgcBLgT_QVhYnECl8nJofpVw0,10541
|
|
43
|
+
chuk_ai_session_manager-0.8.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
44
|
+
chuk_ai_session_manager-0.8.dist-info/top_level.txt,sha256=5RinqD0v-niHuLYePUREX4gEWTlrpgtUg0RfexVRBMk,24
|
|
45
|
+
chuk_ai_session_manager-0.8.dist-info/RECORD,,
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
chuk_ai_session_manager/__init__.py,sha256=r24MtKySdzvUgK8psNHYHiTRzOUAEXPOBmaNg2cjyFw,7882
|
|
2
|
-
chuk_ai_session_manager/exceptions.py,sha256=WqrrUZuOAiUmz7tKnSnk0y222U_nV9a8LyaXLayn2fg,4420
|
|
3
|
-
chuk_ai_session_manager/infinite_conversation.py,sha256=7j3caMnsX27M5rjj4oOkqiy_2AfcupWwsAWRflnKiSo,12092
|
|
4
|
-
chuk_ai_session_manager/sample_tools.py,sha256=U-jTGveTJ95uSnA4jB30fJQJG3K-TGxN9jcOY6qVHZQ,8179
|
|
5
|
-
chuk_ai_session_manager/session_aware_tool_processor.py,sha256=iVe3d-qfp5QGkdNrgfZeRYoOjd8nLZ0g6K7HW1thFE8,7274
|
|
6
|
-
chuk_ai_session_manager/session_manager.py,sha256=AauyE2XTqAM53fGxpJD73nVwxB3cWH0jMlBXakYTAD0,29195
|
|
7
|
-
chuk_ai_session_manager/session_prompt_builder.py,sha256=Jeg_MWses_hFtHtDL7ZQl6EdSNVmVIIrLDrWEoPumfM,17613
|
|
8
|
-
chuk_ai_session_manager/session_storage.py,sha256=wb6SPwOKVoov2cGmK6DuorpPM7xbjnCRHrA6VTvG7GE,6427
|
|
9
|
-
chuk_ai_session_manager/api/__init__.py,sha256=Lo_BoDW2rSn0Zw-CbjahOxc6ykjjTpucxHZo5FA2Gnc,41
|
|
10
|
-
chuk_ai_session_manager/api/simple_api.py,sha256=aUDH2KzkI_M2eUiW9DAQo2KmUYaVa5u25-gSIF3PzGM,10504
|
|
11
|
-
chuk_ai_session_manager/models/__init__.py,sha256=H1rRuDQDRf821JPUWUn5Zgwvc5BAqcEGekkHEmX-IgE,1167
|
|
12
|
-
chuk_ai_session_manager/models/event_source.py,sha256=mn_D16sXMa6nAX-5BzssygJPz6VF24GRe-3IaH7bTnI,196
|
|
13
|
-
chuk_ai_session_manager/models/event_type.py,sha256=TPPvAz-PlXVtrwXDNVFVnhdt1yEfgDGmKDGt8ArYcTk,275
|
|
14
|
-
chuk_ai_session_manager/models/session.py,sha256=yUPuu6yt8HbBebkIejpgSDGTLhZjtLOxFRkWG2C6XKM,12193
|
|
15
|
-
chuk_ai_session_manager/models/session_event.py,sha256=RTghC9_sDHzD8qdgEYCoclJzpVo8cE6B2f7jlsDOVr0,9006
|
|
16
|
-
chuk_ai_session_manager/models/session_metadata.py,sha256=KFG7lc_E0BQTP2OD9Y529elVGJXppDUMqz8vVONW0rw,1510
|
|
17
|
-
chuk_ai_session_manager/models/session_run.py,sha256=uhMM4-WSrqOUsiWQPnyakInd-foZhxI-YnSHSWiZZwE,4369
|
|
18
|
-
chuk_ai_session_manager/models/token_usage.py,sha256=M9Qwmeb2woILaSRwA2SIAiG-sIwC3cL_1H-y3NjW5Ik,11436
|
|
19
|
-
chuk_ai_session_manager-0.7.1.dist-info/METADATA,sha256=UFiDpEPfzRXVPX23KPy14pUobcg1Xil-BqKcrEeTNRM,7912
|
|
20
|
-
chuk_ai_session_manager-0.7.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
21
|
-
chuk_ai_session_manager-0.7.1.dist-info/top_level.txt,sha256=5RinqD0v-niHuLYePUREX4gEWTlrpgtUg0RfexVRBMk,24
|
|
22
|
-
chuk_ai_session_manager-0.7.1.dist-info/RECORD,,
|
{chuk_ai_session_manager-0.7.1.dist-info → chuk_ai_session_manager-0.8.dist-info}/top_level.txt
RENAMED
|
File without changes
|