remdb 0.3.133__py3-none-any.whl → 0.3.171__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.
- rem/agentic/agents/__init__.py +16 -0
- rem/agentic/agents/agent_manager.py +311 -0
- rem/agentic/context.py +81 -3
- rem/agentic/context_builder.py +36 -9
- rem/agentic/mcp/tool_wrapper.py +54 -6
- rem/agentic/providers/phoenix.py +91 -21
- rem/agentic/providers/pydantic_ai.py +88 -45
- rem/api/deps.py +3 -5
- rem/api/main.py +22 -3
- rem/api/mcp_router/server.py +2 -0
- rem/api/mcp_router/tools.py +94 -2
- rem/api/middleware/tracking.py +5 -5
- rem/api/routers/auth.py +349 -6
- rem/api/routers/chat/completions.py +5 -3
- rem/api/routers/chat/streaming.py +95 -22
- rem/api/routers/messages.py +24 -15
- rem/auth/__init__.py +13 -3
- rem/auth/jwt.py +352 -0
- rem/auth/middleware.py +115 -10
- rem/auth/providers/__init__.py +4 -1
- rem/auth/providers/email.py +215 -0
- rem/cli/commands/configure.py +3 -4
- rem/cli/commands/experiments.py +50 -49
- rem/cli/commands/session.py +336 -0
- rem/cli/dreaming.py +2 -2
- rem/cli/main.py +2 -0
- rem/models/core/experiment.py +4 -14
- rem/models/entities/__init__.py +4 -0
- rem/models/entities/ontology.py +1 -1
- rem/models/entities/ontology_config.py +1 -1
- rem/models/entities/subscriber.py +175 -0
- rem/models/entities/user.py +1 -0
- rem/schemas/agents/core/agent-builder.yaml +235 -0
- rem/schemas/agents/examples/contract-analyzer.yaml +1 -1
- rem/schemas/agents/examples/contract-extractor.yaml +1 -1
- rem/schemas/agents/examples/cv-parser.yaml +1 -1
- rem/services/__init__.py +3 -1
- rem/services/content/service.py +4 -3
- rem/services/email/__init__.py +10 -0
- rem/services/email/service.py +513 -0
- rem/services/email/templates.py +360 -0
- rem/services/postgres/README.md +38 -0
- rem/services/postgres/diff_service.py +19 -3
- rem/services/postgres/pydantic_to_sqlalchemy.py +45 -13
- rem/services/postgres/repository.py +5 -4
- rem/services/session/compression.py +113 -50
- rem/services/session/reload.py +14 -7
- rem/services/user_service.py +41 -9
- rem/settings.py +200 -5
- rem/sql/migrations/001_install.sql +1 -1
- rem/sql/migrations/002_install_models.sql +91 -91
- rem/sql/migrations/005_schema_update.sql +145 -0
- rem/utils/README.md +45 -0
- rem/utils/files.py +157 -1
- rem/utils/schema_loader.py +45 -7
- rem/utils/vision.py +1 -1
- {remdb-0.3.133.dist-info → remdb-0.3.171.dist-info}/METADATA +7 -5
- {remdb-0.3.133.dist-info → remdb-0.3.171.dist-info}/RECORD +60 -50
- {remdb-0.3.133.dist-info → remdb-0.3.171.dist-info}/WHEEL +0 -0
- {remdb-0.3.133.dist-info → remdb-0.3.171.dist-info}/entry_points.txt +0 -0
rem/utils/README.md
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
1. [SQL Types](#sql-types-sql_typespy) - Pydantic to PostgreSQL type mapping
|
|
6
6
|
2. [Embeddings](#embeddings-embeddingspy) - Vector embeddings generation
|
|
7
|
+
3. [Files](#files-filespy) - File utilities and DataFrame I/O
|
|
7
8
|
|
|
8
9
|
## SQL Types (`sql_types.py`)
|
|
9
10
|
|
|
@@ -581,3 +582,47 @@ This will demonstrate:
|
|
|
581
582
|
- `sql_types.py` - Use `embedding_provider` in json_schema_extra for TEXT fields
|
|
582
583
|
- OpenAI Embeddings API: https://platform.openai.com/docs/api-reference/embeddings
|
|
583
584
|
- pgvector Documentation: https://github.com/pgvector/pgvector
|
|
585
|
+
|
|
586
|
+
---
|
|
587
|
+
|
|
588
|
+
## Files (`files.py`)
|
|
589
|
+
|
|
590
|
+
File utilities including temporary file handling and DataFrame I/O with automatic format detection.
|
|
591
|
+
|
|
592
|
+
### DataFrame I/O
|
|
593
|
+
|
|
594
|
+
Read and write DataFrames with format auto-detected from file extension:
|
|
595
|
+
|
|
596
|
+
```python
|
|
597
|
+
from rem.utils.files import read_dataframe, write_dataframe
|
|
598
|
+
|
|
599
|
+
# Read - format inferred from extension
|
|
600
|
+
df = read_dataframe("data.csv")
|
|
601
|
+
df = read_dataframe("data.parquet")
|
|
602
|
+
df = read_dataframe("data.xlsx")
|
|
603
|
+
|
|
604
|
+
# Read from bytes (e.g., from S3)
|
|
605
|
+
df = read_dataframe(content_bytes, filename="data.csv")
|
|
606
|
+
|
|
607
|
+
# Write - format inferred from extension
|
|
608
|
+
write_dataframe(df, "output.parquet")
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
**Supported formats**: `.csv`, `.tsv`, `.parquet`, `.json`, `.jsonl`, `.avro`, `.xlsx`, `.xls`, `.ods`, `.ipc`, `.arrow`, `.feather`
|
|
612
|
+
|
|
613
|
+
Note: Some formats require optional dependencies (e.g., `fastexcel` for Excel).
|
|
614
|
+
|
|
615
|
+
### Temporary File Utilities
|
|
616
|
+
|
|
617
|
+
```python
|
|
618
|
+
from rem.utils.files import temp_file_from_bytes, temp_directory
|
|
619
|
+
|
|
620
|
+
# Create temp file from bytes, auto-cleanup
|
|
621
|
+
with temp_file_from_bytes(pdf_bytes, suffix=".pdf") as tmp_path:
|
|
622
|
+
result = process_pdf(tmp_path)
|
|
623
|
+
|
|
624
|
+
# Create temp directory, auto-cleanup
|
|
625
|
+
with temp_directory() as tmp_dir:
|
|
626
|
+
# Work with files in tmp_dir
|
|
627
|
+
pass
|
|
628
|
+
```
|
rem/utils/files.py
CHANGED
|
@@ -3,13 +3,18 @@ File utilities for consistent file handling throughout REM.
|
|
|
3
3
|
|
|
4
4
|
Provides context managers and helpers for temporary file operations,
|
|
5
5
|
ensuring proper cleanup and consistent patterns.
|
|
6
|
+
|
|
7
|
+
Also provides DataFrame I/O utilities using Polars with automatic
|
|
8
|
+
format detection based on file extension.
|
|
6
9
|
"""
|
|
7
10
|
|
|
8
11
|
import tempfile
|
|
9
12
|
from contextlib import contextmanager
|
|
13
|
+
from io import BytesIO
|
|
10
14
|
from pathlib import Path
|
|
11
|
-
from typing import Generator, Optional
|
|
15
|
+
from typing import Generator, Optional, Union
|
|
12
16
|
|
|
17
|
+
import polars as pl
|
|
13
18
|
from loguru import logger
|
|
14
19
|
|
|
15
20
|
|
|
@@ -165,3 +170,154 @@ def safe_delete(path: Path) -> bool:
|
|
|
165
170
|
except Exception as e:
|
|
166
171
|
logger.warning(f"Failed to delete {path}: {e}")
|
|
167
172
|
return False
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
# Extension to Polars reader mapping
|
|
176
|
+
_EXTENSION_READERS = {
|
|
177
|
+
".csv": pl.read_csv,
|
|
178
|
+
".tsv": lambda p, **kw: pl.read_csv(p, separator="\t", **kw),
|
|
179
|
+
".parquet": pl.read_parquet,
|
|
180
|
+
".pq": pl.read_parquet,
|
|
181
|
+
".json": pl.read_json,
|
|
182
|
+
".jsonl": pl.read_ndjson,
|
|
183
|
+
".ndjson": pl.read_ndjson,
|
|
184
|
+
".avro": pl.read_avro,
|
|
185
|
+
".xlsx": pl.read_excel,
|
|
186
|
+
".xls": pl.read_excel,
|
|
187
|
+
".ods": pl.read_ods,
|
|
188
|
+
".ipc": pl.read_ipc,
|
|
189
|
+
".arrow": pl.read_ipc,
|
|
190
|
+
".feather": pl.read_ipc,
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
# Extension to Polars writer mapping
|
|
194
|
+
_EXTENSION_WRITERS = {
|
|
195
|
+
".csv": "write_csv",
|
|
196
|
+
".tsv": "write_csv", # with separator="\t"
|
|
197
|
+
".parquet": "write_parquet",
|
|
198
|
+
".pq": "write_parquet",
|
|
199
|
+
".json": "write_json",
|
|
200
|
+
".jsonl": "write_ndjson",
|
|
201
|
+
".ndjson": "write_ndjson",
|
|
202
|
+
".avro": "write_avro",
|
|
203
|
+
".xlsx": "write_excel",
|
|
204
|
+
".ipc": "write_ipc",
|
|
205
|
+
".arrow": "write_ipc",
|
|
206
|
+
".feather": "write_ipc",
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
def read_dataframe(
|
|
211
|
+
source: Union[str, Path, bytes],
|
|
212
|
+
filename: Optional[str] = None,
|
|
213
|
+
**kwargs,
|
|
214
|
+
) -> pl.DataFrame:
|
|
215
|
+
"""
|
|
216
|
+
Read a DataFrame from a file, inferring format from extension.
|
|
217
|
+
|
|
218
|
+
Supports all Polars-compatible formats:
|
|
219
|
+
- CSV (.csv), TSV (.tsv)
|
|
220
|
+
- Parquet (.parquet, .pq)
|
|
221
|
+
- JSON (.json), JSONL/NDJSON (.jsonl, .ndjson)
|
|
222
|
+
- Avro (.avro)
|
|
223
|
+
- Excel (.xlsx, .xls)
|
|
224
|
+
- OpenDocument (.ods)
|
|
225
|
+
- Arrow IPC (.ipc, .arrow, .feather)
|
|
226
|
+
|
|
227
|
+
Args:
|
|
228
|
+
source: File path (str/Path) or bytes content
|
|
229
|
+
filename: Required when source is bytes, to determine format
|
|
230
|
+
**kwargs: Additional arguments passed to the Polars reader
|
|
231
|
+
|
|
232
|
+
Returns:
|
|
233
|
+
Polars DataFrame
|
|
234
|
+
|
|
235
|
+
Raises:
|
|
236
|
+
ValueError: If format cannot be determined or is unsupported
|
|
237
|
+
|
|
238
|
+
Examples:
|
|
239
|
+
>>> df = read_dataframe("data.csv")
|
|
240
|
+
>>> df = read_dataframe("data.parquet")
|
|
241
|
+
>>> df = read_dataframe(csv_bytes, filename="data.csv")
|
|
242
|
+
"""
|
|
243
|
+
# Determine the file extension
|
|
244
|
+
if isinstance(source, bytes):
|
|
245
|
+
if not filename:
|
|
246
|
+
raise ValueError("filename is required when source is bytes")
|
|
247
|
+
ext = Path(filename).suffix.lower()
|
|
248
|
+
# For bytes, we need to wrap in BytesIO
|
|
249
|
+
file_like = BytesIO(source)
|
|
250
|
+
else:
|
|
251
|
+
path = Path(source)
|
|
252
|
+
ext = path.suffix.lower()
|
|
253
|
+
file_like = path
|
|
254
|
+
|
|
255
|
+
# Get the appropriate reader
|
|
256
|
+
reader = _EXTENSION_READERS.get(ext)
|
|
257
|
+
if reader is None:
|
|
258
|
+
supported = ", ".join(sorted(_EXTENSION_READERS.keys()))
|
|
259
|
+
raise ValueError(
|
|
260
|
+
f"Unsupported file format: {ext}. "
|
|
261
|
+
f"Supported formats: {supported}"
|
|
262
|
+
)
|
|
263
|
+
|
|
264
|
+
try:
|
|
265
|
+
return reader(file_like, **kwargs)
|
|
266
|
+
except Exception as e:
|
|
267
|
+
logger.error(f"Failed to read DataFrame from {ext} format: {e}")
|
|
268
|
+
raise
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
def write_dataframe(
|
|
272
|
+
df: pl.DataFrame,
|
|
273
|
+
dest: Union[str, Path],
|
|
274
|
+
**kwargs,
|
|
275
|
+
) -> None:
|
|
276
|
+
"""
|
|
277
|
+
Write a DataFrame to a file, inferring format from extension.
|
|
278
|
+
|
|
279
|
+
Supports most Polars-writable formats:
|
|
280
|
+
- CSV (.csv), TSV (.tsv)
|
|
281
|
+
- Parquet (.parquet, .pq)
|
|
282
|
+
- JSON (.json), JSONL/NDJSON (.jsonl, .ndjson)
|
|
283
|
+
- Avro (.avro)
|
|
284
|
+
- Excel (.xlsx)
|
|
285
|
+
- Arrow IPC (.ipc, .arrow, .feather)
|
|
286
|
+
|
|
287
|
+
Args:
|
|
288
|
+
df: Polars DataFrame to write
|
|
289
|
+
dest: Destination file path
|
|
290
|
+
**kwargs: Additional arguments passed to the Polars writer
|
|
291
|
+
|
|
292
|
+
Raises:
|
|
293
|
+
ValueError: If format cannot be determined or is unsupported
|
|
294
|
+
|
|
295
|
+
Examples:
|
|
296
|
+
>>> write_dataframe(df, "output.csv")
|
|
297
|
+
>>> write_dataframe(df, "output.parquet")
|
|
298
|
+
>>> write_dataframe(df, "output.jsonl")
|
|
299
|
+
"""
|
|
300
|
+
path = Path(dest)
|
|
301
|
+
ext = path.suffix.lower()
|
|
302
|
+
|
|
303
|
+
writer_method = _EXTENSION_WRITERS.get(ext)
|
|
304
|
+
if writer_method is None:
|
|
305
|
+
supported = ", ".join(sorted(_EXTENSION_WRITERS.keys()))
|
|
306
|
+
raise ValueError(
|
|
307
|
+
f"Unsupported file format for writing: {ext}. "
|
|
308
|
+
f"Supported formats: {supported}"
|
|
309
|
+
)
|
|
310
|
+
|
|
311
|
+
# Ensure parent directory exists
|
|
312
|
+
ensure_parent_exists(path)
|
|
313
|
+
|
|
314
|
+
# Handle TSV special case
|
|
315
|
+
if ext == ".tsv":
|
|
316
|
+
kwargs.setdefault("separator", "\t")
|
|
317
|
+
|
|
318
|
+
try:
|
|
319
|
+
writer = getattr(df, writer_method)
|
|
320
|
+
writer(path, **kwargs)
|
|
321
|
+
except Exception as e:
|
|
322
|
+
logger.error(f"Failed to write DataFrame to {ext} format: {e}")
|
|
323
|
+
raise
|
rem/utils/schema_loader.py
CHANGED
|
@@ -132,13 +132,51 @@ def _load_schema_from_database(schema_name: str, user_id: str) -> dict[str, Any]
|
|
|
132
132
|
# Check if we're already in an async context
|
|
133
133
|
try:
|
|
134
134
|
loop = asyncio.get_running_loop()
|
|
135
|
-
# We're in an async context -
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
"
|
|
140
|
-
|
|
141
|
-
|
|
135
|
+
# We're in an async context - use thread executor to run async code
|
|
136
|
+
import concurrent.futures
|
|
137
|
+
|
|
138
|
+
async def _async_lookup():
|
|
139
|
+
"""Async helper to query database."""
|
|
140
|
+
from rem.services.postgres import get_postgres_service
|
|
141
|
+
|
|
142
|
+
db = get_postgres_service()
|
|
143
|
+
if not db:
|
|
144
|
+
logger.debug("PostgreSQL service not available for schema lookup")
|
|
145
|
+
return None
|
|
146
|
+
|
|
147
|
+
try:
|
|
148
|
+
await db.connect()
|
|
149
|
+
|
|
150
|
+
query = """
|
|
151
|
+
SELECT spec FROM schemas
|
|
152
|
+
WHERE LOWER(name) = LOWER($1)
|
|
153
|
+
AND (user_id = $2 OR user_id = 'system' OR user_id IS NULL)
|
|
154
|
+
LIMIT 1
|
|
155
|
+
"""
|
|
156
|
+
logger.debug(f"Executing schema lookup: name={schema_name}, user_id={user_id}")
|
|
157
|
+
|
|
158
|
+
row = await db.fetchrow(query, schema_name, user_id)
|
|
159
|
+
|
|
160
|
+
if row:
|
|
161
|
+
spec = row.get("spec")
|
|
162
|
+
if spec and isinstance(spec, dict):
|
|
163
|
+
logger.debug(f"Found schema in database: {schema_name}")
|
|
164
|
+
return spec
|
|
165
|
+
|
|
166
|
+
logger.debug(f"Schema not found in database: {schema_name}")
|
|
167
|
+
return None
|
|
168
|
+
|
|
169
|
+
except Exception as e:
|
|
170
|
+
logger.debug(f"Database schema lookup error: {e}")
|
|
171
|
+
return None
|
|
172
|
+
finally:
|
|
173
|
+
await db.disconnect()
|
|
174
|
+
|
|
175
|
+
# Run in thread pool to avoid blocking the event loop
|
|
176
|
+
with concurrent.futures.ThreadPoolExecutor() as pool:
|
|
177
|
+
future = pool.submit(asyncio.run, _async_lookup())
|
|
178
|
+
return future.result(timeout=10)
|
|
179
|
+
|
|
142
180
|
except RuntimeError:
|
|
143
181
|
# Not in async context - safe to use asyncio.run()
|
|
144
182
|
pass
|
rem/utils/vision.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remdb
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.171
|
|
4
4
|
Summary: Resources Entities Moments - Bio-inspired memory system for agentic AI workloads
|
|
5
5
|
Project-URL: Homepage, https://github.com/Percolation-Labs/reminiscent
|
|
6
6
|
Project-URL: Documentation, https://github.com/Percolation-Labs/reminiscent/blob/main/README.md
|
|
@@ -12,9 +12,11 @@ Keywords: agents,ai,mcp,memory,postgresql,vector-search
|
|
|
12
12
|
Classifier: Development Status :: 3 - Alpha
|
|
13
13
|
Classifier: Intended Audience :: Developers
|
|
14
14
|
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
16
18
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
17
|
-
Requires-Python: <3.
|
|
19
|
+
Requires-Python: <3.14,>=3.11
|
|
18
20
|
Requires-Dist: aioboto3>=13.0.0
|
|
19
21
|
Requires-Dist: arize-phoenix>=5.0.0
|
|
20
22
|
Requires-Dist: asyncpg>=0.30.0
|
|
@@ -143,9 +145,9 @@ pip install "remdb[all]"
|
|
|
143
145
|
git clone https://github.com/Percolation-Labs/remstack-lab.git
|
|
144
146
|
cd remstack-lab
|
|
145
147
|
|
|
146
|
-
# Start PostgreSQL
|
|
148
|
+
# Start services (PostgreSQL, Phoenix observability)
|
|
147
149
|
curl -O https://gist.githubusercontent.com/percolating-sirsh/d117b673bc0edfdef1a5068ccd3cf3e5/raw/docker-compose.prebuilt.yml
|
|
148
|
-
docker compose -f docker-compose.prebuilt.yml up -d
|
|
150
|
+
docker compose -f docker-compose.prebuilt.yml up -d
|
|
149
151
|
|
|
150
152
|
# Configure REM (creates ~/.rem/config.yaml and installs database schema)
|
|
151
153
|
# Add --claude-desktop to register with Claude Desktop app
|
|
@@ -177,7 +179,7 @@ rem ask "What is the Bitcoin whitepaper about?"
|
|
|
177
179
|
Once configured, you can also use the OpenAI-compatible chat completions API:
|
|
178
180
|
|
|
179
181
|
```bash
|
|
180
|
-
# Start
|
|
182
|
+
# Start all services (PostgreSQL, Phoenix, API)
|
|
181
183
|
docker compose -f docker-compose.prebuilt.yml up -d
|
|
182
184
|
|
|
183
185
|
# Test the API
|
|
@@ -3,106 +3,112 @@ rem/config.py,sha256=cyXFpqgTvHeYeIriiQHGC1jSokp55BkJtMS1cVu-C1M,6769
|
|
|
3
3
|
rem/mcp_server.py,sha256=OK0XaO2k_7BnVRozOfH_xRL51SkRN9kLoNNp_zrrGeA,1383
|
|
4
4
|
rem/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
rem/registry.py,sha256=AAGcr7oRHiHsX2mu7TL4EgKw39IFea8F-YIgbX58CUM,10545
|
|
6
|
-
rem/settings.py,sha256=
|
|
6
|
+
rem/settings.py,sha256=A09YZmDvs_OQM46BFqVFtAaETP6Ra3OmOnGa93XA98c,59854
|
|
7
7
|
rem/agentic/README.md,sha256=brF1Z1V6s8z5TLoyNPQ3BC5mqDy648QRPOQmGu6Jkzw,21815
|
|
8
8
|
rem/agentic/__init__.py,sha256=-UZiEYpodfD5xDns6L0nYSqK9owr3NxiWsq6vmK1tGk,1268
|
|
9
|
-
rem/agentic/context.py,sha256=
|
|
10
|
-
rem/agentic/context_builder.py,sha256=
|
|
9
|
+
rem/agentic/context.py,sha256=JGwgCQ5S_jd8MXO6xJNe_ddHX46M6m9qjfRKhZxkS_o,9402
|
|
10
|
+
rem/agentic/context_builder.py,sha256=POz8Rje4xn01K7i7yq3ty5RX3CZUhI2AlVPbrzgQWDo,14068
|
|
11
11
|
rem/agentic/llm_provider_models.py,sha256=bkBs_6aQ0maerlnQNH5hWv21Os3mX5Q14zXTW_8bGgI,10508
|
|
12
12
|
rem/agentic/query.py,sha256=yBtVT9bCUT9DPKRw9UltzN4o9wgB-Ry-FfW814Eg1WE,3612
|
|
13
13
|
rem/agentic/query_helper.py,sha256=DAr-he5XsJfwrcEzfJCNujWYU6MFvK0JFXee2ulRMQU,2458
|
|
14
14
|
rem/agentic/schema.py,sha256=PKcVvotbEmAyfqW7qkmO9cdZkUduwl89lSI7IUaVyJY,22914
|
|
15
15
|
rem/agentic/serialization.py,sha256=zwjyvcGjTHuChG9goRHEVlA3etAekVJGzv9o6Fo7raM,7999
|
|
16
16
|
rem/agentic/agents/README.md,sha256=npq2ENb5dNGYxqGQYTb9E0JquyKcXrMt8kM2q6LRxRk,4972
|
|
17
|
-
rem/agentic/agents/__init__.py,sha256=
|
|
17
|
+
rem/agentic/agents/__init__.py,sha256=OV-9J0EpxLv_zjhv9v2o-42tFcSkLabrwgumood27ZI,893
|
|
18
|
+
rem/agentic/agents/agent_manager.py,sha256=idT4brDCSzjDKkm897acKHgbJb25FISvDKqeWyU7hak,8228
|
|
18
19
|
rem/agentic/agents/sse_simulator.py,sha256=NTJuunUlEY5KFUKbxgkrt5iihdVIEAqPsufUVisziaQ,16392
|
|
19
20
|
rem/agentic/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
-
rem/agentic/mcp/tool_wrapper.py,sha256=
|
|
21
|
+
rem/agentic/mcp/tool_wrapper.py,sha256=MWDntUXNdbB0V2pIspba6C3xP6_DJoYUPPkw8TEqMo0,10305
|
|
21
22
|
rem/agentic/otel/__init__.py,sha256=IC0lLMmuxXRZrhO9p8-GQ6raZDP9YE3gcuCwl6vBv4c,195
|
|
22
23
|
rem/agentic/otel/setup.py,sha256=-NL5jDXuDdQMKEhZfOtjZ2kJtpayQ7dhM0p1OrU185c,9629
|
|
23
|
-
rem/agentic/providers/phoenix.py,sha256=
|
|
24
|
-
rem/agentic/providers/pydantic_ai.py,sha256=
|
|
24
|
+
rem/agentic/providers/phoenix.py,sha256=_e8-S8aSfpX2EulH0nXAermoDZ1c9Kh3QALGTCvCmC4,35422
|
|
25
|
+
rem/agentic/providers/pydantic_ai.py,sha256=8V4AfuG9Lfwo1iDBdBXXvJzrcfetmzZNYD6KYv6nwf0,32172
|
|
25
26
|
rem/agentic/tools/__init__.py,sha256=tb_9ml0i2LtEALAJ6h7D91xVEA_8ktDzD4s3nM0MsUE,147
|
|
26
27
|
rem/agentic/tools/rem_tools.py,sha256=xhLohuAsv0AUjXLMXa-n9KchhkHxEi7jq1BsjPBuogw,7344
|
|
27
28
|
rem/api/README.md,sha256=68KtBi1nkXm_J0skGVBhchXP-cLNaBBka6ZhLqAncoA,19998
|
|
28
|
-
rem/api/deps.py,sha256=
|
|
29
|
-
rem/api/main.py,sha256=
|
|
29
|
+
rem/api/deps.py,sha256=3_M8YOdyzEkr4kIhjJvxuDvnSaq7U8TLx1sZkEG63eU,6611
|
|
30
|
+
rem/api/main.py,sha256=TqNO7C-O483qvmM5odHTbqTgq4Lq4CibsF3Steq4ApE,16743
|
|
30
31
|
rem/api/mcp_router/prompts.py,sha256=bVNsJMur6i0oyd38WIr-r0kUNUAlcGG595WVhBDwxik,4077
|
|
31
32
|
rem/api/mcp_router/resources.py,sha256=2Ph0psMbCpH6MUJhV-uFSZJQwGbGELE2zoXBt9yOmL4,16194
|
|
32
|
-
rem/api/mcp_router/server.py,sha256=
|
|
33
|
-
rem/api/mcp_router/tools.py,sha256=
|
|
34
|
-
rem/api/middleware/tracking.py,sha256=
|
|
33
|
+
rem/api/mcp_router/server.py,sha256=DaBAVXthSVyGYu-XrZh_ENatfS1KpF11ekyoOQ3MWrU,11228
|
|
34
|
+
rem/api/mcp_router/tools.py,sha256=EfuqPBS92lTB6vx12EMcnIJEebGbDq0w1uW2R9Oy9Kk,39438
|
|
35
|
+
rem/api/middleware/tracking.py,sha256=ZlFkCVsmIfGuiRX1PPWN0vEIPZoOFIKqMZ3P-CjwfHc,6453
|
|
35
36
|
rem/api/routers/admin.py,sha256=AEvfi5QyfTG_3a8LZ5FPgbOXPajKeIu_5P6oqmLYa1E,14696
|
|
36
|
-
rem/api/routers/auth.py,sha256=
|
|
37
|
+
rem/api/routers/auth.py,sha256=qK3PPGDL2fbPPbOyBy6PKIxlvWClRr_vUYLvwAHIZLI,22923
|
|
37
38
|
rem/api/routers/dev.py,sha256=rLySeGas9USZxMxJiHU4ziaA8EK9aoc8dg7TpJagV-I,2229
|
|
38
39
|
rem/api/routers/feedback.py,sha256=UfDQlqeRwB1b4Q0agJOBahiAHL_aAHMb_l7TEjwZuGs,11378
|
|
39
|
-
rem/api/routers/messages.py,sha256=
|
|
40
|
+
rem/api/routers/messages.py,sha256=LLJSAZd6sD6IzaGhfMM1dGm-Uz4D6BdYBk1OsMmpUDM,16215
|
|
40
41
|
rem/api/routers/models.py,sha256=GMhDJzLrWe-gp842F1Vua2XOjZNAcIG-p-tCquJ5FQM,1946
|
|
41
42
|
rem/api/routers/query.py,sha256=cYV2HoSqMHr7kgeEFhx2GqUt_9Geg756JgJoYrX6OrU,13972
|
|
42
43
|
rem/api/routers/shared_sessions.py,sha256=9vQoQOsQhqWzcoJZ7_dhvi6zJlR5B72LP5THLfm--Ts,12259
|
|
43
44
|
rem/api/routers/chat/__init__.py,sha256=fck9klAzF7HJHNPAhl0B63uSavXvs6h26QhUsByf4JM,113
|
|
44
|
-
rem/api/routers/chat/completions.py,sha256=
|
|
45
|
+
rem/api/routers/chat/completions.py,sha256=ZjwKULboM0oKhSc0DP3tj4gamMNKphkvgJ01bUQ-O2Q,27239
|
|
45
46
|
rem/api/routers/chat/json_utils.py,sha256=BVRu-7PWIHTbC9Ubq4MfifZ8qYQZpcGhEgFgPVcXXKE,2191
|
|
46
47
|
rem/api/routers/chat/models.py,sha256=kzBxRvm5Ie2IchJrnFOom8cx6_ieEbuF2RqfiRJNNh8,7339
|
|
47
48
|
rem/api/routers/chat/otel_utils.py,sha256=al_4v044T3sOtIZtT9kHiNT6Twlc7wqz26edCcUSHSY,930
|
|
48
49
|
rem/api/routers/chat/sse_events.py,sha256=CS1yuor09Qq48bpJBODu7INS94S4GjS8YsPZkIc3Ii8,16508
|
|
49
|
-
rem/api/routers/chat/streaming.py,sha256=
|
|
50
|
+
rem/api/routers/chat/streaming.py,sha256=WCxtJ32V-9NpvkCvum1C8ay5IQ5tADpkKXgcurewcv8,41154
|
|
50
51
|
rem/auth/README.md,sha256=BpZUqEVYMUpQG4guykyuvmtzlH3_LsGzspuRZS20i8k,8631
|
|
51
|
-
rem/auth/__init__.py,sha256=
|
|
52
|
-
rem/auth/
|
|
53
|
-
rem/auth/
|
|
52
|
+
rem/auth/__init__.py,sha256=ebS-_x21TZsgq7QVgziUpXagSVQU5y0kIxqc_ZywzCE,1027
|
|
53
|
+
rem/auth/jwt.py,sha256=hKO8DeNZohqBiS8F7ZVOnlg-IF0SrGZ7cWMdC0a9jTE,10997
|
|
54
|
+
rem/auth/middleware.py,sha256=VUfbeUTeT7yGI-ZxlqeJAru_EH-qtiBaIHdFuRZozWA,11309
|
|
55
|
+
rem/auth/providers/__init__.py,sha256=yWurO-3o0fT_XIVcIyDX-ECx37jVn5g0pvOxcsU4Q3k,429
|
|
54
56
|
rem/auth/providers/base.py,sha256=wa7lrgM0AetZnITc45QFyiNHXgVVoWmZgW9tBpInDLw,11831
|
|
57
|
+
rem/auth/providers/email.py,sha256=LOrVIUiWDTTXMDLeiaTlrA1IQgELQS-nEtXzmzV2BaE,7000
|
|
55
58
|
rem/auth/providers/google.py,sha256=p3JAYOtyWwiN6T05rZI6sQJqrXhHaunaNOucHTBzWWc,5346
|
|
56
59
|
rem/auth/providers/microsoft.py,sha256=sv6emYa5B7XTk6gi18n_UCLPDqUmrrsuDnAnWGvJAYA,8444
|
|
57
60
|
rem/cli/README.md,sha256=UxmsXjxmee39xUrE7TRJ093Pfhazi58LhRqLfQsYA8g,11857
|
|
58
61
|
rem/cli/__init__.py,sha256=NazCCnBFZwMkvJgzeGkfYveP_MUpvbqHcOLZihew0-Q,188
|
|
59
|
-
rem/cli/dreaming.py,sha256=
|
|
60
|
-
rem/cli/main.py,sha256=
|
|
62
|
+
rem/cli/dreaming.py,sha256=UUxx9zXFDIvI5QhCLB303TPH0OiYMnr3l2YhF2GvF_8,11537
|
|
63
|
+
rem/cli/main.py,sha256=gP-lnD6kkCGeeMHh9aWPRb26CT1zpsDUwuQ30Zqkobw,3127
|
|
61
64
|
rem/cli/commands/README.md,sha256=CxTm4pAKVzE780sWn_sAILu2_nH_0oh9whppZvW4bew,9295
|
|
62
65
|
rem/cli/commands/__init__.py,sha256=wKff1WrBXwf-vDXjSvUuk-61Npm5716okVnOQ22FcEk,30
|
|
63
66
|
rem/cli/commands/ask.py,sha256=VTKL-E3_XZ8OWX16RCDAeAPrp28PLyXMgh63CNF-29Q,19389
|
|
64
67
|
rem/cli/commands/cluster.py,sha256=MQThC3Da73ixVQ75UYxleQlB8AqPQLzEK73eaB8pNFI,64247
|
|
65
|
-
rem/cli/commands/configure.py,sha256=
|
|
68
|
+
rem/cli/commands/configure.py,sha256=GQzlER8PkUCTaeYuLbXUYoeqlmEDafcjAcPJrDchC1I,16595
|
|
66
69
|
rem/cli/commands/db.py,sha256=5Enkq7CG7fOpIwMGQ_yF4mTEP3wmoZK3ic3jxERi7Fk,24953
|
|
67
70
|
rem/cli/commands/dreaming.py,sha256=2P8nyX9gnRgyCJZrDuyJt5_YAsFmjUGa6dg7OvoLA8k,13292
|
|
68
|
-
rem/cli/commands/experiments.py,sha256=
|
|
71
|
+
rem/cli/commands/experiments.py,sha256=dRJKtvrGQu0a9bQZaLnVfdWhaur2bKYviixqOnYQC-k,62472
|
|
69
72
|
rem/cli/commands/mcp.py,sha256=PiP_zXflZ2lPVgmH3N8EGOWXDSfvNTQJD-MMW3ym3xo,1666
|
|
70
73
|
rem/cli/commands/process.py,sha256=DCV7KuS3idRkJ7hsl4uxFqdt67RbxuCP3DL9VeqQuFQ,8630
|
|
71
74
|
rem/cli/commands/scaffold.py,sha256=hv2-ozD1bbD8FEky7OdIDzcgu-KISs5ek6APqykdZ6I,1618
|
|
72
75
|
rem/cli/commands/schema.py,sha256=oCsRUoih2MC_mpxmj14hsQy0xWLCddSUYcfGnDMlbuw,7325
|
|
73
76
|
rem/cli/commands/serve.py,sha256=ku6z5gxRwmY-vNdNELGPA8aiYyO4QGRgJ_H4wpusd8Y,2926
|
|
77
|
+
rem/cli/commands/session.py,sha256=rUDeLnBNwc6A1zSOOs-uHyfixDmBYlVtLToJpbPxo7I,9851
|
|
74
78
|
rem/models/core/__init__.py,sha256=BBbARx5_7uVz5FuuoPdFm3tbiWZWubs97i3smU0UxXg,1449
|
|
75
79
|
rem/models/core/core_model.py,sha256=aYVx2905n0b6TGLnIiV5YMWO2O8pxHVtLEWljWvURxU,2617
|
|
76
80
|
rem/models/core/engram.py,sha256=CuoilA74hmlgMT2mZCoEEh0jFsMrKUw9wdyFOygBa8E,10135
|
|
77
|
-
rem/models/core/experiment.py,sha256=
|
|
81
|
+
rem/models/core/experiment.py,sha256=Zc5kVtUa05mxEzvJHuXGvGMffa0Uk9Lo16XNsbIDfHw,20777
|
|
78
82
|
rem/models/core/inline_edge.py,sha256=BVOYchWzb5vYRPTBJEKh06YDwzL_NKdvCRg4BtXRn7g,5059
|
|
79
83
|
rem/models/core/rem_query.py,sha256=EpD1NdhxgptW81ID1_q2pnYhioM8J4Efx-JFJsNW_i0,8108
|
|
80
|
-
rem/models/entities/__init__.py,sha256=
|
|
84
|
+
rem/models/entities/__init__.py,sha256=h_Bt83lk1qTliTybT0HbxcBCPzIvbtfr7kizbSua1iM,2015
|
|
81
85
|
rem/models/entities/domain_resource.py,sha256=9kfsa1ELGG1gpAWlxBGkaWk157pJ8u636aQBi-ZJ9WA,1269
|
|
82
86
|
rem/models/entities/feedback.py,sha256=m8AIm57DD4N4-8M6hI9EwF6rpA_EYE8tNR-sln9vEb8,3483
|
|
83
87
|
rem/models/entities/file.py,sha256=plUm0Caww_yNrpgnOkGp3RBv4l9I6szGOe-NuAuWCcg,1492
|
|
84
88
|
rem/models/entities/image_resource.py,sha256=FIZbGVgsroHY47ESbFIjy0sOtgM8w6vHPUk9lJSVJz4,3254
|
|
85
89
|
rem/models/entities/message.py,sha256=KHHDBKs_UsWQ-0LURRQlDTV_iiUozmERMBWLPlHPbgg,1966
|
|
86
90
|
rem/models/entities/moment.py,sha256=sTRFShQwgJMez9OcU7-Vs6k-Whof2TuZCVjdUSyVjVY,4434
|
|
87
|
-
rem/models/entities/ontology.py,sha256=
|
|
88
|
-
rem/models/entities/ontology_config.py,sha256=
|
|
91
|
+
rem/models/entities/ontology.py,sha256=uJI-GhtvikafiJe2pYECFqGQlIZAHstSwIs9Lu4J6c0,7818
|
|
92
|
+
rem/models/entities/ontology_config.py,sha256=fe-LLM-AaKznVoQ02ou2GvPSAp_Bwez0rk3H0RIUYTw,5055
|
|
89
93
|
rem/models/entities/resource.py,sha256=FW7R_AylZilb-1iYfZA5MMQw2zA42CUVweKgO-4cwqM,3407
|
|
90
94
|
rem/models/entities/schema.py,sha256=CEcd49kR_6YgaLLKsWaIb2J0KdbVsgYoi_srPgzr9Aw,2945
|
|
91
95
|
rem/models/entities/session.py,sha256=VKeTAZZphrKz379Av1hhUTWfQ-DbxLAt3CfU3aDHfwk,2499
|
|
92
96
|
rem/models/entities/shared_session.py,sha256=PWTH637NHmwziXCgr1BM0KXWLUzHrbfLlYKLH3qdU6A,5901
|
|
93
|
-
rem/models/entities/
|
|
97
|
+
rem/models/entities/subscriber.py,sha256=0x51UkGRkAeJfr_0u4srN8H0NrXJEv5MdESeQsjvin4,5181
|
|
98
|
+
rem/models/entities/user.py,sha256=Ps-CWn-Rkj7yYEW768_mSu3maDxysxsJWT2T7XisuN4,2879
|
|
94
99
|
rem/schemas/README.md,sha256=_WH2A78jyLb11xu8q1tu4pDMlgZfE9WjYqrAUbn2BIM,13588
|
|
95
100
|
rem/schemas/__init__.py,sha256=cY7Hqc056Mb3t12nfpkAK6WZDvOP1gk4rv0CK4VbhTk,213
|
|
96
101
|
rem/schemas/agents/README.md,sha256=FZI5B8Miqod7KY3KxidW4q8u9W7FbtigV2VU7ropPS0,2815
|
|
97
102
|
rem/schemas/agents/rem.yaml,sha256=w8hIZvAnoWmYJrob1gEZ-yi6BXLQoafwlysYeGU168g,8390
|
|
103
|
+
rem/schemas/agents/core/agent-builder.yaml,sha256=-Yy-X1nreK1hEjGad1Pr0ROtG1LiRtidq8-63CMEqL4,7399
|
|
98
104
|
rem/schemas/agents/core/moment-builder.yaml,sha256=-nieKbEiYKiIwBtTCBtIVDKV-cfXpGn0AJ66BUUm48U,8368
|
|
99
105
|
rem/schemas/agents/core/rem-query-agent.yaml,sha256=dQyShquyn-2nGooy8tyZ588etfx4kzfAE1xDIBCJCVI,10265
|
|
100
106
|
rem/schemas/agents/core/resource-affinity-assessor.yaml,sha256=AXS_gvDdjUyFGZO-VJsGx30qKDIQJjdWU81ben-Jrk0,5361
|
|
101
107
|
rem/schemas/agents/core/simple-assistant.yaml,sha256=H2rf_dL7etoM-hw5LPSVnDJbqh7VAnWJKyQ1_FF3vM4,434
|
|
102
108
|
rem/schemas/agents/core/user-profile-builder.yaml,sha256=geyNQzkRMzAza1n_c5f44eYCWeoBQir7VxpGFtLitqw,7846
|
|
103
|
-
rem/schemas/agents/examples/contract-analyzer.yaml,sha256=
|
|
104
|
-
rem/schemas/agents/examples/contract-extractor.yaml,sha256=
|
|
105
|
-
rem/schemas/agents/examples/cv-parser.yaml,sha256=
|
|
109
|
+
rem/schemas/agents/examples/contract-analyzer.yaml,sha256=gGaDBFYhSIKd3Ur8Hjy9TV9vgQtcg-JPt24_K6oauj4,8087
|
|
110
|
+
rem/schemas/agents/examples/contract-extractor.yaml,sha256=mEq7faeSPkgX_OPKRa7l3VFYyyJ5B7-JaSsv0Bf7yAM,3317
|
|
111
|
+
rem/schemas/agents/examples/cv-parser.yaml,sha256=7la4WK9y4J2QRJ8xXc4fwiGlx3L1bEcObbMLpwAzRRg,6354
|
|
106
112
|
rem/schemas/agents/examples/hello-world.yaml,sha256=CCKxxB_VH8UpDrWeGXbenH4IRgxQM-lixMi1tX6213Y,683
|
|
107
113
|
rem/schemas/agents/examples/query.yaml,sha256=JAh8KlLJdOe5zV37yBVOMI2scZm_tZNEQWHSVQv1CuI,1251
|
|
108
114
|
rem/schemas/agents/examples/simple.yaml,sha256=kk0aQdpNptSTHID5hrfO1rbMEbwqKpP9SeZrOuDh1YM,453
|
|
@@ -113,9 +119,9 @@ rem/schemas/evaluators/rem/lookup-correctness.yaml,sha256=i0HLGlVzNlf7chVbXMpmyZ
|
|
|
113
119
|
rem/schemas/evaluators/rem/retrieval-precision.yaml,sha256=3CekIxTjJ0RFFKVNo-JFIpZ1KFea1WOWuMnRu8i-m1Q,7181
|
|
114
120
|
rem/schemas/evaluators/rem/retrieval-recall.yaml,sha256=2IuO8uu9hr-Nrn23nDo4rebE5t0eFtxcUYihHh5JwVc,7894
|
|
115
121
|
rem/schemas/evaluators/rem/search-correctness.yaml,sha256=pODDOMCqnTfAViQnn_KvSO132JYXoZiMeXW-8g7v-JE,6247
|
|
116
|
-
rem/services/__init__.py,sha256=
|
|
122
|
+
rem/services/__init__.py,sha256=NEm6aX38YW1HcICNGYbYTZb4VGWHgqRev5Rrf6xOQi0,566
|
|
117
123
|
rem/services/rate_limit.py,sha256=p7tTvGQfyM4XalEMdtGaDKvwCeuKZLQXSoM07aEru98,3725
|
|
118
|
-
rem/services/user_service.py,sha256=
|
|
124
|
+
rem/services/user_service.py,sha256=TJJDnWgrFviY7yb0bz5jfmYGnuQ2WaGvGvD5OgEOa0Q,4110
|
|
119
125
|
rem/services/audio/INTEGRATION.md,sha256=j1GhA1Az_x8Q6soxQ2blQ-0Av7he3lkeEw8P4SffI88,9526
|
|
120
126
|
rem/services/audio/README.md,sha256=VQmqhRNvNqXU549rhf589WBs1iacbvzayhRER1lyXV4,10355
|
|
121
127
|
rem/services/audio/__init__.py,sha256=jTAbL0324bJESsY9FBum6ybaXaxy7HTlREm9FiuCcSI,438
|
|
@@ -124,7 +130,7 @@ rem/services/audio/transcriber.py,sha256=CbUkNr_AyFZ4NImr6giwgDTT_xPmOe3iSr_YPdB
|
|
|
124
130
|
rem/services/content/README.md,sha256=nKOYqYbMljCVRZ55dlGU6Afipo0FVV7YXqT_dV-VXsw,35806
|
|
125
131
|
rem/services/content/__init__.py,sha256=JtfEPROctu3_R5oGdo04PxpgYqXxAz-TbpS8Ejkjdfs,120
|
|
126
132
|
rem/services/content/providers.py,sha256=xKW6Bn_fJpQGtnESufZcLRh7BAjWqSOLVdYiEg6rYDc,27909
|
|
127
|
-
rem/services/content/service.py,sha256=
|
|
133
|
+
rem/services/content/service.py,sha256=DjGNmkrRu18ODknD-cxSc2VAI_OtFbkGpbX5EOVXb-g,29765
|
|
128
134
|
rem/services/dreaming/README.md,sha256=JhzndF6yRP2Eut_AlvukZHV9MSv83V--V2pA0GXXf2g,9100
|
|
129
135
|
rem/services/dreaming/__init__.py,sha256=3j2TBC1_0z8AlCA9jiqsecyzPFaptCUUHsO_RlXrINc,1719
|
|
130
136
|
rem/services/dreaming/affinity_service.py,sha256=ScWKwRIPLywqqL2RFd_TsTg_KKmPb0ngBCpOpmIG7w4,12205
|
|
@@ -132,6 +138,9 @@ rem/services/dreaming/moment_service.py,sha256=cqUQpqGZx__Gx0m0I-_WmJJgNPrwVwHRQ
|
|
|
132
138
|
rem/services/dreaming/ontology_service.py,sha256=hpP3aCYqsP26taq3__Q2w_jmA9-J1wZ7gNrKvBf-HQM,1704
|
|
133
139
|
rem/services/dreaming/user_model_service.py,sha256=oTuqFdNxegWwVGzOOnwdf5YS2IKQYRNW10bV5efG57E,9929
|
|
134
140
|
rem/services/dreaming/utils.py,sha256=ntCXGygJERdH7CW59kudjodBVP6oD4mH42_vH_2powk,1116
|
|
141
|
+
rem/services/email/__init__.py,sha256=SwPCjm-8EuSFcap-LYLQ3NQnofd0v27ks0qLAKkg_tM,271
|
|
142
|
+
rem/services/email/service.py,sha256=p_BnAX789CIaJFTz1zX5m-VLHTp4abYiloz9QXzse1c,17643
|
|
143
|
+
rem/services/email/templates.py,sha256=bXgNweo6xwGJxxDvnjmhI320eyHTRtnyjstYk-Fs_5k,12775
|
|
135
144
|
rem/services/embeddings/__init__.py,sha256=Jr22tszCfpmishCnnQrS0MBHxiUK_E7rJmNqTeR_xpI,293
|
|
136
145
|
rem/services/embeddings/api.py,sha256=mDkx_-wWOfjI4uuPIaQDLkfdznEdXQFOvx4VK-Ll4oc,4340
|
|
137
146
|
rem/services/embeddings/worker.py,sha256=BdPIsR4hv_epbjpLMg7-n_uje6crvhdfZcVha9EzaxA,13993
|
|
@@ -155,13 +164,13 @@ rem/services/phoenix/__init__.py,sha256=f6h90EHVrQkyS-ZhPknXwbHp_vrZrQ7HgXmCGc1J
|
|
|
155
164
|
rem/services/phoenix/client.py,sha256=0sDm26v7Wi9jTof31Cf0A_5hA_g0HKGQys4qeBqySc0,35214
|
|
156
165
|
rem/services/phoenix/config.py,sha256=rgFEJ5iENuvBa0_nhEhgz0gW4Sg0uo_fkQMgsnHiTc8,2932
|
|
157
166
|
rem/services/phoenix/prompt_labels.py,sha256=82VIsXgZ51d3YLzHxusmfzd40yl5YOVnddzv_lNFIGg,13953
|
|
158
|
-
rem/services/postgres/README.md,sha256=
|
|
167
|
+
rem/services/postgres/README.md,sha256=Uh9ZyATF2PyNWz-QEtXl7wJ9Q_3Q0SL2hVKO2ncSwB8,22796
|
|
159
168
|
rem/services/postgres/__init__.py,sha256=hPOVs7Gi42qjz9ySu1y1Fmxcyo21UrhVycw_y4YAF-0,563
|
|
160
|
-
rem/services/postgres/diff_service.py,sha256=
|
|
169
|
+
rem/services/postgres/diff_service.py,sha256=J6QFsNmgaJA5I3BtP8_1NNm-OwloG8p44PlHhwCJiYc,20087
|
|
161
170
|
rem/services/postgres/migration_service.py,sha256=2irsWfzczZ0_-wge6ReyCrFrE3HxvnlwKAEp8mWqtQo,14897
|
|
162
|
-
rem/services/postgres/pydantic_to_sqlalchemy.py,sha256=
|
|
171
|
+
rem/services/postgres/pydantic_to_sqlalchemy.py,sha256=09KUBZWe8SgjSvXLkftG9zby8crWqnmDz9KlTJ0MVoM,17248
|
|
163
172
|
rem/services/postgres/register_type.py,sha256=KwttMTvCdtLvSyW2YICmZ71BBB4oomIoX9IJT-qyEn8,11169
|
|
164
|
-
rem/services/postgres/repository.py,sha256=
|
|
173
|
+
rem/services/postgres/repository.py,sha256=mY8HAS3eQa7GHLUYtDSVnSzD4-EuggmZUPYM9AmR3s0,15875
|
|
165
174
|
rem/services/postgres/schema_generator.py,sha256=TpINJtEPcrbISbz3HUo7zEI1C-542HEAsf2m5kOuGM8,23906
|
|
166
175
|
rem/services/postgres/service.py,sha256=3CIOP7LuaK4p2rYTyscIXasGLTwjb62HnAGbOCuEm74,27122
|
|
167
176
|
rem/services/postgres/sql_builder.py,sha256=EQZCXBLuOM_trDnr0vwzqJRCKMk9wpZG2ZrY_yBfQMk,10348
|
|
@@ -175,15 +184,16 @@ rem/services/rem/query.py,sha256=z4Qcaed1mPG2p-4pazEUlnUFqOEYxrKGYLffwD2-V-c,121
|
|
|
175
184
|
rem/services/rem/service.py,sha256=cYPPCZ90S9QRWi_4JxEe9oybdDM8Is7wgYt8EpLoiVY,21093
|
|
176
185
|
rem/services/session/README.md,sha256=WDoVWMRXrSh6wRSlUQ0oIHUItOol65INl86VCNPUOYQ,10446
|
|
177
186
|
rem/services/session/__init__.py,sha256=ODLcjnOjLubJU8ncvZsB4SB2zl-mncQQLDZWILwc0Cs,254
|
|
178
|
-
rem/services/session/compression.py,sha256=
|
|
179
|
-
rem/services/session/reload.py,sha256=
|
|
187
|
+
rem/services/session/compression.py,sha256=8PTGqJ9G4AJaMHzJL5BbVMz_okFSqWbRI3TSHCRYriU,17079
|
|
188
|
+
rem/services/session/reload.py,sha256=qbs9yYYBaEH0n_XN_A4BqHcB0RIX_JMkZjHNzUR6zY4,2805
|
|
180
189
|
rem/sql/background_indexes.sql,sha256=Lra21QxTvuDOlf0yoF23VOUiHJLRnNWgu0OOR8OXTGQ,1792
|
|
181
|
-
rem/sql/migrations/001_install.sql,sha256=
|
|
182
|
-
rem/sql/migrations/002_install_models.sql,sha256=
|
|
190
|
+
rem/sql/migrations/001_install.sql,sha256=ZxecG5DT1moSHildSjyeVwzbBATHGySCiJOa_JPpXEI,30040
|
|
191
|
+
rem/sql/migrations/002_install_models.sql,sha256=SMhvFKp70ctaln63ghZq9ED34LWR0__w-ETph7pgvQ4,152648
|
|
183
192
|
rem/sql/migrations/003_optional_extensions.sql,sha256=QACy3J50ZgV_4BHNkkT3iswkE1ijc0oCAOgavv6KC5g,12443
|
|
184
193
|
rem/sql/migrations/004_cache_system.sql,sha256=KBpU3hQY08So_MkMfcOwTZDngTMqa_3kA0ujQ98K33k,19672
|
|
194
|
+
rem/sql/migrations/005_schema_update.sql,sha256=fVcuUt0I24UXMEWA25TM-kN29GC19IAqxlxFP-3Z2ys,5055
|
|
185
195
|
rem/utils/AGENTIC_CHUNKING.md,sha256=Z9IyL5yoFTlvamPE5KA7cs0Btoc_6bq8hh7Q_WARlw8,17230
|
|
186
|
-
rem/utils/README.md,sha256=
|
|
196
|
+
rem/utils/README.md,sha256=Osix2SVYAECMFTFnLhn8D8rsPrtNaCBWfkZfkn5RS60,18087
|
|
187
197
|
rem/utils/__init__.py,sha256=ZGMTgR7g-V3fhfgKo791wGBhdxy72xTJSo7Q_xwkQRI,1417
|
|
188
198
|
rem/utils/agentic_chunking.py,sha256=B7TIggqOSeHJ5clPPY7O712Wb1xz52Y_2gCPiEZlWqY,21841
|
|
189
199
|
rem/utils/batch_ops.py,sha256=LgzttGV0O_a8Y70fnsX3XwlSZWZKRTnwBBwxP09BOvw,11689
|
|
@@ -193,15 +203,15 @@ rem/utils/constants.py,sha256=aX2GwgtaZx3wztsGNa8HFyKxAWNoZlZv9k45gQ7K3Qs,3283
|
|
|
193
203
|
rem/utils/date_utils.py,sha256=LiqyiYcvfw8I-zvfDzPEs1PnwHOEXfmqn_6BDqefEBo,5542
|
|
194
204
|
rem/utils/dict_utils.py,sha256=qp5myXSgGV2Daz9X-9SKzQDu2WeQeIBBcgFnqd8VhqY,2905
|
|
195
205
|
rem/utils/embeddings.py,sha256=FnjZFHXgxf__dbubY2HknhDAngizr8j7P28-Sug4-f0,13150
|
|
196
|
-
rem/utils/files.py,sha256=
|
|
206
|
+
rem/utils/files.py,sha256=6ax-5vmk_4cI-IG55PT9sKj_DqXBl32RkTRSsxqvgGY,8759
|
|
197
207
|
rem/utils/markdown.py,sha256=zhfSiSRX36vky1b2UOGKsuSr11L2l6Kl_O7iSfwQXBY,401
|
|
198
208
|
rem/utils/mime_types.py,sha256=8KGEuPWVdQ8r1DFLsgiaAgEYqMaaQIk-6lCVOBB1z_A,5346
|
|
199
209
|
rem/utils/model_helpers.py,sha256=Cvqeof9KlhkkBmAFxRLtfsh4m_MQ0N8WukI3IDJcTtw,11743
|
|
200
|
-
rem/utils/schema_loader.py,sha256=
|
|
210
|
+
rem/utils/schema_loader.py,sha256=4sfhbjSuFK8WN3e86IdqN8wsgbIA4dgboWMG-CuZzbY,24050
|
|
201
211
|
rem/utils/sql_paths.py,sha256=4bEHU3J3liZdhWYu0WSpCQSo-wfO0sHC_BrJlStRAks,4257
|
|
202
212
|
rem/utils/sql_types.py,sha256=VKGmDhxPP91EnjJ6h78Q2sUvjBulowR1brtgAdACbtE,10622
|
|
203
213
|
rem/utils/user_id.py,sha256=AhrUniMZYDybHT6mcv9RalUS3klobqkoMmPh9ZxiZcU,2107
|
|
204
|
-
rem/utils/vision.py,sha256=
|
|
214
|
+
rem/utils/vision.py,sha256=8LWRlgt8iM9PL9NFyPSu_CD7Ml7eQ9x88LctRb9xvEI,10372
|
|
205
215
|
rem/utils/examples/embeddings_example.py,sha256=_saDR9G8H03FCdJryVv7HAWFhyatVTRYAJJJRcAI9wo,9010
|
|
206
216
|
rem/utils/examples/sql_types_example.py,sha256=HuVFBA_HjF9yPhxUr3fyDE5L9_SsOjDoibdw05M_oIM,6465
|
|
207
217
|
rem/workers/README.md,sha256=k32MnZiNGds5HGyYDUbjDz1Aa4MsOGTX_T_eKKKJTi4,18061
|
|
@@ -212,7 +222,7 @@ rem/workers/dreaming.py,sha256=UqCf-iBUhzBVBRFj7_DtR6q27oRo7EUoal9qqHLzlo4,17823
|
|
|
212
222
|
rem/workers/engram_processor.py,sha256=Ws92kAILMLK_np3F1HRmhKKXiruLIvFn3o9MY3V2W8g,10779
|
|
213
223
|
rem/workers/sqs_file_processor.py,sha256=tX8S0yo2n1XGvaZ7JUqeGmtTwxybQqz3wkHT2j6Ak7Y,6597
|
|
214
224
|
rem/workers/unlogged_maintainer.py,sha256=KhebhXl3s6DwvHnXXEJ45r5tLK9PNj-0KclNIQVQ68s,15817
|
|
215
|
-
remdb-0.3.
|
|
216
|
-
remdb-0.3.
|
|
217
|
-
remdb-0.3.
|
|
218
|
-
remdb-0.3.
|
|
225
|
+
remdb-0.3.171.dist-info/METADATA,sha256=h0R2oFalh91OaK9-0pPfBpSdgEZZ74KXmk8oKab5t6U,53341
|
|
226
|
+
remdb-0.3.171.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
227
|
+
remdb-0.3.171.dist-info/entry_points.txt,sha256=gmmrz7tRC1WGUrCMJMg6p5pEP5h5mPYRvWIxp1FYdr0,42
|
|
228
|
+
remdb-0.3.171.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|