Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bookmarks #10

Merged
merged 12 commits into from
Nov 19, 2024
Merged

Bookmarks #10

merged 12 commits into from
Nov 19, 2024

Conversation

vaayne
Copy link
Collaborator

@vaayne vaayne commented Nov 19, 2024

No description provided.

- Update the bookmarks table to use UUID for user_id.
- Implement DAO and DTO for bookmark management.
- Introduce service layer handling CRUD operations for bookmarks.
- Add HTTP handlers for bookmarks feature in the server.
- Adjust SQL statements for using UUIDs in database operations.
- Modify similarity search threshold in assistant messages.
…ies (main)

- Changed `summary_embeddings` and `content_embeddings` to optional fields in the SQL migration.
- Adjusted `BookmarkDTO` to use slice for embeddings instead of pgvector.
- Introduced content fetching on bookmark creation if content is not provided.
- Implemented the method to save bookmarks in the web summary handler.
- Updated HTTP handler to align with changes in create bookmark request structure.
- Add migrations to allow embeddings column to be nullable and update corresponding SQL files.
- Use pointer for Embeddings in DTO and DAO layers to handle potential nil values.
- Refactor database package to improve error handling and pointer usage for vector types.
- Update `sqlc.yaml` file to map nullable `vector` types to pointer in Go.
- Introduced a new `Bookmarks` page component allowing users to create, read, update, and delete bookmarks.
- Integrated with a protected route under the `/bookmarks` path.
- Utilized Mantine UI components for layout and interactions.
- Implemented data fetching and mutations using React Query.
- Enhanced the user interface with tooltips, icons, and modals for better UX.
…ng (main)

- Introduced a new service for Browserless using Alpine Chrome.
- Enhanced the web content reading and processing capabilities by integrating markdown and summary processors.
- Updated dependencies in go.mod for improved functionality.
- Refined error handling for user authentication service.
- Added a new session management package for HTTP requests.
- Replace plain text rendering of bookmark summary with `MarkdownRenderer`.
- Add bookmark title display with `Title` component above content.
- Revise the summary prompt to align with the style of "The Wall Street Journal."
- Introduce a new parameter for language configuration in the summary processor.
- Implement templating with 'text/template' for dynamic prompt generation.
- Change the default language for summaries to Chinese.
- Update the model to 'gpt-4o-mini' as the default model.
…ent (main)

- Updated duration logging to display time in milliseconds for consistency.
- Removed unnecessary import of `log/slog` from `middleware.go`.
- Replaced `NewBrowserFetcher` creation method to use options pattern.
- Replaced `NewHTTPFetcher` creation method with options pattern, adding options for timeout, max body size, redirects, retry count, and additional headers.
- Introduced `DefaultHTTPConfig`, `DefaultJinaConfig` for setting default configurations.
- Updated function names for consistency and clarity across the `WebReader` package.
- This facilitates easier configuration management and more flexible fetcher creation.
- Introduced a new method `Refresh` in the `Service` for refreshing bookmarks.
  - This method allows fetching content from URLs using different fetchers and regenerating AI summaries.
  - Added a new interface `Summarier` and implemented it for processing summaries.
- Updated HTTP server handler to support bookmark refresh endpoint `POST /bookmarks/:bookmark-id/refresh`.
- Implemented front-end components and features for the refresh functionality.
  - Added `RefreshMenu` component and integrated it with the `BookmarkCard` and `BookmarkDetailModal`.
  - Created `refreshMutation` in React to handle refresh requests and manage UI updates.
- Made adjustments in `NewJinaFetcher` for error handling.
- Introduced new endpoints for bookmarks including creating, updating, deleting, and refreshing bookmarks in the API documentation.
- Added new endpoints for listing attachments for assistants and threads.
- Updated data models to support the new API features, including `BookmarkDTO`, `RagSettings`, and related request schemes.
- Refactored UI components in `bookmarks.jsx` to align with the updated endpoints and functionalities.
@vaayne vaayne merged commit 031b8cd into main Nov 19, 2024
2 of 3 checks passed
@vaayne vaayne deleted the bookmarks branch November 19, 2024 03:31
vaayne added a commit that referenced this pull request Feb 5, 2025
* feat: add bookmarks table with CRUD operations and associated SQL queries

* ✨ feat: add bookmark management functionality (main)

