Skip to content

feat: add ai to the worker#6512

Merged
mikeallisonJS merged 35 commits into
feature/ai-translationfrom
mikeallison/prj-2584-add-ai-to-the-worker
May 5, 2025
Merged

feat: add ai to the worker#6512
mikeallisonJS merged 35 commits into
feature/ai-translationfrom
mikeallison/prj-2584-add-ai-to-the-worker

Conversation

@mikeallisonJS
Copy link
Copy Markdown
Collaborator

No description provided.

tanflem and others added 30 commits April 30, 2025 00:59
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
- Introduced a new `Subscription` type for handling updates related to journey AI translation.
- Added `journeyAiTranslateStatus` query to retrieve the current status of AI translation for a specific journey.
- Defined `JourneyAiTranslateStatus` type to encapsulate translation status details including `id`, `status`, and `progress`.
- Removed the `journeyAiTranslateStatus` query from the `Query` type in favor of a subscription model.
- Enhanced the `journeyAiTranslateStatus` subscription to provide real-time updates on job status, including handling job events and state management.
- Improved queue management by integrating worker creation and event handling within the subscription context.
- Cleaned up unused code and comments for better readability and maintainability.
…scription

- Introduced the `QueueNotificationStatus` type to encapsulate details about queue notifications, including job ID, message, progress, queue name, status, timestamp, and user ID.
- Added `userQueueNotifications` subscription to provide real-time updates on queue notifications for users.
- Updated relevant GraphQL schema and generated types to reflect these changes across multiple services.
…ent responses

- Simplified the mapping of `studyQuestions` to directly use the `map` function without conditional checks.
- Added query string handling in media component routes for better request management.
- Removed redundant code in media language responses for improved clarity and maintainability.
- Deleted the `@pothos/plugin-smart-subscriptions` dependency from both `package.json` and `package-lock.json` to streamline project dependencies.
…on order calculation

- Removed the `VideoBibleCitation` component from the video layout for a cleaner presentation.
- Updated the order calculation logic for study questions to handle cases with fewer questions more effectively.
- Deleted the `VideoBibleCitation`, `CitationEditPage`, `CitationDeletePage`, and `CitationForm` components to streamline the citation management process.
- Removed associated test files to maintain a clean codebase.
- This change aims to simplify the video citation workflow and improve maintainability.
- Deleted the `journeyDuplicate` mutation from the `JourneyResolver` to simplify the codebase and improve maintainability.
- This change focuses on streamlining the journey management process by removing unnecessary complexity related to journey duplication.
- Updated job event listeners in the `journeyAiTranslate` subscription to use `void` for asynchronous operations, ensuring proper handling of promises.
- Cleaned up the code for better readability and maintainability by removing unnecessary comments and improving function calls.
…llison/prj-2618-add-duplicate-journey-to-modern
…uplication logic

- Changed `journeyId` to `inputJourneyId` in the `AiTranslateJourneyJob` interface for clarity.
- Added `outputJourneyId` to track the result of the journey duplication process.
- Implemented Apollo Client setup and mutation call for journey duplication in the `journeyAiTranslate` worker.
- Updated job data with the duplicated journey ID upon successful mutation.
- Updated the job identifier format in the `journeyAiTranslate` mutation to include both journey ID and text language ID for better traceability.
- This change aims to improve job management and clarity in the queue processing system.
…llison/prj-2618-add-duplicate-journey-to-modern
…handling and Apollo Client integration

- Added a type interface for journey blocks to improve type safety.
- Updated the `journeyAiTranslate` function to handle journey duplication errors more gracefully.
- Enhanced the `duplicateJourney` function to return the updated job for further processing.
- Implemented detailed Apollo Client queries and mutations for fetching and updating journey details, including translation of typography and video blocks.
- Improved progress tracking during the translation process to provide better feedback on job status.
- Implemented the `journeyDuplicate` mutation to allow users to duplicate existing journeys.
- Added necessary checks for user permissions and journey existence.
- Included logic to duplicate associated blocks and images, ensuring a complete copy of the journey.
- Enhanced slug generation to avoid conflicts with existing journeys.
- Integrated with the plausible queue for site creation tasks related to the duplicated journey.
…llison/prj-2618-add-duplicate-journey-to-modern
…ervices

