diff --git a/CHANGELOG.md b/CHANGELOG.md index fc6f0d6..412dd35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,175 +1,195 @@ # Change Log + All notable changes to this project will be documented in this file. - + The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [0.0.12] — 2024-10-21 + +### Added + +- GitHub Actions Testing +- Ability to disable derivations on a session using the `deriver_disabled` flag + in a session's metadata +- `/v1/` prefix to all routes +- Environment variable to control deriver workers + +### Changed + +- public_ids to use [NanoID](https://github.com/ai/nanoid) and internal ID to + use `BigInt` +- Dialectic Endpoint can take a list of queries +- Using `uv` for project management +- User Representations stored in a metamessage rather than using reserved + collection +- Base model for Dialectic API and Deriver is now Claude 3.5 Sonnet +- Paginated GET requests now POST requests for better developer UX + +### Removed + +- Mirascope Dependency +- Slowapi Dependency +- Opentelemetry Dependencies and Setup + ## [0.0.11] — 2024-08-01 ### Added -* `session_id` column to `QueueItem` Table -* `ActiveQueueSession` Table to track which sessions are being actively -processed -* Queue can process multiple sessions at once +- `session_id` column to `QueueItem` Table +- `ActiveQueueSession` Table to track which sessions are being actively + processed +- Queue can process multiple sessions at once ### Changed -* Sessions do not require a `location_id` -* Detailed printing using `rich` +- Sessions do not require a `location_id` +- Detailed printing using `rich` ## [0.0.10] — 2024-07-23 ### Added -* Test cases for Storage API -* Sentry tracing and profiling -* Additional Error handling +- Test cases for Storage API +- Sentry tracing and profiling +- Additional Error handling ### Changed -* Document API uses same embedding endpoint as deriver -* CRUD operations use one less database call by removing extra refresh -* Use database for timestampz rather than API -* Pydantic schemas to use modern syntax +- Document API uses same embedding endpoint as deriver +- CRUD operations use one less database call by removing extra refresh +- Use database for timestampz rather than API +- Pydantic schemas to use modern syntax ### Fixed -* Deriver queue resolution - +- Deriver queue resolution ## [0.0.9] — 2024-05-16 ### Added -* Deriver to docker compose -* Postgres based Queue for background jobs +- Deriver to docker compose +- Postgres based Queue for background jobs ### Changed -* Deriver to use a queue instead of supabase realtime -* Using mirascope instead of langchain +- Deriver to use a queue instead of supabase realtime +- Using mirascope instead of langchain ### Removed -* Legacy SDKs in preference for stainless SDKs - +- Legacy SDKs in preference for stainless SDKs ## [0.0.8] — 2024-05-09 ### Added -* Documentation to OpenAPI -* Bearer token auth to OpenAPI routes -* Get by ID routes for users and collections -* [NodeJS](https://github.com/plastic-labs/honcho-node) SDK support +- Documentation to OpenAPI +- Bearer token auth to OpenAPI routes +- Get by ID routes for users and collections +- [NodeJS](https://github.com/plastic-labs/honcho-node) SDK support ### Changed -* Authentication Middleware now implemented using built-in FastAPI Security -module -* Get by name routes for users and collections now include "name" in slug -* Python SDK moved to separate [respository](https://github.com/plastic-labs/honcho-python) +- Authentication Middleware now implemented using built-in FastAPI Security + module +- Get by name routes for users and collections now include "name" in slug +- Python SDK moved to separate [respository](https://github.com/plastic-labs/honcho-python) ### Fixed -* Error reporting for methods with integrity errors due to unique key -constraints +- Error reporting for methods with integrity errors due to unique key + constraints ## [0.0.7] — 2024-04-01 ### Added -* Authentication Middleware Interface +- Authentication Middleware Interface ## [0.0.6] — 2024-03-21 ### Added -* Full docker-compose for API and Database +- Full docker-compose for API and Database ### Fixed -* API Response schema removed unnecessary fields -* OTEL logging to properly work with async database engine -* `fly.toml` default settings for deriver set `auto_stop=false` +- API Response schema removed unnecessary fields +- OTEL logging to properly work with async database engine +- `fly.toml` default settings for deriver set `auto_stop=false` ### Changed -* Refactored API server into multiple route files - +- Refactored API server into multiple route files ## [0.0.5] — 2024-03-14 ### Added -* Metadata to all data primitives (Users, Sessions, Messages, etc.) -* Ability to filter paginated GET requests by JSON filter based on metadata -* Optional Sentry error monitoring -* Optional Opentelemetry logging -* Dialectic API to interact with honcho agent and get insights about users -* Automatic Fact Derivation Script for automatically generating simple memory +- Metadata to all data primitives (Users, Sessions, Messages, etc.) +- Ability to filter paginated GET requests by JSON filter based on metadata +- Optional Sentry error monitoring +- Optional Opentelemetry logging +- Dialectic API to interact with honcho agent and get insights about users +- Automatic Fact Derivation Script for automatically generating simple memory ### Changed -* API Server now uses async methods to make use of benefits of FastAPI - +- API Server now uses async methods to make use of benefits of FastAPI ## [0.0.4] — 2024-02-22 ### Added -* apps table with a relationship to the users table -* users table with a relationship to the collections and sessions tables -* Reverse Pagination support to get recent messages, sessions, etc. more easily -* Linting Rules +- apps table with a relationship to the users table +- users table with a relationship to the collections and sessions tables +- Reverse Pagination support to get recent messages, sessions, etc. more easily +- Linting Rules ### Changed -* Get sessions method returns all sessions including inactive -* using timestampz instead of timestamp - +- Get sessions method returns all sessions including inactive +- using timestampz instead of timestamp ## [0.0.3] — 2024-02-15 ### Added -* Collections table to reference a collection of embedding documents -* Documents table to hold vector embeddings for RAG workflows -* Local scripts for running a postgres database with pgvector installed -* OpenAI Dependency for embedding models -* PGvector dependency for vector db support +- Collections table to reference a collection of embedding documents +- Documents table to hold vector embeddings for RAG workflows +- Local scripts for running a postgres database with pgvector installed +- OpenAI Dependency for embedding models +- PGvector dependency for vector db support ### Changed -* session_data is now metadata -* session_data is a JSON field used python `dict` for compatability - +- session_data is now metadata +- session_data is a JSON field used python `dict` for compatability ## [0.0.2] — 2024-02-01 ### Added -* Pagination for requests via `fastapi_pagination` -* Metamessages -* `get_message` routes -* `created_at` field added to each Table -* Message size limits +- Pagination for requests via `fastapi_pagination` +- Metamessages +- `get_message` routes +- `created_at` field added to each Table +- Message size limits ### Changed -* IDs are now UUIDs -* default rate limit now 100 requests per minute +- IDs are now UUIDs +- default rate limit now 100 requests per minute ### Removed -* Removed messages from session response model - +- Removed messages from session response model ## [0.0.1] — 2024-02-01 ### Added -* Rate limiting of 10 requests for minute -* Application level scoping - +- Rate limiting of 10 requests for minute +- Application level scoping diff --git a/src/crud.py b/src/crud.py index b708acf..ce69116 100644 --- a/src/crud.py +++ b/src/crud.py @@ -225,18 +225,7 @@ async def create_session( h_metadata=session.metadata, ) db.add(honcho_session) - # print("====== Testing State of ORM Object ====") - # print(honcho_session) - # print("=======================================") - # - # await db.flush() - # - # print("====== Testing State of ORM Object ====") - # print(honcho_session) - # print("=======================================") - await db.commit() - # await db.refresh(honcho_session) return honcho_session @@ -319,9 +308,6 @@ async def get_messages( reverse: Optional[bool] = False, filter: Optional[dict] = None, ) -> Select: - print("============") - print(filter) - print("============") stmt = ( select(models.Message) .join(models.Session, models.Session.public_id == models.Message.session_id) @@ -340,10 +326,6 @@ async def get_messages( else: stmt = stmt.order_by(models.Message.created_at) - print("============") - print(stmt) - print("============") - return stmt