remdb 0.3.122__tar.gz → 0.3.157__tar.gz
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.
- {remdb-0.3.122 → remdb-0.3.157}/.env.example +22 -1
- {remdb-0.3.122 → remdb-0.3.157}/.gitignore +1 -0
- remdb-0.3.157/.kreuzberg/mime/2470f3a5e2d1953b.msgpack +1 -0
- remdb-0.3.157/.kreuzberg/mime/34f1cfc7a58e8b0c.msgpack +2 -0
- remdb-0.3.157/.kreuzberg/mime/56bf449feab17e6d.msgpack +1 -0
- remdb-0.3.157/.kreuzberg/mime/8cace0ec228b43d6.msgpack +1 -0
- remdb-0.3.157/.kreuzberg/mime/99f1579d6a6790ad.msgpack +1 -0
- remdb-0.3.157/.kreuzberg/mime/a0d60cff1e5950a6.msgpack +1 -0
- remdb-0.3.157/.kreuzberg/mime/b2b5204d4dfab9dc.msgpack +1 -0
- remdb-0.3.157/.kreuzberg/mime/d1df948b17e4d9fc.msgpack +1 -0
- {remdb-0.3.122 → remdb-0.3.157}/PKG-INFO +141 -36
- {remdb-0.3.122 → remdb-0.3.157}/README.md +137 -34
- {remdb-0.3.122 → remdb-0.3.157}/pyproject.toml +6 -4
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/agents/__init__.py +16 -0
- remdb-0.3.157/src/rem/agentic/agents/agent_manager.py +310 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/context_builder.py +5 -3
- remdb-0.3.157/src/rem/agentic/mcp/tool_wrapper.py +244 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/providers/phoenix.py +371 -108
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/providers/pydantic_ai.py +122 -43
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/schema.py +4 -1
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/deps.py +2 -2
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/main.py +1 -1
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/mcp_router/server.py +2 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/mcp_router/tools.py +90 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/auth.py +208 -4
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/chat/streaming.py +77 -22
- remdb-0.3.157/src/rem/auth/__init__.py +36 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/auth/middleware.py +66 -1
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/auth/providers/__init__.py +4 -1
- remdb-0.3.157/src/rem/auth/providers/email.py +215 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/configure.py +3 -4
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/experiments.py +468 -76
- remdb-0.3.157/src/rem/cli/commands/session.py +336 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/dreaming.py +2 -2
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/main.py +2 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/config.py +8 -1
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/core/experiment.py +58 -14
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/__init__.py +4 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/ontology.py +1 -1
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/ontology_config.py +1 -1
- remdb-0.3.157/src/rem/models/entities/subscriber.py +175 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/user.py +1 -0
- remdb-0.3.157/src/rem/schemas/agents/core/agent-builder.yaml +134 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/examples/contract-analyzer.yaml +1 -1
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/examples/contract-extractor.yaml +1 -1
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/examples/cv-parser.yaml +1 -1
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/__init__.py +3 -1
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/content/service.py +4 -3
- remdb-0.3.157/src/rem/services/email/__init__.py +10 -0
- remdb-0.3.157/src/rem/services/email/service.py +459 -0
- remdb-0.3.157/src/rem/services/email/templates.py +360 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/README.md +38 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/diff_service.py +19 -3
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/pydantic_to_sqlalchemy.py +45 -13
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/session/compression.py +113 -50
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/session/reload.py +14 -7
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/settings.py +309 -10
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/sql/migrations/002_install_models.sql +91 -91
- remdb-0.3.157/src/rem/sql/migrations/005_schema_update.sql +145 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/README.md +45 -0
- remdb-0.3.157/src/rem/utils/files.py +323 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/schema_loader.py +93 -2
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/vision.py +1 -1
- remdb-0.3.157/tests/integration/test_email_auth.py +191 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_embedding_worker.py +3 -1
- remdb-0.3.157/tests/test_agent_manager.py +175 -0
- remdb-0.3.157/tests/unit/services/test_session_compression.py +273 -0
- remdb-0.3.157/tests/unit/test_api_key_auth.py +133 -0
- remdb-0.3.157/tests/unit/test_resource_tools.py +136 -0
- remdb-0.3.157/tests/unit/test_session_cli.py +124 -0
- remdb-0.3.122/src/rem/agentic/mcp/tool_wrapper.py +0 -133
- remdb-0.3.122/src/rem/auth/__init__.py +0 -26
- remdb-0.3.122/src/rem/utils/files.py +0 -167
- remdb-0.3.122/tests/integration/test_feedback_endpoint.py +0 -127
- {remdb-0.3.122 → remdb-0.3.157}/.claude/archive/PUBLISH.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.claude/archive/QUICKSTART.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.claude/archive/publish.sh +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.claude/settings.local.json +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.dockerignore +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.experiments/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.experiments/RUN_ON_CLUSTER.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.experiments/TESTING_GUIDE.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.experiments/test-phoenix-integration.sh +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/039976f3b4dc7549.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/045e65492b634d11.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/07f5cd0e3fb1d287.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/08f4ae339838b804.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/0a64e58ae1289686.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/0da06e67dd284834.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/0e200bfe2ea523f2.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/10b1925cb6007390.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/11c55125d2be1895.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/12dd62bbe8ee9b6a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/18f78825b8e302a8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/19a7ff44501eb3f9.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/1c9cec1b6f266e8d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/1db0e7d4ac2443af.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/1f32d592b118d944.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/20db05a60f4c6ce3.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/220746359cef9884.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/24034098fd444b39.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/24acc2df261ae549.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/26a8ed0cdfc0ccab.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/28e3c2bf25dfc659.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/295a37ef869b0a49.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/2a6f58009e01ad65.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/2ab7ae3b2e42644e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/2b24548c2f91f8b9.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/2bb63e6235d19b40.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/2c74a0f17cde1b0c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/2d728912eb223a33.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/2de80149b410a676.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/2e1001cbed04103c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/32d99ccf71d10a38.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/3353ae12a176a9bd.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/3c5bd974fb83b573.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/3ca9da43dd834bca.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/3e9db2b8a87873c7.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/3ff1b430e0b510d5.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/4035607526c8600d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/40f0415d564cb996.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/4388f8ee095c9ed8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/439f422b7f8dc467.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/452c56ffd625931f.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/45ee850e300157c8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/45f79b5f90a07f0e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/487e56b12d123968.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/49be62bf170de12a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/4b3e165ec4ba87d0.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/505ff13d9ac8f006.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/51e81cbe7899e310.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/537dea93b57ffce5.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/56a9f1cd9ec05384.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/57ab5fe18c74538b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/5a11f436d88e89cd.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/5b10dca1c6db6714.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/5eb63bbe412735a4.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/5ebca8549bb3ff2b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/5fef074c57dd118f.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/60f343229f836ab6.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/6153f83bf3713b32.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/6488134e7b6dd403.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/68e7b00767be2e16.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/6afac5499ef0a938.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/6bd93d4fd4cc3893.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/6defbba8bfc76983.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/6e37f5165f71513b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/6f9130d5f4db8b28.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/6fc0d79c16c59de5.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/774b8c209528323e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/78c509bc3a9d93c4.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/798017037907ab5f.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/7a4fd9fd84ae6899.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/7b094993adee6e1a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/7c3ad418912e7c09.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/7f630276be2a1503.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/80fd68e8a4ac6556.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/819aabcfdf1334af.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/81ea65c652232174.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/84c4f70ba7616566.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/856e8ba75c4d220e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/8d1ecc30d7d58b41.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/8e2e4ab7c05925fa.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/8e89a980bc3b92d8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/8f6a9b01f15883f5.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/9091b9d61e026046.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/927a028cf723c70d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/94bda8f2cabc1358.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/95313ccec52beb53.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/954fee40bb61432b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/9592cc24f2bf0d77.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/967396ed95832197.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/9804f3b02bf98e83.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/9936890e55f094f3.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/99405cab6cc35283.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/99e3da57a007bc59.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/9c265a028ee05977.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/9f02e484a5feb3af.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/9fd81ffc0b3282f8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/a2bcfb3e4cf75d71.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/a3fd1a45a0ef02f1.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/a72acced3b5f0c28.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/a78fa3051259d29c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/a964045be65be2d2.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/ae8bc0c15954a96a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/af05b5754cd245b5.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/af28c894e94dc85c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/b0a26c1396c336b2.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/b2f8df0bdc713008.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/b361fc308a3b9ab1.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/b374846290238cd1.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/b4b163b746d0aa53.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/b68845f6e8da9be3.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/b7e677bf8412e9bd.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/b99ba32d31caa65e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/bc02d7c24ec8eccc.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/bc1a967be3c37e18.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/bc89d1801e46fb3c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/bce873a224061155.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/bea4de84b22aebbc.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/c5f723dcb1ff4b6f.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/c6ca46f28d7798dd.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/c6e2f4ede9282c2f.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/c761de11e901384a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/c99399d1889fa84c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/c9fd297a955f2355.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/ca9a80b78b7aa22c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/cb9503b8979b185d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/cbc6cfb0a51ab6bb.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/cc3bda1ed2e95150.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/ceb98745ab5dbe70.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/d1e1e212112ab926.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/d4b766742cf2328a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/d93262cc2f01da93.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/d977ad06778acf8d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/da9376a352a900b8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/db2816895dd01979.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/db3a782c367dbe28.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/db825a17acae232c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/dc96bd8d8ad04ee4.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/dd1562878ff3c0f5.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/de117be85702ebbc.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/e3aafc52b94d322c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/e53a6e77d7808ee8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/e7dc452a2aae9b10.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/ebf2fcb04221173e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/ebf527595602c7cc.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/ed6a8410124b956b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/f1801152a72fbdf0.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/f6fe984552a62891.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/f81bbef279fc5018.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/f975369ecf8cfe1b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/mime/fd21c48c0c429b77.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/0354796dc060829e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/039f9af1f7851836.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/05e117af5b509bae.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/0bc34e3949fbef01.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/0ce495589c7221d3.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/0dd1cda742544db1.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/0eba31912f25f3eb.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/0f2703145ac02172.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/0fa09530ccf28805.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/0fd8e540615171e8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/101ff2c4997376a9.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/12c490c06def9488.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/18257c152bba13a6.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/1d4a6a418d2b6a64.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/1e61d3c782893a54.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/1fc92f87c93d4fd9.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/2c9de54bccd13e11.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/2f3ea5c1badef128.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/32aa8c660cf91963.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/35111034d5ad26a6.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/352eb0c7f720c196.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/3a2e224daffb8e3d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/3ee772a67521e170.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/401e93fa320273da.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/40d9b4294628036d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/44592db880e5ec3f.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/45870b434cfe0c85.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/458943c95381e6de.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/4ca27bb3cae67ad6.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/4e0d19bea7253cc8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/4f02317672f3198b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/56a98d6dbd85ebed.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/5d6b31c824d8741e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/5f75509e9ed27170.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/5fcfe11a675bac8b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/61b8b2fc9077f91a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/642c92672daf5c43.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/655ff32e6cd550bc.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/65bc24178c843052.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/66cd62510980471d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/681c1dd84a2bdf26.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/6838fe47e511b2b8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/6a609539ed167213.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/74b6b71e76efb9c9.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/75e719c76477d44f.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/77e0e879c2c95195.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/7a15ef0ba4aa5660.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/7a9dd710389dde99.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/7b783286f80ab872.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/7d1298c12634bc16.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/7ddf2b8e4c6cb2e3.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/7fc2229fcb868522.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/85abdb138905726a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/884e41282eb896c5.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/8a703994c30b19ea.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/8aca0021ebe63f8e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/8bc107890e1ab320.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/8c1a66ea86c98f76.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/8dd5ac3207b6ca3b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/8f898c00eea3a93b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/931cbc8a4cbebf70.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/932804c1aff4d044.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/94b151c44f8a3588.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/94ce2189385c970f.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/94fa736d741d63be.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/95bd2009772c07fd.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/95f748fee80393ef.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/9b1e26a55ef34ee9.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/9f3159c9912586db.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/a17c34748d867e85.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/a2ca0018b46feabd.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/a60b9031cf48ebba.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/a9be790d1f0ae7ec.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/ac4d6823c4034fe6.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/ad80625c2fe055e2.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/b102691e3c3e4cae.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/b34027c96f8daa30.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/b639b463e04459db.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/b7e540f21b7f0271.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/ba460ba22b61b3ac.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/ba7499ca4c58ff94.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/be2d027b571e9344.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/c1fff30850bb8b6f.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/c3889a8993fc490d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/c51c4fa6e6b83f7e.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/c57ca30ea53e2d68.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/c64c433f4452d82a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/c91739ca8dcc39ea.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/c91d5e81eba0d3c9.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/c9fecad2b9f0357c.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/cb7fab9ab7b8c520.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/cbbaeea4c7d24156.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/cc7dd2a0003c03d8.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/ce64ddc6701623a7.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/d19b01ce83c8c71a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/d5aae4af1fe94a3a.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/d5c47dfe60be1592.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/d7eef627315eeab2.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/d81cb4d0b47db4ae.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/deed4c82c27e2b5d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/df1c0ed33adf634d.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/e1c2af52b798715b.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/e249b7de89e07bbc.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/e6b6c0b80707ee08.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/e74d1c6e8e950e20.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/e9d2da361090c228.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/ec8c114b8a360379.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/f1772556a9442724.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/f4753f23f51fe441.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/f52c654a914ee356.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/f6187d9353655ff5.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/f766aa4cfdca2770.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/fabcc3a4db082252.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.kreuzberg/tables/fec2d3d5372c2bcc.msgpack +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/Activate.ps1 +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/activate +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/activate-global-python-argcomplete +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/activate.csh +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/activate.fish +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/alembic +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/arize-phoenix +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/cyclopts +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/distro +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/docutils +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/dotenv +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/email_validator +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/f2py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/fastapi +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/fastavro +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/fastmcp +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/genai-prices +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/get_gprof +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/get_objgraph +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/griffe +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/hf +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/httpx +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/hypercorn +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/inv +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/invoke +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/jp.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/jsonpath_ng +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/jsonschema +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/keyring +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/kreuzberg +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/logfire +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/mako-render +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/markdown-it +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/mcp +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/mpire-dashboard +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/normalizer +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/numpy-config +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/openai +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/opentelemetry-bootstrap +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/opentelemetry-instrument +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pai +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/phoenix +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pip +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pip3 +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pip3.12 +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pygmentize +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pyrsa-decrypt +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pyrsa-encrypt +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pyrsa-keygen +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pyrsa-priv2pub +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pyrsa-sign +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pyrsa-verify +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pystache +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/pystache-test +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/python +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/python-argcomplete-check-easy-install-script +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/python3 +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/python3.12 +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/register-python-argcomplete +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rem +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2html +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2html4 +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2html5 +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2latex +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2man +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2odt +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2pseudoxml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2s5 +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2xetex +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/rst2xml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/strawberry +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/tiny-agents +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/tqdm +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/undill +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/uvicorn +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/watchfiles +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/bin/websockets +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/.venv-test/pyvenv.cfg +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/Dockerfile +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/Tiltfile +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/alembic/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/alembic/env.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/alembic/script.py.mako +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/alembic.ini +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/dev-setup.sh +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/docker-compose.prebuilt.yml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/docker-compose.test.yml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/docker-compose.yml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/agents/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/agents/sse_simulator.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/context.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/llm_provider_models.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/mcp/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/otel/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/otel/setup.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/query.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/query_helper.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/serialization.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/tools/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/agentic/tools/rem_tools.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/mcp_router/prompts.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/mcp_router/resources.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/middleware/tracking.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/admin.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/chat/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/chat/completions.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/chat/json_utils.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/chat/models.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/chat/otel_utils.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/chat/sse_events.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/dev.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/feedback.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/messages.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/models.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/query.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/api/routers/shared_sessions.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/auth/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/auth/providers/base.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/auth/providers/google.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/auth/providers/microsoft.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/ask.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/cluster.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/db.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/dreaming.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/mcp.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/process.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/scaffold.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/schema.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/cli/commands/serve.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/mcp_server.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/core/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/core/core_model.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/core/engram.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/core/inline_edge.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/core/rem_query.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/domain_resource.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/feedback.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/file.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/image_resource.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/message.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/moment.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/resource.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/schema.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/session.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/models/entities/shared_session.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/py.typed +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/registry.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/core/moment-builder.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/core/rem-query-agent.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/core/resource-affinity-assessor.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/core/simple-assistant.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/core/user-profile-builder.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/examples/hello-world.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/examples/query.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/examples/simple.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/examples/test.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/agents/rem.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/evaluators/hello-world/default.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/evaluators/rem/faithfulness.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/evaluators/rem/lookup-correctness.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/evaluators/rem/retrieval-precision.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/evaluators/rem/retrieval-recall.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/schemas/evaluators/rem/search-correctness.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/audio/INTEGRATION.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/audio/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/audio/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/audio/chunker.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/audio/transcriber.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/content/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/content/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/content/providers.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/dreaming/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/dreaming/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/dreaming/affinity_service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/dreaming/moment_service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/dreaming/ontology_service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/dreaming/user_model_service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/dreaming/utils.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/embeddings/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/embeddings/api.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/embeddings/worker.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/examples.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/examples_paths.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/git_provider.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/local_provider.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/parsing-hooks-examples.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/paths.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/provider.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/s3_provider.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/fs/service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/git/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/git/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/git/service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/phoenix/EXPERIMENT_DESIGN.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/phoenix/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/phoenix/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/phoenix/client.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/phoenix/config.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/phoenix/prompt_labels.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/migration_service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/register_type.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/repository.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/schema_generator.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/postgres/sql_builder.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/rate_limit.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/rem/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/rem/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/rem/exceptions.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/rem/executor.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/rem/parser.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/rem/queries.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/rem/query.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/rem/service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/session/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/session/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/services/user_service.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/sql/background_indexes.sql +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/sql/migrations/001_install.sql +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/sql/migrations/003_optional_extensions.sql +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/sql/migrations/004_cache_system.sql +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/AGENTIC_CHUNKING.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/agentic_chunking.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/batch_ops.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/chunking.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/clip_embeddings.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/constants.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/date_utils.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/dict_utils.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/embeddings.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/examples/embeddings_example.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/examples/sql_types_example.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/markdown.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/mime_types.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/model_helpers.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/sql_paths.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/sql_types.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/utils/user_id.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/workers/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/workers/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/workers/db_listener.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/workers/db_maintainer.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/workers/dreaming.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/workers/engram_processor.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/workers/sqs_file_processor.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/src/rem/workers/unlogged_maintainer.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/conftest.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/audio/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/audio/SUMMARY.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/audio/generate_test_audio.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/audio/test_hq_30s.wav +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/audio/test_long_90s.wav +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/audio/test_medium_10s.wav +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/audio/test_short_3s.wav +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/audio/test_standard_30s.wav +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/pdf/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/pdf/annual_financial_report.pdf +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/pdf/consulting_agreement.pdf +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/pdf/nda_agreement.pdf +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/pdf/sample_business_plan.pdf +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/pdf/sample_invoice.pdf +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/pdf/sample_research_paper.pdf +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/pdf/sample_resume.pdf +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/pdf/service_contract.pdf +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/content-examples/test.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/docs/CODE_REVIEW_FIXES.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/docs/TEST_RESULTS.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/docs/cli_verification.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/docs/database-design.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/docs/deep-learning-guide.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/docs/ml-overview.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/docs/python-best-practices.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/docs/test_summary.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/engrams/test-conversation.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/engrams/test-diary-entry.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/engrams/test-meeting-notes.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/engrams/test-observation.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/engrams/test-project-note.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/graph_seed.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/sample-architecture-doc.txt +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/sample_conversations.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/schemas/agents/query_agent.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/schemas/agents/summarization_agent.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/schemas/agents/test-cv-parser.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/schemas/evaluators/accuracy_evaluator.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/001_sample_data.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/001_sample_data.yaml.bak +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/files/documents/api_spec.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/files/documents/meeting_notes.txt +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/files/engrams/personal_reflection.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/files/engrams/product_idea_voice_memo.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/files/engrams/team_standup_meeting.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/resources.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/shared_sessions_demo.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/test-user-data.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/test-user-data.yaml.bak +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/data/seed/users.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/helpers/README.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/helpers/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/helpers/seed_data.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/phoenix/run_complete_experiment.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/phoenix/run_hello_world_experiment.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/phoenix/test_connection.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/rem-agent-eval-questions.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/rem-query-agent-tests.yaml +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/run_rem_agent_eval.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/sample_data/dreaming/load_sample_data.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/sample_data/dreaming/resources/api_design_discussion.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/sample_data/dreaming/resources/database_migration_plan.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/sample_data/dreaming/resources/morning_standup_notes.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/sample_data/dreaming/resources/production_incident_postmortem.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/sample_data/dreaming/resources/quarterly_reflection.md +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/services/test_content_providers.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/services/test_schema_provider.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_agent_end_to_end.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_agent_tool_invocation.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_agent_with_tools.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_api_endpoints.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_batch_upsert.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_completions_with_sessions.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_content_ingest_workflow.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_contract_extractor.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_dreaming_moments.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_dynamic_agents.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_embeddings_e2e.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_git_provider.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_graph_traversal.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_mcp_server_loading.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_mcp_tool_loading.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_mcp_tools.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_mcp_tools_layer.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_merge_strategies_demo.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_natural_language_to_rem.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_rem_query.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_rem_query_agent.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_rem_query_agent_structured.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_rem_query_evolution.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_rem_query_functions.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_rem_service_layer.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_schema_introspection.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_session_management.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_shared_sessions.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_unlogged_maintainer.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_user_session_reloads.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_verify_setup.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/test_yaml_export.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/integration/validate_rem_agent_schema.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/scripts/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/scripts/demo_session_recovery.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/scripts/seed_sample_sessions.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/scripts/simple_session_demo.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/agentic/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/agentic/agents/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/agentic/agents/test_sse_simulator.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/agentic/providers/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/agentic/providers/test_pydantic_ai.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/agentic/test_schema.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/agentic/test_schema_integration.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/agentic/test_tool_description_suffix.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/api/__init__.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/api/test_feedback.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/api/test_models_endpoint.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/api/test_sessions_messages.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/api/test_sse_events.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/conftest.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/test_admin_internal.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/test_registry.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/test_sql_security.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/tests/unit/utils/test_agentic_chunking.py +0 -0
- {remdb-0.3.122 → remdb-0.3.157}/walkthrough.md +0 -0
|
@@ -28,6 +28,13 @@ API__PORT=8000
|
|
|
28
28
|
API__RELOAD=true
|
|
29
29
|
API__LOG_LEVEL=info
|
|
30
30
|
|
|
31
|
+
# --- API Key Authentication ---
|
|
32
|
+
# Simple API key auth for programmatic access (independent of OAuth)
|
|
33
|
+
# When enabled, all /api/v1/* requests must include X-API-Key header
|
|
34
|
+
# Generate key: python -c "import secrets; print(secrets.token_urlsafe(32))"
|
|
35
|
+
API__API_KEY_ENABLED=false
|
|
36
|
+
API__API_KEY=
|
|
37
|
+
|
|
31
38
|
# =============================================================================
|
|
32
39
|
# LLM Provider Settings
|
|
33
40
|
# =============================================================================
|
|
@@ -37,7 +44,7 @@ LLM__MAX_RETRIES=10
|
|
|
37
44
|
|
|
38
45
|
# Optional: Override models for specific tasks
|
|
39
46
|
# LLM__EVALUATOR_MODEL=gpt-4.1
|
|
40
|
-
# LLM__QUERY_AGENT_MODEL=gpt-
|
|
47
|
+
# LLM__QUERY_AGENT_MODEL=gpt-4.1-mini
|
|
41
48
|
|
|
42
49
|
# API Keys (required for LLM providers)
|
|
43
50
|
LLM__OPENAI_API_KEY=
|
|
@@ -71,6 +78,20 @@ AUTH__MICROSOFT__CLIENT_SECRET=
|
|
|
71
78
|
AUTH__MICROSOFT__REDIRECT_URI=http://localhost:8000/api/auth/microsoft/callback
|
|
72
79
|
AUTH__MICROSOFT__TENANT=common
|
|
73
80
|
|
|
81
|
+
# =============================================================================
|
|
82
|
+
# Email Settings (Passwordless Login)
|
|
83
|
+
# =============================================================================
|
|
84
|
+
# Email login uses verification codes - no password required
|
|
85
|
+
# Supports Gmail SMTP with App Passwords by default
|
|
86
|
+
# Generate app password at: https://myaccount.google.com/apppasswords
|
|
87
|
+
EMAIL__ENABLED=false
|
|
88
|
+
EMAIL__SMTP_HOST=smtp.gmail.com
|
|
89
|
+
EMAIL__SMTP_PORT=587
|
|
90
|
+
EMAIL__SENDER_EMAIL=
|
|
91
|
+
EMAIL__SENDER_NAME=REM
|
|
92
|
+
EMAIL__APP_PASSWORD=
|
|
93
|
+
EMAIL__LOGIN_CODE_EXPIRY_MINUTES=10
|
|
94
|
+
|
|
74
95
|
# =============================================================================
|
|
75
96
|
# OpenTelemetry Settings
|
|
76
97
|
# =============================================================================
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
��type�str�data�application/pdf�cached_at�A�L�#w��
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
��type�str�data�application/pdf�cached_at�A�L�#�K
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
��type�str�data�application/pdf�cached_at�A�L,�E�$
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
��type�str�data�application/pdf�cached_at�A�L,� ��
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
��type�str�data�application/pdf�cached_at�A�L�g�o
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
��type�str�data�application/pdf�cached_at�A�L,a��:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
��type�str�data�application/pdf�cached_at�A�L,a��
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remdb
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.157
|
|
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
|
|
@@ -384,14 +386,6 @@ rem process ingest my-agent.yaml --user-id tenant-a --category agents
|
|
|
384
386
|
rem ask my-agent "test" --user-id tenant-a
|
|
385
387
|
```
|
|
386
388
|
|
|
387
|
-
### Advanced: Ontology Extractors
|
|
388
|
-
|
|
389
|
-
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:
|
|
390
|
-
- Multi-provider testing (`provider_configs`)
|
|
391
|
-
- Semantic search configuration (`embedding_fields`)
|
|
392
|
-
- File matching rules (`OntologyConfig`)
|
|
393
|
-
- Dreaming workflow integration
|
|
394
|
-
|
|
395
389
|
### Troubleshooting
|
|
396
390
|
|
|
397
391
|
**Schema not found error:**
|
|
@@ -1440,45 +1434,156 @@ Successfully installed ... kreuzberg-4.0.0rc1 ... remdb-0.3.10
|
|
|
1440
1434
|
|
|
1441
1435
|
REM wraps FastAPI - extend it exactly as you would any FastAPI app.
|
|
1442
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
|
+
|
|
1443
1456
|
```python
|
|
1444
|
-
|
|
1457
|
+
# main.py
|
|
1445
1458
|
from rem import create_app
|
|
1446
|
-
from
|
|
1459
|
+
from fastapi import APIRouter
|
|
1447
1460
|
|
|
1448
|
-
#
|
|
1449
|
-
|
|
1461
|
+
# Create REM app (auto-detects ./agents/ and ./models/)
|
|
1462
|
+
app = create_app()
|
|
1450
1463
|
|
|
1451
|
-
#
|
|
1452
|
-
|
|
1464
|
+
# Add custom router
|
|
1465
|
+
router = APIRouter(prefix="/custom", tags=["custom"])
|
|
1453
1466
|
|
|
1454
|
-
|
|
1455
|
-
|
|
1467
|
+
@router.get("/hello")
|
|
1468
|
+
async def hello():
|
|
1469
|
+
return {"message": "Hello from custom router!"}
|
|
1456
1470
|
|
|
1457
|
-
|
|
1458
|
-
app.include_router(my_router)
|
|
1471
|
+
app.include_router(router)
|
|
1459
1472
|
|
|
1473
|
+
# Add custom MCP tool
|
|
1460
1474
|
@app.mcp_server.tool()
|
|
1461
1475
|
async def my_tool(query: str) -> dict:
|
|
1462
|
-
"""Custom MCP tool."""
|
|
1476
|
+
"""Custom MCP tool available to agents."""
|
|
1463
1477
|
return {"result": query}
|
|
1464
1478
|
```
|
|
1465
1479
|
|
|
1466
|
-
###
|
|
1480
|
+
### Custom Models (Auto-Detected)
|
|
1481
|
+
|
|
1482
|
+
```python
|
|
1483
|
+
# models/__init__.py
|
|
1484
|
+
import rem
|
|
1485
|
+
from rem.models.core import CoreModel
|
|
1486
|
+
from pydantic import Field
|
|
1467
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")
|
|
1468
1493
|
```
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
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
|
|
1479
1519
|
```
|
|
1480
1520
|
|
|
1481
|
-
|
|
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
|
+
```
|
|
1482
1587
|
|
|
1483
1588
|
### Extension Points
|
|
1484
1589
|
|
|
@@ -57,9 +57,9 @@ pip install "remdb[all]"
|
|
|
57
57
|
git clone https://github.com/Percolation-Labs/remstack-lab.git
|
|
58
58
|
cd remstack-lab
|
|
59
59
|
|
|
60
|
-
# Start PostgreSQL
|
|
60
|
+
# Start services (PostgreSQL, Phoenix observability)
|
|
61
61
|
curl -O https://gist.githubusercontent.com/percolating-sirsh/d117b673bc0edfdef1a5068ccd3cf3e5/raw/docker-compose.prebuilt.yml
|
|
62
|
-
docker compose -f docker-compose.prebuilt.yml up -d
|
|
62
|
+
docker compose -f docker-compose.prebuilt.yml up -d
|
|
63
63
|
|
|
64
64
|
# Configure REM (creates ~/.rem/config.yaml and installs database schema)
|
|
65
65
|
# Add --claude-desktop to register with Claude Desktop app
|
|
@@ -91,7 +91,7 @@ rem ask "What is the Bitcoin whitepaper about?"
|
|
|
91
91
|
Once configured, you can also use the OpenAI-compatible chat completions API:
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
|
-
# Start
|
|
94
|
+
# Start all services (PostgreSQL, Phoenix, API)
|
|
95
95
|
docker compose -f docker-compose.prebuilt.yml up -d
|
|
96
96
|
|
|
97
97
|
# Test the API
|
|
@@ -298,14 +298,6 @@ rem process ingest my-agent.yaml --user-id tenant-a --category agents
|
|
|
298
298
|
rem ask my-agent "test" --user-id tenant-a
|
|
299
299
|
```
|
|
300
300
|
|
|
301
|
-
### Advanced: Ontology Extractors
|
|
302
|
-
|
|
303
|
-
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:
|
|
304
|
-
- Multi-provider testing (`provider_configs`)
|
|
305
|
-
- Semantic search configuration (`embedding_fields`)
|
|
306
|
-
- File matching rules (`OntologyConfig`)
|
|
307
|
-
- Dreaming workflow integration
|
|
308
|
-
|
|
309
301
|
### Troubleshooting
|
|
310
302
|
|
|
311
303
|
**Schema not found error:**
|
|
@@ -1354,45 +1346,156 @@ Successfully installed ... kreuzberg-4.0.0rc1 ... remdb-0.3.10
|
|
|
1354
1346
|
|
|
1355
1347
|
REM wraps FastAPI - extend it exactly as you would any FastAPI app.
|
|
1356
1348
|
|
|
1349
|
+
### Recommended Project Structure
|
|
1350
|
+
|
|
1351
|
+
REM auto-detects `./agents/` and `./models/` folders - no configuration needed:
|
|
1352
|
+
|
|
1353
|
+
```
|
|
1354
|
+
my-rem-app/
|
|
1355
|
+
├── agents/ # Auto-detected for agent schemas
|
|
1356
|
+
│ ├── my-agent.yaml # Custom agent (rem ask my-agent "query")
|
|
1357
|
+
│ └── another-agent.yaml
|
|
1358
|
+
├── models/ # Auto-detected if __init__.py exists
|
|
1359
|
+
│ └── __init__.py # Register models with @rem.register_model
|
|
1360
|
+
├── routers/ # Custom FastAPI routers
|
|
1361
|
+
│ └── custom.py
|
|
1362
|
+
├── main.py # Entry point
|
|
1363
|
+
└── pyproject.toml
|
|
1364
|
+
```
|
|
1365
|
+
|
|
1366
|
+
### Quick Start
|
|
1367
|
+
|
|
1357
1368
|
```python
|
|
1358
|
-
|
|
1369
|
+
# main.py
|
|
1359
1370
|
from rem import create_app
|
|
1360
|
-
from
|
|
1371
|
+
from fastapi import APIRouter
|
|
1361
1372
|
|
|
1362
|
-
#
|
|
1363
|
-
|
|
1373
|
+
# Create REM app (auto-detects ./agents/ and ./models/)
|
|
1374
|
+
app = create_app()
|
|
1364
1375
|
|
|
1365
|
-
#
|
|
1366
|
-
|
|
1376
|
+
# Add custom router
|
|
1377
|
+
router = APIRouter(prefix="/custom", tags=["custom"])
|
|
1367
1378
|
|
|
1368
|
-
|
|
1369
|
-
|
|
1379
|
+
@router.get("/hello")
|
|
1380
|
+
async def hello():
|
|
1381
|
+
return {"message": "Hello from custom router!"}
|
|
1370
1382
|
|
|
1371
|
-
|
|
1372
|
-
app.include_router(my_router)
|
|
1383
|
+
app.include_router(router)
|
|
1373
1384
|
|
|
1385
|
+
# Add custom MCP tool
|
|
1374
1386
|
@app.mcp_server.tool()
|
|
1375
1387
|
async def my_tool(query: str) -> dict:
|
|
1376
|
-
"""Custom MCP tool."""
|
|
1388
|
+
"""Custom MCP tool available to agents."""
|
|
1377
1389
|
return {"result": query}
|
|
1378
1390
|
```
|
|
1379
1391
|
|
|
1380
|
-
###
|
|
1392
|
+
### Custom Models (Auto-Detected)
|
|
1393
|
+
|
|
1394
|
+
```python
|
|
1395
|
+
# models/__init__.py
|
|
1396
|
+
import rem
|
|
1397
|
+
from rem.models.core import CoreModel
|
|
1398
|
+
from pydantic import Field
|
|
1381
1399
|
|
|
1400
|
+
@rem.register_model
|
|
1401
|
+
class MyEntity(CoreModel):
|
|
1402
|
+
"""Custom entity - auto-registered for schema generation."""
|
|
1403
|
+
name: str = Field(description="Entity name")
|
|
1404
|
+
status: str = Field(default="active")
|
|
1382
1405
|
```
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1406
|
+
|
|
1407
|
+
Run `rem db schema generate` to include your models in the database schema.
|
|
1408
|
+
|
|
1409
|
+
### Custom Agents (Auto-Detected)
|
|
1410
|
+
|
|
1411
|
+
```yaml
|
|
1412
|
+
# agents/my-agent.yaml
|
|
1413
|
+
type: object
|
|
1414
|
+
description: |
|
|
1415
|
+
You are a helpful assistant that...
|
|
1416
|
+
|
|
1417
|
+
properties:
|
|
1418
|
+
answer:
|
|
1419
|
+
type: string
|
|
1420
|
+
description: Your response
|
|
1421
|
+
|
|
1422
|
+
required:
|
|
1423
|
+
- answer
|
|
1424
|
+
|
|
1425
|
+
json_schema_extra:
|
|
1426
|
+
kind: agent
|
|
1427
|
+
name: my-agent
|
|
1428
|
+
version: "1.0.0"
|
|
1429
|
+
tools:
|
|
1430
|
+
- search_rem
|
|
1393
1431
|
```
|
|
1394
1432
|
|
|
1395
|
-
|
|
1433
|
+
Test with: `rem ask my-agent "Hello!"`
|
|
1434
|
+
|
|
1435
|
+
### Example Custom Router
|
|
1436
|
+
|
|
1437
|
+
```python
|
|
1438
|
+
# routers/analytics.py
|
|
1439
|
+
from fastapi import APIRouter, Depends
|
|
1440
|
+
from rem.services.postgres import get_postgres_service
|
|
1441
|
+
|
|
1442
|
+
router = APIRouter(prefix="/analytics", tags=["analytics"])
|
|
1443
|
+
|
|
1444
|
+
@router.get("/stats")
|
|
1445
|
+
async def get_stats():
|
|
1446
|
+
"""Get database statistics."""
|
|
1447
|
+
db = get_postgres_service()
|
|
1448
|
+
if not db:
|
|
1449
|
+
return {"error": "Database not available"}
|
|
1450
|
+
|
|
1451
|
+
await db.connect()
|
|
1452
|
+
try:
|
|
1453
|
+
result = await db.execute(
|
|
1454
|
+
"SELECT COUNT(*) as count FROM resources"
|
|
1455
|
+
)
|
|
1456
|
+
return {"resource_count": result[0]["count"]}
|
|
1457
|
+
finally:
|
|
1458
|
+
await db.disconnect()
|
|
1459
|
+
|
|
1460
|
+
@router.get("/recent")
|
|
1461
|
+
async def get_recent(limit: int = 10):
|
|
1462
|
+
"""Get recent resources."""
|
|
1463
|
+
db = get_postgres_service()
|
|
1464
|
+
if not db:
|
|
1465
|
+
return {"error": "Database not available"}
|
|
1466
|
+
|
|
1467
|
+
await db.connect()
|
|
1468
|
+
try:
|
|
1469
|
+
result = await db.execute(
|
|
1470
|
+
f"SELECT label, category, created_at FROM resources ORDER BY created_at DESC LIMIT {limit}"
|
|
1471
|
+
)
|
|
1472
|
+
return {"resources": result}
|
|
1473
|
+
finally:
|
|
1474
|
+
await db.disconnect()
|
|
1475
|
+
```
|
|
1476
|
+
|
|
1477
|
+
Include in main.py:
|
|
1478
|
+
|
|
1479
|
+
```python
|
|
1480
|
+
from routers.analytics import router as analytics_router
|
|
1481
|
+
app.include_router(analytics_router)
|
|
1482
|
+
```
|
|
1483
|
+
|
|
1484
|
+
### Running the App
|
|
1485
|
+
|
|
1486
|
+
```bash
|
|
1487
|
+
# Development (auto-reload)
|
|
1488
|
+
uv run uvicorn main:app --reload --port 8000
|
|
1489
|
+
|
|
1490
|
+
# Or use rem serve
|
|
1491
|
+
uv run rem serve --reload
|
|
1492
|
+
|
|
1493
|
+
# Test agent
|
|
1494
|
+
uv run rem ask my-agent "What can you help me with?"
|
|
1495
|
+
|
|
1496
|
+
# Test custom endpoint
|
|
1497
|
+
curl http://localhost:8000/analytics/stats
|
|
1498
|
+
```
|
|
1396
1499
|
|
|
1397
1500
|
### Extension Points
|
|
1398
1501
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "remdb"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.157"
|
|
4
4
|
description = "Resources Entities Moments - Bio-inspired memory system for agentic AI workloads"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
@@ -12,10 +12,12 @@ classifiers = [
|
|
|
12
12
|
"Development Status :: 3 - Alpha",
|
|
13
13
|
"Intended Audience :: Developers",
|
|
14
14
|
"License :: OSI Approved :: MIT License",
|
|
15
|
+
"Programming Language :: Python :: 3.11",
|
|
15
16
|
"Programming Language :: Python :: 3.12",
|
|
17
|
+
"Programming Language :: Python :: 3.13",
|
|
16
18
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
17
19
|
]
|
|
18
|
-
requires-python = ">=3.
|
|
20
|
+
requires-python = ">=3.11,<3.14"
|
|
19
21
|
|
|
20
22
|
dependencies = [
|
|
21
23
|
# Core Framework
|
|
@@ -153,7 +155,7 @@ markers = [
|
|
|
153
155
|
]
|
|
154
156
|
|
|
155
157
|
[tool.ruff]
|
|
156
|
-
target-version = "
|
|
158
|
+
target-version = "py311"
|
|
157
159
|
line-length = 100
|
|
158
160
|
|
|
159
161
|
[tool.ruff.lint]
|
|
@@ -177,7 +179,7 @@ ignore = [
|
|
|
177
179
|
|
|
178
180
|
[tool.mypy]
|
|
179
181
|
plugins = ["pydantic.mypy"]
|
|
180
|
-
python_version = "3.
|
|
182
|
+
python_version = "3.11"
|
|
181
183
|
strict = false
|
|
182
184
|
|
|
183
185
|
# Pragmatic type checking - focus on real bugs, not noise
|
|
@@ -6,6 +6,8 @@ Use create_agent_from_schema_file() to instantiate agents.
|
|
|
6
6
|
|
|
7
7
|
The SSE Simulator is a special programmatic "agent" that generates
|
|
8
8
|
scripted SSE events for testing and demonstration - it doesn't use an LLM.
|
|
9
|
+
|
|
10
|
+
Agent Manager provides functions for saving/loading user-created agents.
|
|
9
11
|
"""
|
|
10
12
|
|
|
11
13
|
from .sse_simulator import (
|
|
@@ -14,9 +16,23 @@ from .sse_simulator import (
|
|
|
14
16
|
stream_error_demo,
|
|
15
17
|
)
|
|
16
18
|
|
|
19
|
+
from .agent_manager import (
|
|
20
|
+
save_agent,
|
|
21
|
+
get_agent,
|
|
22
|
+
list_agents,
|
|
23
|
+
delete_agent,
|
|
24
|
+
build_agent_spec,
|
|
25
|
+
)
|
|
26
|
+
|
|
17
27
|
__all__ = [
|
|
18
28
|
# SSE Simulator (programmatic, no LLM)
|
|
19
29
|
"stream_simulator_events",
|
|
20
30
|
"stream_minimal_demo",
|
|
21
31
|
"stream_error_demo",
|
|
32
|
+
# Agent Manager
|
|
33
|
+
"save_agent",
|
|
34
|
+
"get_agent",
|
|
35
|
+
"list_agents",
|
|
36
|
+
"delete_agent",
|
|
37
|
+
"build_agent_spec",
|
|
22
38
|
]
|