- Deleted `block.ts`, `plausible.ts`, `revalidate.ts`, and related schema files as they are no longer needed.
- This cleanup helps streamline the codebase and remove deprecated functionality.
…nto mikeallison/prj-2584-add-ai-to-the-worker
- Added dependencies for `@ai-sdk/google` and `ai` to facilitate AI-driven features.
- Updated the `journeyAiTranslate` function to utilize the Google AI SDK for content analysis.
- Enhanced the journey block interface for better type safety and clarity.
- Improved error handling and progress tracking during the translation process.
- Refactored Apollo Client queries and mutations for fetching and updating journey details.
- Added functionality to fetch the target language name based on the text language ID during the translation process.
- Updated progress tracking to reflect new steps in the translation workflow.
- Refactored the prompt generation for the AI analysis to include the retrieved target language name, improving the contextual relevance of the analysis.
- Enhanced error handling for language data fetching to ensure smoother execution of the translation process.
- Updated the journey analysis process to utilize Gemini 2.0 Flash for improved text analysis capabilities.
- Refactored prompt generation for clarity and consistency.
- Added comprehensive error handling to capture and log issues during the analysis, ensuring better debugging and user feedback.
- Included logging for successful analysis to track progress effectively.
- Added functionality to generate brief descriptions for images using the Gemini 2.0 Flash model, improving the contextual understanding of journey content.
- Implemented error handling and logging for image analysis to ensure robustness and better debugging.
- Updated the journey analysis prompt to include generated image descriptions, enriching the overall analysis output.
- Enhanced progress tracking during image processing to provide real-time feedback on the analysis status.
…updates

- Implemented functionality to translate journey titles and descriptions using AI, improving the contextual relevance of translations.
- Added progress tracking updates during the translation workflow to provide real-time feedback.
- Introduced error handling for translation processes to ensure robustness and continuity in case of failures.
- Enhanced the analysis of card blocks to inform translation decisions, including cultural considerations and emotional context.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@mikeallisonJS mikeallisonJS changed the title Mikeallison/prj 2584 add ai to the worker feat: add ai to the worker May 5, 2025
- Deleted the user notifications schema and related files to streamline the codebase.
- Updated imports in the schema to reflect the removal of user notifications, enhancing clarity and maintainability.
- Cleaned up unused worker configurations and services associated with user notifications, reducing complexity in the project.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2025

Warnings
⚠️ ❗ Big PR (1246 changes)

(change count - 1246): Pull Request size seems relatively large. If Pull Request contains multiple changes, split each into separate PR will helps faster, easier review.

Generated by 🚫 dangerJS against 2a392d2

@github-actions github-actions Bot temporarily deployed to Preview - videos-admin May 5, 2025 21:12 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - docs May 5, 2025 21:12 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - watch May 5, 2025 21:12 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - journeys May 5, 2025 21:12 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - short-links May 5, 2025 21:12 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - arclight May 5, 2025 21:12 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - journeys-admin May 5, 2025 21:12 Inactive
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
docs ✅ Ready docs preview Tue May 6 09:20:38 NZST 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
arclight ✅ Ready arclight preview Tue May 6 09:20:40 NZST 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
short-links ✅ Ready short-links preview Tue May 6 09:20:57 NZST 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
journeys ✅ Ready journeys preview Tue May 6 09:21:13 NZST 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
watch ✅ Ready watch preview Tue May 6 09:21:28 NZST 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
videos-admin ✅ Ready videos-admin preview Tue May 6 09:21:55 NZST 2025

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2025

The latest updates on your projects.

Name Status Preview Updated (UTC)
journeys-admin ✅ Ready journeys-admin preview Tue May 6 09:22:05 NZST 2025

- Removed the `getJourneyIntent` function as it was unused, streamlining the codebase.
- Updated translation functions to include a `logger` parameter for improved logging of translation processes and error handling.
- Cleaned up imports and removed unused worker configurations, enhancing maintainability and clarity in the translation workflow.
@github-actions github-actions Bot temporarily deployed to Preview - journeys May 5, 2025 21:19 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - arclight May 5, 2025 21:19 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - short-links May 5, 2025 21:19 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - docs May 5, 2025 21:19 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - watch May 5, 2025 21:19 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - journeys-admin May 5, 2025 21:19 Inactive
@github-actions github-actions Bot temporarily deployed to Preview - videos-admin May 5, 2025 21:19 Inactive
@mikeallisonJS mikeallisonJS merged commit 972f327 into feature/ai-translation May 5, 2025
29 checks passed
@mikeallisonJS mikeallisonJS deleted the mikeallison/prj-2584-add-ai-to-the-worker branch May 5, 2025 21:54
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.

3 participants