remdb 0.3.118__py3-none-any.whl → 0.3.146__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.
Potentially problematic release.
This version of remdb might be problematic. Click here for more details.
- rem/agentic/agents/sse_simulator.py +2 -0
- rem/agentic/context.py +23 -3
- rem/agentic/mcp/tool_wrapper.py +126 -15
- rem/agentic/otel/setup.py +1 -0
- rem/agentic/providers/phoenix.py +371 -108
- rem/agentic/providers/pydantic_ai.py +122 -43
- rem/agentic/schema.py +4 -1
- rem/api/mcp_router/tools.py +13 -2
- rem/api/routers/chat/completions.py +250 -4
- rem/api/routers/chat/models.py +81 -7
- rem/api/routers/chat/otel_utils.py +33 -0
- rem/api/routers/chat/sse_events.py +17 -1
- rem/api/routers/chat/streaming.py +35 -1
- rem/api/routers/feedback.py +134 -14
- rem/auth/middleware.py +66 -1
- rem/cli/commands/cluster.py +590 -82
- rem/cli/commands/configure.py +3 -4
- rem/cli/commands/experiments.py +468 -76
- rem/cli/commands/session.py +336 -0
- rem/cli/dreaming.py +2 -2
- rem/cli/main.py +2 -0
- rem/config.py +8 -1
- rem/models/core/experiment.py +58 -14
- rem/models/entities/ontology.py +1 -1
- rem/models/entities/ontology_config.py +1 -1
- 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/phoenix/client.py +59 -18
- rem/services/postgres/pydantic_to_sqlalchemy.py +9 -12
- rem/services/session/compression.py +7 -0
- rem/settings.py +260 -17
- rem/sql/migrations/002_install_models.sql +91 -91
- rem/sql/migrations/004_cache_system.sql +1 -1
- rem/utils/README.md +45 -0
- rem/utils/files.py +157 -1
- rem/utils/schema_loader.py +94 -3
- rem/utils/vision.py +1 -1
- rem/workers/__init__.py +2 -1
- rem/workers/db_listener.py +579 -0
- {remdb-0.3.118.dist-info → remdb-0.3.146.dist-info}/METADATA +161 -147
- {remdb-0.3.118.dist-info → remdb-0.3.146.dist-info}/RECORD +44 -41
- {remdb-0.3.118.dist-info → remdb-0.3.146.dist-info}/WHEEL +0 -0
- {remdb-0.3.118.dist-info → remdb-0.3.146.dist-info}/entry_points.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remdb
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.146
|
|
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
|
|
@@ -123,9 +125,8 @@ Cloud-native unified memory infrastructure for agentic AI systems built with Pyd
|
|
|
123
125
|
|
|
124
126
|
Choose your path:
|
|
125
127
|
|
|
126
|
-
- **Option 1: Package Users with Example Data** (Recommended
|
|
127
|
-
- **Option 2:
|
|
128
|
-
- **Option 3: Developers** - Clone repo, local development with uv
|
|
128
|
+
- **Option 1: Package Users with Example Data** (Recommended) - PyPI + example datasets
|
|
129
|
+
- **Option 2: Developers** - Clone repo, local development with uv
|
|
129
130
|
|
|
130
131
|
---
|
|
131
132
|
|
|
@@ -144,13 +145,9 @@ pip install "remdb[all]"
|
|
|
144
145
|
git clone https://github.com/Percolation-Labs/remstack-lab.git
|
|
145
146
|
cd remstack-lab
|
|
146
147
|
|
|
147
|
-
#
|
|
148
|
-
# export LLM__DEFAULT_MODEL="openai:gpt-4.1-nano" # Fast and cheap
|
|
149
|
-
# export LLM__DEFAULT_MODEL="anthropic:claude-sonnet-4-5-20250929" # High quality (default)
|
|
150
|
-
|
|
151
|
-
# Start PostgreSQL with docker-compose
|
|
148
|
+
# Start services (PostgreSQL, Phoenix observability)
|
|
152
149
|
curl -O https://gist.githubusercontent.com/percolating-sirsh/d117b673bc0edfdef1a5068ccd3cf3e5/raw/docker-compose.prebuilt.yml
|
|
153
|
-
docker compose -f docker-compose.prebuilt.yml up -d
|
|
150
|
+
docker compose -f docker-compose.prebuilt.yml up -d
|
|
154
151
|
|
|
155
152
|
# Configure REM (creates ~/.rem/config.yaml and installs database schema)
|
|
156
153
|
# Add --claude-desktop to register with Claude Desktop app
|
|
@@ -163,7 +160,7 @@ rem db load datasets/quickstart/sample_data.yaml
|
|
|
163
160
|
rem ask "What documents exist in the system?"
|
|
164
161
|
rem ask "Show me meetings about API design"
|
|
165
162
|
|
|
166
|
-
# Ingest files (PDF, DOCX, images, etc.)
|
|
163
|
+
# Ingest files (PDF, DOCX, images, etc.)
|
|
167
164
|
rem process ingest datasets/formats/files/bitcoin_whitepaper.pdf --category research --tags bitcoin,whitepaper
|
|
168
165
|
|
|
169
166
|
# Query ingested content
|
|
@@ -177,125 +174,39 @@ rem ask "What is the Bitcoin whitepaper about?"
|
|
|
177
174
|
|
|
178
175
|
**Learn more**: [remstack-lab repository](https://github.com/Percolation-Labs/remstack-lab)
|
|
179
176
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
## Option 2: Package Users (No Example Data)
|
|
177
|
+
### Using the API
|
|
183
178
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
### Step 1: Start Database and API with Docker Compose
|
|
179
|
+
Once configured, you can also use the OpenAI-compatible chat completions API:
|
|
187
180
|
|
|
188
181
|
```bash
|
|
189
|
-
#
|
|
190
|
-
mkdir my-rem-project && cd my-rem-project
|
|
191
|
-
|
|
192
|
-
# Download docker-compose file from public gist
|
|
193
|
-
curl -O https://gist.githubusercontent.com/percolating-sirsh/d117b673bc0edfdef1a5068ccd3cf3e5/raw/docker-compose.prebuilt.yml
|
|
194
|
-
|
|
195
|
-
# IMPORTANT: Export API keys BEFORE running docker compose
|
|
196
|
-
# Docker Compose reads env vars at startup - exporting them after won't work!
|
|
197
|
-
|
|
198
|
-
# Required: OpenAI for embeddings (text-embedding-3-small)
|
|
199
|
-
export OPENAI_API_KEY="sk-..."
|
|
200
|
-
|
|
201
|
-
# Recommended: At least one chat completion provider
|
|
202
|
-
export ANTHROPIC_API_KEY="sk-ant-..." # Claude Sonnet 4.5 (high quality)
|
|
203
|
-
export CEREBRAS_API_KEY="csk-..." # Cerebras (fast, cheap inference)
|
|
204
|
-
|
|
205
|
-
# Start PostgreSQL + API
|
|
182
|
+
# Start all services (PostgreSQL, Phoenix, API)
|
|
206
183
|
docker compose -f docker-compose.prebuilt.yml up -d
|
|
207
184
|
|
|
208
|
-
#
|
|
209
|
-
curl http://localhost:8000/
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
### Step 2: Install and Configure CLI (REQUIRED)
|
|
218
|
-
|
|
219
|
-
**This step is required** before you can use REM - it installs the database schema and configures your LLM API keys.
|
|
220
|
-
|
|
221
|
-
```bash
|
|
222
|
-
# Install remdb package from PyPI
|
|
223
|
-
pip install remdb[all]
|
|
224
|
-
|
|
225
|
-
# Configure REM (defaults to port 5051 for package users)
|
|
226
|
-
rem configure --install --claude-desktop
|
|
185
|
+
# Test the API
|
|
186
|
+
curl -X POST http://localhost:8000/api/v1/chat/completions \
|
|
187
|
+
-H "Content-Type: application/json" \
|
|
188
|
+
-H "X-Session-Id: a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
|
|
189
|
+
-d '{
|
|
190
|
+
"model": "anthropic:claude-sonnet-4-5-20250929",
|
|
191
|
+
"messages": [{"role": "user", "content": "What documents did Sarah Chen author?"}],
|
|
192
|
+
"stream": false
|
|
193
|
+
}'
|
|
227
194
|
```
|
|
228
195
|
|
|
229
|
-
The interactive wizard will:
|
|
230
|
-
1. **Configure PostgreSQL**: Defaults to `postgresql://rem:rem@localhost:5051/rem` (prebuilt docker-compose)
|
|
231
|
-
- Just press Enter to accept defaults
|
|
232
|
-
- Custom database: Enter your own host/port/credentials
|
|
233
|
-
2. **Configure LLM providers**: Enter your OpenAI/Anthropic API keys
|
|
234
|
-
3. **Install database tables**: Creates schema, functions, indexes (**required for CLI/API to work**)
|
|
235
|
-
4. **Register with Claude Desktop**: Adds REM MCP server to Claude
|
|
236
|
-
|
|
237
|
-
Configuration saved to `~/.rem/config.yaml` (can edit with `rem configure --edit`)
|
|
238
|
-
|
|
239
196
|
**Port Guide:**
|
|
240
197
|
- **5051**: Package users with `docker-compose.prebuilt.yml` (pre-built image)
|
|
241
198
|
- **5050**: Developers with `docker-compose.yml` (local build)
|
|
242
|
-
- **Custom**: Your own PostgreSQL database
|
|
243
199
|
|
|
244
200
|
**Next Steps:**
|
|
245
201
|
- See [CLI Reference](#cli-reference) for all available commands
|
|
246
202
|
- See [REM Query Dialect](#rem-query-dialect) for query examples
|
|
247
203
|
- See [API Endpoints](#api-endpoints) for OpenAI-compatible API usage
|
|
248
204
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
**Option A: Clone example datasets** (Recommended - works with all README examples)
|
|
252
|
-
|
|
253
|
-
```bash
|
|
254
|
-
# Clone datasets repository
|
|
255
|
-
git clone https://github.com/Percolation-Labs/remstack-lab.git
|
|
256
|
-
|
|
257
|
-
# Load quickstart dataset
|
|
258
|
-
rem db load --file remstack-lab/datasets/quickstart/sample_data.yaml
|
|
259
|
-
|
|
260
|
-
# Test with sample queries
|
|
261
|
-
rem ask "What documents exist in the system?"
|
|
262
|
-
rem ask "Show me meetings about API design"
|
|
263
|
-
rem ask "Who is Sarah Chen?"
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
**Option B: Bring your own data**
|
|
267
|
-
|
|
268
|
-
```bash
|
|
269
|
-
# Ingest your own files
|
|
270
|
-
echo "REM is a bio-inspired memory system for agentic AI workloads." > test-doc.txt
|
|
271
|
-
rem process ingest test-doc.txt --category documentation --tags rem,ai
|
|
272
|
-
|
|
273
|
-
# Query your ingested data
|
|
274
|
-
rem ask "What do you know about REM from my knowledge base?"
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
### Step 4: Test the API
|
|
278
|
-
|
|
279
|
-
```bash
|
|
280
|
-
# Test the OpenAI-compatible chat completions API
|
|
281
|
-
curl -X POST http://localhost:8000/api/v1/chat/completions \
|
|
282
|
-
-H "Content-Type: application/json" \
|
|
283
|
-
-d '{
|
|
284
|
-
"model": "anthropic:claude-sonnet-4-5-20250929",
|
|
285
|
-
"messages": [{"role": "user", "content": "What documents did Sarah Chen author?"}],
|
|
286
|
-
"stream": false
|
|
287
|
-
}'
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
**Available Commands:**
|
|
291
|
-
- `rem ask` - Natural language queries to REM
|
|
292
|
-
- `rem process ingest <file>` - Full ingestion pipeline (storage + parsing + embedding + database)
|
|
293
|
-
- `rem process uri <file>` - READ-ONLY parsing (no database storage, useful for testing parsers)
|
|
294
|
-
- `rem db load --file <yaml>` - Load structured datasets directly
|
|
205
|
+
---
|
|
295
206
|
|
|
296
207
|
## Example Datasets
|
|
297
208
|
|
|
298
|
-
|
|
209
|
+
Clone [remstack-lab](https://github.com/Percolation-Labs/remstack-lab) for curated datasets organized by domain and format.
|
|
299
210
|
|
|
300
211
|
**What's included:**
|
|
301
212
|
- **Quickstart**: Minimal dataset (3 users, 3 resources, 3 moments) - perfect for first-time users
|
|
@@ -422,7 +333,7 @@ rem ask research-assistant "Find documents about machine learning architecture"
|
|
|
422
333
|
rem ask research-assistant "Summarize recent API design documents" --stream
|
|
423
334
|
|
|
424
335
|
# With session continuity
|
|
425
|
-
rem ask research-assistant "What did we discuss about ML?" --session-id
|
|
336
|
+
rem ask research-assistant "What did we discuss about ML?" --session-id c3d4e5f6-a7b8-9012-cdef-345678901234
|
|
426
337
|
```
|
|
427
338
|
|
|
428
339
|
### Agent Schema Structure
|
|
@@ -475,14 +386,6 @@ rem process ingest my-agent.yaml --user-id tenant-a --category agents
|
|
|
475
386
|
rem ask my-agent "test" --user-id tenant-a
|
|
476
387
|
```
|
|
477
388
|
|
|
478
|
-
### Advanced: Ontology Extractors
|
|
479
|
-
|
|
480
|
-
Custom agents can also be used as **ontology extractors** to extract structured knowledge from files. See [CLAUDE.md](../CLAUDE.md#ontology-extraction-pattern) for details on:
|
|
481
|
-
- Multi-provider testing (`provider_configs`)
|
|
482
|
-
- Semantic search configuration (`embedding_fields`)
|
|
483
|
-
- File matching rules (`OntologyConfig`)
|
|
484
|
-
- Dreaming workflow integration
|
|
485
|
-
|
|
486
389
|
### Troubleshooting
|
|
487
390
|
|
|
488
391
|
**Schema not found error:**
|
|
@@ -700,8 +603,8 @@ POST /api/v1/chat/completions
|
|
|
700
603
|
```
|
|
701
604
|
|
|
702
605
|
**Headers**:
|
|
703
|
-
- `X-
|
|
704
|
-
- `X-
|
|
606
|
+
- `X-User-Id`: User identifier (required for data isolation, uses default if not provided)
|
|
607
|
+
- `X-Tenant-Id`: Deprecated - use `X-User-Id` instead (kept for backwards compatibility)
|
|
705
608
|
- `X-Session-Id`: Session/conversation identifier
|
|
706
609
|
- `X-Agent-Schema`: Agent schema URI to use
|
|
707
610
|
|
|
@@ -1235,7 +1138,7 @@ export API__RELOAD=true
|
|
|
1235
1138
|
rem serve
|
|
1236
1139
|
```
|
|
1237
1140
|
|
|
1238
|
-
## Development (For Contributors)
|
|
1141
|
+
## Option 2: Development (For Contributors)
|
|
1239
1142
|
|
|
1240
1143
|
**Best for**: Contributing to REM or customizing the codebase.
|
|
1241
1144
|
|
|
@@ -1531,45 +1434,156 @@ Successfully installed ... kreuzberg-4.0.0rc1 ... remdb-0.3.10
|
|
|
1531
1434
|
|
|
1532
1435
|
REM wraps FastAPI - extend it exactly as you would any FastAPI app.
|
|
1533
1436
|
|
|
1437
|
+
### Recommended Project Structure
|
|
1438
|
+
|
|
1439
|
+
REM auto-detects `./agents/` and `./models/` folders - no configuration needed:
|
|
1440
|
+
|
|
1441
|
+
```
|
|
1442
|
+
my-rem-app/
|
|
1443
|
+
├── agents/ # Auto-detected for agent schemas
|
|
1444
|
+
│ ├── my-agent.yaml # Custom agent (rem ask my-agent "query")
|
|
1445
|
+
│ └── another-agent.yaml
|
|
1446
|
+
├── models/ # Auto-detected if __init__.py exists
|
|
1447
|
+
│ └── __init__.py # Register models with @rem.register_model
|
|
1448
|
+
├── routers/ # Custom FastAPI routers
|
|
1449
|
+
│ └── custom.py
|
|
1450
|
+
├── main.py # Entry point
|
|
1451
|
+
└── pyproject.toml
|
|
1452
|
+
```
|
|
1453
|
+
|
|
1454
|
+
### Quick Start
|
|
1455
|
+
|
|
1534
1456
|
```python
|
|
1535
|
-
|
|
1457
|
+
# main.py
|
|
1536
1458
|
from rem import create_app
|
|
1537
|
-
from
|
|
1459
|
+
from fastapi import APIRouter
|
|
1538
1460
|
|
|
1539
|
-
#
|
|
1540
|
-
|
|
1461
|
+
# Create REM app (auto-detects ./agents/ and ./models/)
|
|
1462
|
+
app = create_app()
|
|
1541
1463
|
|
|
1542
|
-
#
|
|
1543
|
-
|
|
1464
|
+
# Add custom router
|
|
1465
|
+
router = APIRouter(prefix="/custom", tags=["custom"])
|
|
1544
1466
|
|
|
1545
|
-
|
|
1546
|
-
|
|
1467
|
+
@router.get("/hello")
|
|
1468
|
+
async def hello():
|
|
1469
|
+
return {"message": "Hello from custom router!"}
|
|
1547
1470
|
|
|
1548
|
-
|
|
1549
|
-
app.include_router(my_router)
|
|
1471
|
+
app.include_router(router)
|
|
1550
1472
|
|
|
1473
|
+
# Add custom MCP tool
|
|
1551
1474
|
@app.mcp_server.tool()
|
|
1552
1475
|
async def my_tool(query: str) -> dict:
|
|
1553
|
-
"""Custom MCP tool."""
|
|
1476
|
+
"""Custom MCP tool available to agents."""
|
|
1554
1477
|
return {"result": query}
|
|
1555
1478
|
```
|
|
1556
1479
|
|
|
1557
|
-
###
|
|
1480
|
+
### Custom Models (Auto-Detected)
|
|
1558
1481
|
|
|
1482
|
+
```python
|
|
1483
|
+
# models/__init__.py
|
|
1484
|
+
import rem
|
|
1485
|
+
from rem.models.core import CoreModel
|
|
1486
|
+
from pydantic import Field
|
|
1487
|
+
|
|
1488
|
+
@rem.register_model
|
|
1489
|
+
class MyEntity(CoreModel):
|
|
1490
|
+
"""Custom entity - auto-registered for schema generation."""
|
|
1491
|
+
name: str = Field(description="Entity name")
|
|
1492
|
+
status: str = Field(default="active")
|
|
1559
1493
|
```
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1494
|
+
|
|
1495
|
+
Run `rem db schema generate` to include your models in the database schema.
|
|
1496
|
+
|
|
1497
|
+
### Custom Agents (Auto-Detected)
|
|
1498
|
+
|
|
1499
|
+
```yaml
|
|
1500
|
+
# agents/my-agent.yaml
|
|
1501
|
+
type: object
|
|
1502
|
+
description: |
|
|
1503
|
+
You are a helpful assistant that...
|
|
1504
|
+
|
|
1505
|
+
properties:
|
|
1506
|
+
answer:
|
|
1507
|
+
type: string
|
|
1508
|
+
description: Your response
|
|
1509
|
+
|
|
1510
|
+
required:
|
|
1511
|
+
- answer
|
|
1512
|
+
|
|
1513
|
+
json_schema_extra:
|
|
1514
|
+
kind: agent
|
|
1515
|
+
name: my-agent
|
|
1516
|
+
version: "1.0.0"
|
|
1517
|
+
tools:
|
|
1518
|
+
- search_rem
|
|
1570
1519
|
```
|
|
1571
1520
|
|
|
1572
|
-
|
|
1521
|
+
Test with: `rem ask my-agent "Hello!"`
|
|
1522
|
+
|
|
1523
|
+
### Example Custom Router
|
|
1524
|
+
|
|
1525
|
+
```python
|
|
1526
|
+
# routers/analytics.py
|
|
1527
|
+
from fastapi import APIRouter, Depends
|
|
1528
|
+
from rem.services.postgres import get_postgres_service
|
|
1529
|
+
|
|
1530
|
+
router = APIRouter(prefix="/analytics", tags=["analytics"])
|
|
1531
|
+
|
|
1532
|
+
@router.get("/stats")
|
|
1533
|
+
async def get_stats():
|
|
1534
|
+
"""Get database statistics."""
|
|
1535
|
+
db = get_postgres_service()
|
|
1536
|
+
if not db:
|
|
1537
|
+
return {"error": "Database not available"}
|
|
1538
|
+
|
|
1539
|
+
await db.connect()
|
|
1540
|
+
try:
|
|
1541
|
+
result = await db.execute(
|
|
1542
|
+
"SELECT COUNT(*) as count FROM resources"
|
|
1543
|
+
)
|
|
1544
|
+
return {"resource_count": result[0]["count"]}
|
|
1545
|
+
finally:
|
|
1546
|
+
await db.disconnect()
|
|
1547
|
+
|
|
1548
|
+
@router.get("/recent")
|
|
1549
|
+
async def get_recent(limit: int = 10):
|
|
1550
|
+
"""Get recent resources."""
|
|
1551
|
+
db = get_postgres_service()
|
|
1552
|
+
if not db:
|
|
1553
|
+
return {"error": "Database not available"}
|
|
1554
|
+
|
|
1555
|
+
await db.connect()
|
|
1556
|
+
try:
|
|
1557
|
+
result = await db.execute(
|
|
1558
|
+
f"SELECT label, category, created_at FROM resources ORDER BY created_at DESC LIMIT {limit}"
|
|
1559
|
+
)
|
|
1560
|
+
return {"resources": result}
|
|
1561
|
+
finally:
|
|
1562
|
+
await db.disconnect()
|
|
1563
|
+
```
|
|
1564
|
+
|
|
1565
|
+
Include in main.py:
|
|
1566
|
+
|
|
1567
|
+
```python
|
|
1568
|
+
from routers.analytics import router as analytics_router
|
|
1569
|
+
app.include_router(analytics_router)
|
|
1570
|
+
```
|
|
1571
|
+
|
|
1572
|
+
### Running the App
|
|
1573
|
+
|
|
1574
|
+
```bash
|
|
1575
|
+
# Development (auto-reload)
|
|
1576
|
+
uv run uvicorn main:app --reload --port 8000
|
|
1577
|
+
|
|
1578
|
+
# Or use rem serve
|
|
1579
|
+
uv run rem serve --reload
|
|
1580
|
+
|
|
1581
|
+
# Test agent
|
|
1582
|
+
uv run rem ask my-agent "What can you help me with?"
|
|
1583
|
+
|
|
1584
|
+
# Test custom endpoint
|
|
1585
|
+
curl http://localhost:8000/analytics/stats
|
|
1586
|
+
```
|
|
1573
1587
|
|
|
1574
1588
|
### Extension Points
|
|
1575
1589
|
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
rem/__init__.py,sha256=bghAeI1VxL6qbYB8kvC39zfc00BlztykdmKiubDYE7w,3079
|
|
2
|
-
rem/config.py,sha256=
|
|
2
|
+
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=fB9_J6S8XYXTWC4qlkhVDBsnmJc-VCedd-jVQ8ceajE,54361
|
|
7
7
|
rem/agentic/README.md,sha256=brF1Z1V6s8z5TLoyNPQ3BC5mqDy648QRPOQmGu6Jkzw,21815
|
|
8
8
|
rem/agentic/__init__.py,sha256=-UZiEYpodfD5xDns6L0nYSqK9owr3NxiWsq6vmK1tGk,1268
|
|
9
|
-
rem/agentic/context.py,sha256=
|
|
9
|
+
rem/agentic/context.py,sha256=EBw2rQ85mygJZHaHfO2A59cu3rgI2vfy1A0Qhri99DE,6282
|
|
10
10
|
rem/agentic/context_builder.py,sha256=AkZPYMFhTWde6DiQ4yGgNmV32qDQQj-13SZnj3ppnFE,12686
|
|
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
|
-
rem/agentic/schema.py,sha256=
|
|
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
17
|
rem/agentic/agents/__init__.py,sha256=N4I_-yGieWMl5vEJ94yQ1v5WhQy2Z2-vOdyX3LcTzuk,581
|
|
18
|
-
rem/agentic/agents/sse_simulator.py,sha256=
|
|
18
|
+
rem/agentic/agents/sse_simulator.py,sha256=NTJuunUlEY5KFUKbxgkrt5iihdVIEAqPsufUVisziaQ,16392
|
|
19
19
|
rem/agentic/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
-
rem/agentic/mcp/tool_wrapper.py,sha256=
|
|
20
|
+
rem/agentic/mcp/tool_wrapper.py,sha256=ZHKWIeHwnvIegbRwUG1xovmTOLYcY9i28liBHNB6UH8,10012
|
|
21
21
|
rem/agentic/otel/__init__.py,sha256=IC0lLMmuxXRZrhO9p8-GQ6raZDP9YE3gcuCwl6vBv4c,195
|
|
22
|
-
rem/agentic/otel/setup.py,sha256
|
|
23
|
-
rem/agentic/providers/phoenix.py,sha256=
|
|
24
|
-
rem/agentic/providers/pydantic_ai.py,sha256=
|
|
22
|
+
rem/agentic/otel/setup.py,sha256=-NL5jDXuDdQMKEhZfOtjZ2kJtpayQ7dhM0p1OrU185c,9629
|
|
23
|
+
rem/agentic/providers/phoenix.py,sha256=_e8-S8aSfpX2EulH0nXAermoDZ1c9Kh3QALGTCvCmC4,35422
|
|
24
|
+
rem/agentic/providers/pydantic_ai.py,sha256=GHFBmN8KaMYe6eLSysA1g_fY30fUI6B5EDVoproM6F0,31746
|
|
25
25
|
rem/agentic/tools/__init__.py,sha256=tb_9ml0i2LtEALAJ6h7D91xVEA_8ktDzD4s3nM0MsUE,147
|
|
26
26
|
rem/agentic/tools/rem_tools.py,sha256=xhLohuAsv0AUjXLMXa-n9KchhkHxEi7jq1BsjPBuogw,7344
|
|
27
27
|
rem/api/README.md,sha256=68KtBi1nkXm_J0skGVBhchXP-cLNaBBka6ZhLqAncoA,19998
|
|
@@ -30,50 +30,52 @@ rem/api/main.py,sha256=_vfKH_DBWuempKs-YOS0gQOUbsHe3l1kEoVSvD-sOkQ,15917
|
|
|
30
30
|
rem/api/mcp_router/prompts.py,sha256=bVNsJMur6i0oyd38WIr-r0kUNUAlcGG595WVhBDwxik,4077
|
|
31
31
|
rem/api/mcp_router/resources.py,sha256=2Ph0psMbCpH6MUJhV-uFSZJQwGbGELE2zoXBt9yOmL4,16194
|
|
32
32
|
rem/api/mcp_router/server.py,sha256=boaxrFqywbiv0-hZ6nOvWrNXYlrG7thtmqa9dSv9sKE,11181
|
|
33
|
-
rem/api/mcp_router/tools.py,sha256=
|
|
33
|
+
rem/api/mcp_router/tools.py,sha256=H2YaJvT2HSDr68j3EOrHPWU3M742e4T1Me9oUdsnIYs,35719
|
|
34
34
|
rem/api/middleware/tracking.py,sha256=cA9ChbBQ8-QipLlyGrTUsd7eMtHGzZ9Cp4iEHBgOQiM,6326
|
|
35
35
|
rem/api/routers/admin.py,sha256=AEvfi5QyfTG_3a8LZ5FPgbOXPajKeIu_5P6oqmLYa1E,14696
|
|
36
36
|
rem/api/routers/auth.py,sha256=cDvPvqmMxr5FRign98K87Rp8GtVD2V9oZWoSPeqnP1o,11918
|
|
37
37
|
rem/api/routers/dev.py,sha256=rLySeGas9USZxMxJiHU4ziaA8EK9aoc8dg7TpJagV-I,2229
|
|
38
|
-
rem/api/routers/feedback.py,sha256=
|
|
38
|
+
rem/api/routers/feedback.py,sha256=UfDQlqeRwB1b4Q0agJOBahiAHL_aAHMb_l7TEjwZuGs,11378
|
|
39
39
|
rem/api/routers/messages.py,sha256=Av-fFeRLn_xMWDv0cdggfy4bw05WIHK0phWtPoffhOw,16292
|
|
40
40
|
rem/api/routers/models.py,sha256=GMhDJzLrWe-gp842F1Vua2XOjZNAcIG-p-tCquJ5FQM,1946
|
|
41
41
|
rem/api/routers/query.py,sha256=cYV2HoSqMHr7kgeEFhx2GqUt_9Geg756JgJoYrX6OrU,13972
|
|
42
42
|
rem/api/routers/shared_sessions.py,sha256=9vQoQOsQhqWzcoJZ7_dhvi6zJlR5B72LP5THLfm--Ts,12259
|
|
43
43
|
rem/api/routers/chat/__init__.py,sha256=fck9klAzF7HJHNPAhl0B63uSavXvs6h26QhUsByf4JM,113
|
|
44
|
-
rem/api/routers/chat/completions.py,sha256=
|
|
44
|
+
rem/api/routers/chat/completions.py,sha256=6kNlys_Vw2eMe8JJ7PhSLluq22cFboiMdJL49eSasnU,27092
|
|
45
45
|
rem/api/routers/chat/json_utils.py,sha256=BVRu-7PWIHTbC9Ubq4MfifZ8qYQZpcGhEgFgPVcXXKE,2191
|
|
46
|
-
rem/api/routers/chat/models.py,sha256=
|
|
47
|
-
rem/api/routers/chat/
|
|
48
|
-
rem/api/routers/chat/
|
|
46
|
+
rem/api/routers/chat/models.py,sha256=kzBxRvm5Ie2IchJrnFOom8cx6_ieEbuF2RqfiRJNNh8,7339
|
|
47
|
+
rem/api/routers/chat/otel_utils.py,sha256=al_4v044T3sOtIZtT9kHiNT6Twlc7wqz26edCcUSHSY,930
|
|
48
|
+
rem/api/routers/chat/sse_events.py,sha256=CS1yuor09Qq48bpJBODu7INS94S4GjS8YsPZkIc3Ii8,16508
|
|
49
|
+
rem/api/routers/chat/streaming.py,sha256=bHSDfTjpMS7wMjF1ovKWoH7mPngh7O5EHMzadOLBxKg,37287
|
|
49
50
|
rem/auth/README.md,sha256=BpZUqEVYMUpQG4guykyuvmtzlH3_LsGzspuRZS20i8k,8631
|
|
50
51
|
rem/auth/__init__.py,sha256=NuOzrlipfiRUM7lwuEJTzc-b8lYWCxDl_7V82FxElJA,700
|
|
51
|
-
rem/auth/middleware.py,sha256=
|
|
52
|
+
rem/auth/middleware.py,sha256=3RaMTFTtu8o3VXfXGazFHSUlDG-wDJNi4msE83w_RwM,9923
|
|
52
53
|
rem/auth/providers/__init__.py,sha256=NMdH84_UC2_9zX7yv-u26FxdGuDipz42S-YO1vc8w1M,318
|
|
53
54
|
rem/auth/providers/base.py,sha256=wa7lrgM0AetZnITc45QFyiNHXgVVoWmZgW9tBpInDLw,11831
|
|
54
55
|
rem/auth/providers/google.py,sha256=p3JAYOtyWwiN6T05rZI6sQJqrXhHaunaNOucHTBzWWc,5346
|
|
55
56
|
rem/auth/providers/microsoft.py,sha256=sv6emYa5B7XTk6gi18n_UCLPDqUmrrsuDnAnWGvJAYA,8444
|
|
56
57
|
rem/cli/README.md,sha256=UxmsXjxmee39xUrE7TRJ093Pfhazi58LhRqLfQsYA8g,11857
|
|
57
58
|
rem/cli/__init__.py,sha256=NazCCnBFZwMkvJgzeGkfYveP_MUpvbqHcOLZihew0-Q,188
|
|
58
|
-
rem/cli/dreaming.py,sha256=
|
|
59
|
-
rem/cli/main.py,sha256=
|
|
59
|
+
rem/cli/dreaming.py,sha256=UUxx9zXFDIvI5QhCLB303TPH0OiYMnr3l2YhF2GvF_8,11537
|
|
60
|
+
rem/cli/main.py,sha256=gP-lnD6kkCGeeMHh9aWPRb26CT1zpsDUwuQ30Zqkobw,3127
|
|
60
61
|
rem/cli/commands/README.md,sha256=CxTm4pAKVzE780sWn_sAILu2_nH_0oh9whppZvW4bew,9295
|
|
61
62
|
rem/cli/commands/__init__.py,sha256=wKff1WrBXwf-vDXjSvUuk-61Npm5716okVnOQ22FcEk,30
|
|
62
63
|
rem/cli/commands/ask.py,sha256=VTKL-E3_XZ8OWX16RCDAeAPrp28PLyXMgh63CNF-29Q,19389
|
|
63
|
-
rem/cli/commands/cluster.py,sha256=
|
|
64
|
-
rem/cli/commands/configure.py,sha256=
|
|
64
|
+
rem/cli/commands/cluster.py,sha256=MQThC3Da73ixVQ75UYxleQlB8AqPQLzEK73eaB8pNFI,64247
|
|
65
|
+
rem/cli/commands/configure.py,sha256=GQzlER8PkUCTaeYuLbXUYoeqlmEDafcjAcPJrDchC1I,16595
|
|
65
66
|
rem/cli/commands/db.py,sha256=5Enkq7CG7fOpIwMGQ_yF4mTEP3wmoZK3ic3jxERi7Fk,24953
|
|
66
67
|
rem/cli/commands/dreaming.py,sha256=2P8nyX9gnRgyCJZrDuyJt5_YAsFmjUGa6dg7OvoLA8k,13292
|
|
67
|
-
rem/cli/commands/experiments.py,sha256=
|
|
68
|
+
rem/cli/commands/experiments.py,sha256=dRJKtvrGQu0a9bQZaLnVfdWhaur2bKYviixqOnYQC-k,62472
|
|
68
69
|
rem/cli/commands/mcp.py,sha256=PiP_zXflZ2lPVgmH3N8EGOWXDSfvNTQJD-MMW3ym3xo,1666
|
|
69
70
|
rem/cli/commands/process.py,sha256=DCV7KuS3idRkJ7hsl4uxFqdt67RbxuCP3DL9VeqQuFQ,8630
|
|
70
71
|
rem/cli/commands/scaffold.py,sha256=hv2-ozD1bbD8FEky7OdIDzcgu-KISs5ek6APqykdZ6I,1618
|
|
71
72
|
rem/cli/commands/schema.py,sha256=oCsRUoih2MC_mpxmj14hsQy0xWLCddSUYcfGnDMlbuw,7325
|
|
72
73
|
rem/cli/commands/serve.py,sha256=ku6z5gxRwmY-vNdNELGPA8aiYyO4QGRgJ_H4wpusd8Y,2926
|
|
74
|
+
rem/cli/commands/session.py,sha256=rUDeLnBNwc6A1zSOOs-uHyfixDmBYlVtLToJpbPxo7I,9851
|
|
73
75
|
rem/models/core/__init__.py,sha256=BBbARx5_7uVz5FuuoPdFm3tbiWZWubs97i3smU0UxXg,1449
|
|
74
76
|
rem/models/core/core_model.py,sha256=aYVx2905n0b6TGLnIiV5YMWO2O8pxHVtLEWljWvURxU,2617
|
|
75
77
|
rem/models/core/engram.py,sha256=CuoilA74hmlgMT2mZCoEEh0jFsMrKUw9wdyFOygBa8E,10135
|
|
76
|
-
rem/models/core/experiment.py,sha256=
|
|
78
|
+
rem/models/core/experiment.py,sha256=Zc5kVtUa05mxEzvJHuXGvGMffa0Uk9Lo16XNsbIDfHw,20777
|
|
77
79
|
rem/models/core/inline_edge.py,sha256=BVOYchWzb5vYRPTBJEKh06YDwzL_NKdvCRg4BtXRn7g,5059
|
|
78
80
|
rem/models/core/rem_query.py,sha256=EpD1NdhxgptW81ID1_q2pnYhioM8J4Efx-JFJsNW_i0,8108
|
|
79
81
|
rem/models/entities/__init__.py,sha256=p3eOFNZdlQ_dF0ZdXR9sHPHu_btMd5mZmw0v5iL8uik,1878
|
|
@@ -83,8 +85,8 @@ rem/models/entities/file.py,sha256=plUm0Caww_yNrpgnOkGp3RBv4l9I6szGOe-NuAuWCcg,1
|
|
|
83
85
|
rem/models/entities/image_resource.py,sha256=FIZbGVgsroHY47ESbFIjy0sOtgM8w6vHPUk9lJSVJz4,3254
|
|
84
86
|
rem/models/entities/message.py,sha256=KHHDBKs_UsWQ-0LURRQlDTV_iiUozmERMBWLPlHPbgg,1966
|
|
85
87
|
rem/models/entities/moment.py,sha256=sTRFShQwgJMez9OcU7-Vs6k-Whof2TuZCVjdUSyVjVY,4434
|
|
86
|
-
rem/models/entities/ontology.py,sha256=
|
|
87
|
-
rem/models/entities/ontology_config.py,sha256=
|
|
88
|
+
rem/models/entities/ontology.py,sha256=uJI-GhtvikafiJe2pYECFqGQlIZAHstSwIs9Lu4J6c0,7818
|
|
89
|
+
rem/models/entities/ontology_config.py,sha256=fe-LLM-AaKznVoQ02ou2GvPSAp_Bwez0rk3H0RIUYTw,5055
|
|
88
90
|
rem/models/entities/resource.py,sha256=FW7R_AylZilb-1iYfZA5MMQw2zA42CUVweKgO-4cwqM,3407
|
|
89
91
|
rem/models/entities/schema.py,sha256=CEcd49kR_6YgaLLKsWaIb2J0KdbVsgYoi_srPgzr9Aw,2945
|
|
90
92
|
rem/models/entities/session.py,sha256=VKeTAZZphrKz379Av1hhUTWfQ-DbxLAt3CfU3aDHfwk,2499
|
|
@@ -99,9 +101,9 @@ rem/schemas/agents/core/rem-query-agent.yaml,sha256=dQyShquyn-2nGooy8tyZ588etfx4
|
|
|
99
101
|
rem/schemas/agents/core/resource-affinity-assessor.yaml,sha256=AXS_gvDdjUyFGZO-VJsGx30qKDIQJjdWU81ben-Jrk0,5361
|
|
100
102
|
rem/schemas/agents/core/simple-assistant.yaml,sha256=H2rf_dL7etoM-hw5LPSVnDJbqh7VAnWJKyQ1_FF3vM4,434
|
|
101
103
|
rem/schemas/agents/core/user-profile-builder.yaml,sha256=geyNQzkRMzAza1n_c5f44eYCWeoBQir7VxpGFtLitqw,7846
|
|
102
|
-
rem/schemas/agents/examples/contract-analyzer.yaml,sha256=
|
|
103
|
-
rem/schemas/agents/examples/contract-extractor.yaml,sha256=
|
|
104
|
-
rem/schemas/agents/examples/cv-parser.yaml,sha256=
|
|
104
|
+
rem/schemas/agents/examples/contract-analyzer.yaml,sha256=gGaDBFYhSIKd3Ur8Hjy9TV9vgQtcg-JPt24_K6oauj4,8087
|
|
105
|
+
rem/schemas/agents/examples/contract-extractor.yaml,sha256=mEq7faeSPkgX_OPKRa7l3VFYyyJ5B7-JaSsv0Bf7yAM,3317
|
|
106
|
+
rem/schemas/agents/examples/cv-parser.yaml,sha256=7la4WK9y4J2QRJ8xXc4fwiGlx3L1bEcObbMLpwAzRRg,6354
|
|
105
107
|
rem/schemas/agents/examples/hello-world.yaml,sha256=CCKxxB_VH8UpDrWeGXbenH4IRgxQM-lixMi1tX6213Y,683
|
|
106
108
|
rem/schemas/agents/examples/query.yaml,sha256=JAh8KlLJdOe5zV37yBVOMI2scZm_tZNEQWHSVQv1CuI,1251
|
|
107
109
|
rem/schemas/agents/examples/simple.yaml,sha256=kk0aQdpNptSTHID5hrfO1rbMEbwqKpP9SeZrOuDh1YM,453
|
|
@@ -151,14 +153,14 @@ rem/services/git/service.py,sha256=CRzJ0MQaDdrS3eMaFjUD0vvffUwW0aqHnTbsZUsBZGI,1
|
|
|
151
153
|
rem/services/phoenix/EXPERIMENT_DESIGN.md,sha256=rmx8hAVKP1SqM0VDBptG1OjhfGtAh7y_Y_1oyxcP1j8,31209
|
|
152
154
|
rem/services/phoenix/README.md,sha256=XH-NHZ3nMkQJMAi_8gSzlmWX0NcirUqv_7lC82pjenU,10798
|
|
153
155
|
rem/services/phoenix/__init__.py,sha256=f6h90EHVrQkyS-ZhPknXwbHp_vrZrQ7HgXmCGc1JFQ0,1471
|
|
154
|
-
rem/services/phoenix/client.py,sha256=
|
|
156
|
+
rem/services/phoenix/client.py,sha256=0sDm26v7Wi9jTof31Cf0A_5hA_g0HKGQys4qeBqySc0,35214
|
|
155
157
|
rem/services/phoenix/config.py,sha256=rgFEJ5iENuvBa0_nhEhgz0gW4Sg0uo_fkQMgsnHiTc8,2932
|
|
156
158
|
rem/services/phoenix/prompt_labels.py,sha256=82VIsXgZ51d3YLzHxusmfzd40yl5YOVnddzv_lNFIGg,13953
|
|
157
159
|
rem/services/postgres/README.md,sha256=qPimP6367CvfcuF1DjC0VSL0uoc_ThOVeZ0ioJy_z5Q,21518
|
|
158
160
|
rem/services/postgres/__init__.py,sha256=hPOVs7Gi42qjz9ySu1y1Fmxcyo21UrhVycw_y4YAF-0,563
|
|
159
161
|
rem/services/postgres/diff_service.py,sha256=vffYq6e5Ce_b8yuS01u9r27SYCUnmODa5mH8eeZpInM,19402
|
|
160
162
|
rem/services/postgres/migration_service.py,sha256=2irsWfzczZ0_-wge6ReyCrFrE3HxvnlwKAEp8mWqtQo,14897
|
|
161
|
-
rem/services/postgres/pydantic_to_sqlalchemy.py,sha256=
|
|
163
|
+
rem/services/postgres/pydantic_to_sqlalchemy.py,sha256=Gnphk41CPfgYNgEYlnGV1bkz7o56n8PQe1v47mWks-E,16036
|
|
162
164
|
rem/services/postgres/register_type.py,sha256=KwttMTvCdtLvSyW2YICmZ71BBB4oomIoX9IJT-qyEn8,11169
|
|
163
165
|
rem/services/postgres/repository.py,sha256=CYbAozL7iAjVnpV8HbQ1HNu8UUlgHzvyBds1qTICfQE,15788
|
|
164
166
|
rem/services/postgres/schema_generator.py,sha256=TpINJtEPcrbISbz3HUo7zEI1C-542HEAsf2m5kOuGM8,23906
|
|
@@ -174,15 +176,15 @@ rem/services/rem/query.py,sha256=z4Qcaed1mPG2p-4pazEUlnUFqOEYxrKGYLffwD2-V-c,121
|
|
|
174
176
|
rem/services/rem/service.py,sha256=cYPPCZ90S9QRWi_4JxEe9oybdDM8Is7wgYt8EpLoiVY,21093
|
|
175
177
|
rem/services/session/README.md,sha256=WDoVWMRXrSh6wRSlUQ0oIHUItOol65INl86VCNPUOYQ,10446
|
|
176
178
|
rem/services/session/__init__.py,sha256=ODLcjnOjLubJU8ncvZsB4SB2zl-mncQQLDZWILwc0Cs,254
|
|
177
|
-
rem/services/session/compression.py,sha256=
|
|
179
|
+
rem/services/session/compression.py,sha256=D1kOljLD5bUxukGQKpGmVSjn3Z9Ugx-T3IF--GXMSCw,14236
|
|
178
180
|
rem/services/session/reload.py,sha256=MhCielWyhNAP6yqi61q9sc_8CRWAvG2sHBRTvamIcF8,2428
|
|
179
181
|
rem/sql/background_indexes.sql,sha256=Lra21QxTvuDOlf0yoF23VOUiHJLRnNWgu0OOR8OXTGQ,1792
|
|
180
182
|
rem/sql/migrations/001_install.sql,sha256=LPaIStaDwQ39U-mlMqY6qxMoAAdulyB80ReyiPw_TvA,30039
|
|
181
|
-
rem/sql/migrations/002_install_models.sql,sha256=
|
|
183
|
+
rem/sql/migrations/002_install_models.sql,sha256=SMhvFKp70ctaln63ghZq9ED34LWR0__w-ETph7pgvQ4,152648
|
|
182
184
|
rem/sql/migrations/003_optional_extensions.sql,sha256=QACy3J50ZgV_4BHNkkT3iswkE1ijc0oCAOgavv6KC5g,12443
|
|
183
|
-
rem/sql/migrations/004_cache_system.sql,sha256=
|
|
185
|
+
rem/sql/migrations/004_cache_system.sql,sha256=KBpU3hQY08So_MkMfcOwTZDngTMqa_3kA0ujQ98K33k,19672
|
|
184
186
|
rem/utils/AGENTIC_CHUNKING.md,sha256=Z9IyL5yoFTlvamPE5KA7cs0Btoc_6bq8hh7Q_WARlw8,17230
|
|
185
|
-
rem/utils/README.md,sha256=
|
|
187
|
+
rem/utils/README.md,sha256=Osix2SVYAECMFTFnLhn8D8rsPrtNaCBWfkZfkn5RS60,18087
|
|
186
188
|
rem/utils/__init__.py,sha256=ZGMTgR7g-V3fhfgKo791wGBhdxy72xTJSo7Q_xwkQRI,1417
|
|
187
189
|
rem/utils/agentic_chunking.py,sha256=B7TIggqOSeHJ5clPPY7O712Wb1xz52Y_2gCPiEZlWqY,21841
|
|
188
190
|
rem/utils/batch_ops.py,sha256=LgzttGV0O_a8Y70fnsX3XwlSZWZKRTnwBBwxP09BOvw,11689
|
|
@@ -192,25 +194,26 @@ rem/utils/constants.py,sha256=aX2GwgtaZx3wztsGNa8HFyKxAWNoZlZv9k45gQ7K3Qs,3283
|
|
|
192
194
|
rem/utils/date_utils.py,sha256=LiqyiYcvfw8I-zvfDzPEs1PnwHOEXfmqn_6BDqefEBo,5542
|
|
193
195
|
rem/utils/dict_utils.py,sha256=qp5myXSgGV2Daz9X-9SKzQDu2WeQeIBBcgFnqd8VhqY,2905
|
|
194
196
|
rem/utils/embeddings.py,sha256=FnjZFHXgxf__dbubY2HknhDAngizr8j7P28-Sug4-f0,13150
|
|
195
|
-
rem/utils/files.py,sha256=
|
|
197
|
+
rem/utils/files.py,sha256=6ax-5vmk_4cI-IG55PT9sKj_DqXBl32RkTRSsxqvgGY,8759
|
|
196
198
|
rem/utils/markdown.py,sha256=zhfSiSRX36vky1b2UOGKsuSr11L2l6Kl_O7iSfwQXBY,401
|
|
197
199
|
rem/utils/mime_types.py,sha256=8KGEuPWVdQ8r1DFLsgiaAgEYqMaaQIk-6lCVOBB1z_A,5346
|
|
198
200
|
rem/utils/model_helpers.py,sha256=Cvqeof9KlhkkBmAFxRLtfsh4m_MQ0N8WukI3IDJcTtw,11743
|
|
199
|
-
rem/utils/schema_loader.py,sha256=
|
|
201
|
+
rem/utils/schema_loader.py,sha256=HMFr9SLOqj9N9fdqBBJJUEY86ruPWg75ay-k8B9SdsY,22740
|
|
200
202
|
rem/utils/sql_paths.py,sha256=4bEHU3J3liZdhWYu0WSpCQSo-wfO0sHC_BrJlStRAks,4257
|
|
201
203
|
rem/utils/sql_types.py,sha256=VKGmDhxPP91EnjJ6h78Q2sUvjBulowR1brtgAdACbtE,10622
|
|
202
204
|
rem/utils/user_id.py,sha256=AhrUniMZYDybHT6mcv9RalUS3klobqkoMmPh9ZxiZcU,2107
|
|
203
|
-
rem/utils/vision.py,sha256=
|
|
205
|
+
rem/utils/vision.py,sha256=8LWRlgt8iM9PL9NFyPSu_CD7Ml7eQ9x88LctRb9xvEI,10372
|
|
204
206
|
rem/utils/examples/embeddings_example.py,sha256=_saDR9G8H03FCdJryVv7HAWFhyatVTRYAJJJRcAI9wo,9010
|
|
205
207
|
rem/utils/examples/sql_types_example.py,sha256=HuVFBA_HjF9yPhxUr3fyDE5L9_SsOjDoibdw05M_oIM,6465
|
|
206
208
|
rem/workers/README.md,sha256=k32MnZiNGds5HGyYDUbjDz1Aa4MsOGTX_T_eKKKJTi4,18061
|
|
207
|
-
rem/workers/__init__.py,sha256
|
|
209
|
+
rem/workers/__init__.py,sha256=-B3pDYptiOSQ3KRMwTYDQOJ7GoWZ9suuMDLgvVNweIg,253
|
|
210
|
+
rem/workers/db_listener.py,sha256=6WGPxaagrQ9e5rfczTSoBslqOsRFszqWgF-DYH9by0E,19954
|
|
208
211
|
rem/workers/db_maintainer.py,sha256=y-bLIkJuVu4J8o4BAlkTt9zXXCgh0i5nGWjh0Ne48Tg,2066
|
|
209
212
|
rem/workers/dreaming.py,sha256=UqCf-iBUhzBVBRFj7_DtR6q27oRo7EUoal9qqHLzlo4,17823
|
|
210
213
|
rem/workers/engram_processor.py,sha256=Ws92kAILMLK_np3F1HRmhKKXiruLIvFn3o9MY3V2W8g,10779
|
|
211
214
|
rem/workers/sqs_file_processor.py,sha256=tX8S0yo2n1XGvaZ7JUqeGmtTwxybQqz3wkHT2j6Ak7Y,6597
|
|
212
215
|
rem/workers/unlogged_maintainer.py,sha256=KhebhXl3s6DwvHnXXEJ45r5tLK9PNj-0KclNIQVQ68s,15817
|
|
213
|
-
remdb-0.3.
|
|
214
|
-
remdb-0.3.
|
|
215
|
-
remdb-0.3.
|
|
216
|
-
remdb-0.3.
|
|
216
|
+
remdb-0.3.146.dist-info/METADATA,sha256=5EN8fzDT5MKmkGWP4W6-bZSPQ6uG9j0rcsUsZdpK-_c,53341
|
|
217
|
+
remdb-0.3.146.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
218
|
+
remdb-0.3.146.dist-info/entry_points.txt,sha256=gmmrz7tRC1WGUrCMJMg6p5pEP5h5mPYRvWIxp1FYdr0,42
|
|
219
|
+
remdb-0.3.146.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|