- Update the bookmarks table to use UUID for user_id.
- Implement DAO and DTO for bookmark management.
- Introduce service layer handling CRUD operations for bookmarks.
- Add HTTP handlers for bookmarks feature in the server.
- Adjust SQL statements for using UUIDs in database operations.
- Modify similarity search threshold in assistant messages.

* ✨ feat: Update bookmark data structure and enhance fetching capabilities (main)

- Changed `summary_embeddings` and `content_embeddings` to optional fields in the SQL migration.
- Adjusted `BookmarkDTO` to use slice for embeddings instead of pgvector.
- Introduced content fetching on bookmark creation if content is not provided.
- Implemented the method to save bookmarks in the web summary handler.
- Updated HTTP handler to align with changes in create bookmark request structure.

* ✨ feat: Make embeddings column nullable for assistant embeddings (main)

- Add migrations to allow embeddings column to be nullable and update corresponding SQL files.
- Use pointer for Embeddings in DTO and DAO layers to handle potential nil values.
- Refactor database package to improve error handling and pointer usage for vector types.
- Update `sqlc.yaml` file to map nullable `vector` types to pointer in Go.

* 🌟 feat: Add bookmarks page with CRUD functionality

- Introduced a new `Bookmarks` page component allowing users to create, read, update, and delete bookmarks.
- Integrated with a protected route under the `/bookmarks` path.
- Utilized Mantine UI components for layout and interactions.
- Implemented data fetching and mutations using React Query.
- Enhanced the user interface with tooltips, icons, and modals for better UX.

* 🛠️ feat: add Browserless service support and enhance content processing (main)

- Introduced a new service for Browserless using Alpine Chrome.
- Enhanced the web content reading and processing capabilities by integrating markdown and summary processors.
- Updated dependencies in go.mod for improved functionality.
- Refined error handling for user authentication service.
- Added a new session management package for HTTP requests.

* 🎨 style: update bookmark summary to use MarkdownRenderer (main)

- Replace plain text rendering of bookmark summary with `MarkdownRenderer`.
- Add bookmark title display with `Title` component above content.

* ✨ feat: Update summary prompt and add language parameter support (main)

- Revise the summary prompt to align with the style of "The Wall Street Journal."
- Introduce a new parameter for language configuration in the summary processor.
- Implement templating with 'text/template' for dynamic prompt generation.
- Change the default language for summaries to Chinese.
- Update the model to 'gpt-4o-mini' as the default model.

* 🔧 refactor: Convert duration logging to milliseconds in time measurement (main)

- Updated duration logging to display time in milliseconds for consistency.
- Removed unnecessary import of `log/slog` from `middleware.go`.

* 🔨 refactor: update fetcher creation to use config options pattern (main)

- Replaced `NewBrowserFetcher` creation method to use options pattern.
- Replaced `NewHTTPFetcher` creation method with options pattern, adding options for timeout, max body size, redirects, retry count, and additional headers.
- Introduced `DefaultHTTPConfig`, `DefaultJinaConfig` for setting default configurations.
- Updated function names for consistency and clarity across the `WebReader` package.
- This facilitates easier configuration management and more flexible fetcher creation.

* ✨ feat: add bookmark refresh functionality (main)

- Introduced a new method `Refresh` in the `Service` for refreshing bookmarks.
  - This method allows fetching content from URLs using different fetchers and regenerating AI summaries.
  - Added a new interface `Summarier` and implemented it for processing summaries.
- Updated HTTP server handler to support bookmark refresh endpoint `POST /bookmarks/:bookmark-id/refresh`.
- Implemented front-end components and features for the refresh functionality.
  - Added `RefreshMenu` component and integrated it with the `BookmarkCard` and `BookmarkDetailModal`.
  - Created `refreshMutation` in React to handle refresh requests and manage UI updates.
- Made adjustments in `NewJinaFetcher` for error handling.

* ✨ feat: Add bookmarks and attachments endpoints and update docs (main)

- Introduced new endpoints for bookmarks including creating, updating, deleting, and refreshing bookmarks in the API documentation.
- Added new endpoints for listing attachments for assistants and threads.
- Updated data models to support the new API features, including `BookmarkDTO`, `RagSettings`, and related request schemes.
- Refactored UI components in `bookmarks.jsx` to align with the updated endpoints and functionalities.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant