mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-23 15:19:38 +02:00
* AI sidebar * Add chat and message models with associations * Implement AI chat functionality with sidebar and messaging system - Add chat and messages controllers - Create chat and message views - Implement chat-related routes - Add message broadcasting and user interactions - Update application layout to support chat sidebar - Enhance user model with initials method * Refactor AI sidebar with enhanced chat menu and interactions - Update sidebar layout with dynamic width and improved responsiveness - Add new chat menu Stimulus controller for toggling between chat and chat list views - Improve chat list display with recent chats and empty state - Extract AI avatar to a partial for reusability - Enhance message display and interaction styling - Add more contextual buttons and interaction hints * Improve chat scroll behavior and message styling - Refactor chat scroll functionality with Stimulus controller - Optimize message scrolling in chat views - Update message styling for better visual hierarchy - Enhance chat container layout with flex and auto-scroll - Simplify message rendering across different chat views * Extract AI avatar to a shared partial for consistent styling - Refactor AI avatar rendering across chat views - Replace hardcoded avatar markup with a reusable partial - Simplify avatar display in chats and messages views * Update sidebar controller to handle right panel width dynamically - Add conditional width class for right sidebar panel - Ensure consistent sidebar toggle behavior for both left and right panels - Use specific width class for right panel (w-[375px]) * Refactor chat form and AI greeting with flexible partials - Extract message form to a reusable partial with dynamic context support - Create flexible AI greeting partial for consistent welcome messages - Simplify chat and sidebar views by leveraging new partials - Add support for different form scenarios (chat, new chat, sidebar) - Improve code modularity and reduce duplication * Add chat clearing functionality with dynamic menu options - Implement clear chat action in ChatsController - Add clear chat route to support clearing messages - Update AI sidebar with dropdown menu for chat actions - Preserve system message when clearing chat - Enhance chat interaction with new menu options * Add frontmatter to project structure documentation - Create initial frontmatter for structure.mdc file - Include description and configuration options - Prepare for potential dynamic documentation rendering * Update general project rules with additional guidelines - Add rule for using `Current.family` instead of `current_family` - Include new guidelines for testing, API routes, and solution approach - Expand project-specific rules for more consistent development practices * Add OpenAI gem and AI-friendly data representations - Add `ruby-openai` gem for AI integration - Implement `to_ai_readable_hash` methods in BalanceSheet and IncomeStatement - Include Promptable module in both models - Add savings rate calculation method in IncomeStatement - Prepare financial models for AI-powered insights and interactions * Enhance AI Financial Assistant with Advanced Querying and Debugging Capabilities - Implement comprehensive AI financial query system with function-based interactions - Add detailed debug logging for AI responses and function calls - Extend BalanceSheet and IncomeStatement models with AI-friendly methods - Create robust error handling and fallback mechanisms for AI queries - Update chat and message views to support debug mode and enhanced rendering - Add AI query routes and initial test coverage for financial assistant * Refactor AI sidebar and chat layout with improved structure and comments - Remove inline AI chat from application layout - Enhance AI sidebar with more semantic HTML structure - Add descriptive comments to clarify different sections of chat view - Improve flex layout and scrolling behavior in chat messages container - Optimize message rendering with more explicit class names and structure * Add Markdown rendering support for AI chat messages - Implement `markdown` helper method in ApplicationHelper using Redcarpet - Update message view to render AI messages with Markdown formatting - Add comprehensive Markdown rendering options (tables, code blocks, links) - Enhance AI Financial Assistant prompt to encourage Markdown usage - Remove commented Markdown CSS in Tailwind application stylesheet * Missing comma * Enhance AI response processing with chat history context * Improve AI debug logging with payload size limits and internal message flag * Enhance AI chat interaction with improved thinking indicator and scrolling behavior * Add AI consent and enable/disable functionality for AI chat * Upgrade Biome and refactor JavaScript template literals - Update @biomejs/biome to latest version with caret (^) notation - Refactor AI query and chat controllers to use template literals - Standardize npm scripts formatting in package.json * Add beta testing usage note to AI consent modal * Update test fixtures and configurations for AI chat functionality - Add family association to chat fixtures and tests - Set consistent password digest for test users - Enable AI for test users - Add OpenAI access token for test environment - Update chat and user model tests to include family context * Simplify data model and get tests passing * Remove structure.mdc from version control * Integrate AI chat styles into existing prose pattern * Match Figma design spec, implement Turbo frames and actions for chats controller * AI rules refresh * Consolidate Stimulus controllers, thinking state, controllers, and views * Naming, domain alignment * Reset migrations * Improve data model to support tool calls and message types * Tool calling tests and fixtures * Tool call implementation and test * Get assistant test working again * Test updates * Process tool calls within provider * Chat UI back to working state again * Remove stale code * Tests passing * Update openai class naming to avoid conflicts * Reconfigure test env * Rebuild gemfile * Fix naming conflicts for ChatResponse * Message styles * Use OpenAI conversation state management * Assistant function base implementation * Add back thinking messages, clean up error handling for chat * Fix sync error when security price has bad data from provider * Add balance sheet function to assistant * Add better function calling error visibility * Add income statement function * Simplify and clean up "thinking" interactions with Turbo frames * Remove stale data definitions from functions * Ensure VCR fixtures working with latest code * basic stream implementation * Get streaming working * Make AI sidebar wider when left sidebar is collapsed * Get tests working with streaming responses * Centralize provider error handling * Provider data boundaries --------- Co-authored-by: Josh Pigford <josh@joshpigford.com> |
||
---|---|---|
.. | ||
20240201183314_enable_uuid.rb | ||
20240201184038_create_families.rb | ||
20240201184212_create_users.rb | ||
20240202015428_create_accounts.rb | ||
20240202191425_create_account_loans.rb | ||
20240202191746_add_accountable_to_account.rb | ||
20240202192214_create_account_depositories.rb | ||
20240202192231_create_account_credits.rb | ||
20240202192238_create_account_investments.rb | ||
20240202192312_create_account_properties.rb | ||
20240202192319_create_account_vehicles.rb | ||
20240202192327_create_account_other_assets.rb | ||
20240202192333_create_account_other_liabilities.rb | ||
20240202230325_create_invite_codes.rb | ||
20240203030754_remove_type_from_accounts.rb | ||
20240203050018_add_token_index_to_invite_codes.rb | ||
20240206031739_replace_money_field.rb | ||
20240209153232_add_currency_to_families.rb | ||
20240209174912_redo_money_storage.rb | ||
20240209200519_create_currencies.rb | ||
20240209200924_create_exchange_rates.rb | ||
20240210155058_create_good_jobs.rb | ||
20240212150110_create_account_balances.rb | ||
20240215201527_create_valuations.rb | ||
20240221004818_remove_valuation_type.rb | ||
20240222144849_add_status_to_account.rb | ||
20240223162105_create_transactions.rb | ||
20240227142457_rename_account_balance.rb | ||
20240302145715_add_classification_to_accounts.rb | ||
20240306193345_add_is_active_to_account.rb | ||
20240307082827_create_transaction_categories.rb | ||
20240308121431_remove_currency_table.rb | ||
20240308214956_add_notes_and_excluded_to_transaction.rb | ||
20240309180636_add_sync_status_fields_to_account.rb | ||
20240313141813_update_unique_indexes_for_account_balance_and_exchange_rate.rb | ||
20240313203622_remove_converted_balance_from_account.rb | ||
20240319154732_create_account_cryptos.rb | ||
20240325064211_add_uniq_index_to_users_email.rb | ||
20240401213443_add_last_sync_date_to_accounts.rb | ||
20240403192649_add_last_login_at_to_users.rb | ||
20240404112829_change_transaction_category_delete_behavior.rb | ||
20240410183531_create_settings.rb | ||
20240411102931_add_last_seen_upgrade_to_user.rb | ||
20240425000110_add_role_to_users.rb | ||
20240426162500_create_active_storage_tables.active_storage.rb | ||
20240426191312_add_transaction_merchants.rb | ||
20240430111641_add_active_to_users.rb | ||
20240502205006_create_imports.rb | ||
20240520074309_add_admin_role_to_current_users.rb | ||
20240522133147_create_tags.rb | ||
20240522151453_create_taggings.rb | ||
20240524203959_change_account_error_columns_default.rb | ||
20240612164751_create_institutions.rb | ||
20240612164944_add_institution_to_accounts.rb | ||
20240614120946_create_transfers.rb | ||
20240614121110_add_transfer_fields_to_transaction.rb | ||
20240619125949_rename_accountable_tables.rb | ||
20240620114307_rename_categories_table.rb | ||
20240620122201_rename_merchants_table.rb | ||
20240620125026_rename_transfer_table.rb | ||
20240620221801_rename_valuation_table.rb | ||
20240621212528_rename_transactions_table.rb | ||
20240624160611_create_account_entries.rb | ||
20240624161153_migrate_entryables.rb | ||
20240624164119_remove_old_columns_from_entryables.rb | ||
20240628104551_move_transfers_association_from_transactions_to_entries.rb | ||
20240706151026_rename_rate_fields.rb | ||
20240707130331_create_account_syncs.rb | ||
20240709113713_create_good_job_execution_error_backtrace.rb | ||
20240709113714_create_good_job_process_lock_ids.rb | ||
20240709113715_create_good_job_process_lock_indexes.rb | ||
20240709152243_create_good_job_execution_duration.rb | ||
20240710182529_create_securities.rb | ||
20240710182728_create_security_prices.rb | ||
20240710184048_create_account_trades.rb | ||
20240710184249_create_account_holdings.rb | ||
20240717113535_remove_default_from_account_balance.rb | ||
20240725163339_add_last_synced_at_to_family.rb | ||
20240731191344_change_primary_identifier_for_security.rb | ||
20240807153618_add_currency_field_to_trade.rb | ||
20240813170608_fix_invalid_accountable_data.rb | ||
20240815125404_create_issues.rb | ||
20240815190722_remove_warnings_from_sync.rb | ||
20240816071555_add_col_sep_to_imports.rb | ||
20240817144454_rename_import_raw_csv_str_to_raw_file_str.rb | ||
20240822174006_create_addresses.rb | ||
20240822180845_add_property_attributes.rb | ||
20240823125526_add_details_to_vehicle.rb | ||
20240911143158_add_last_synced_at_institution.rb | ||
20240921170426_change_import_owner.rb | ||
20240925112218_add_import_types.rb | ||
20241001181256_add_locale_preference.rb | ||
20241003163448_create_sessions.rb | ||
20241007211438_add_billing_to_families.rb | ||
20241008122449_add_debt_account_views.rb | ||
20241009132959_add_notes_to_entry.rb | ||
20241009214601_add_super_admin_to_users.rb | ||
20241017162347_create_impersonation_sessions.rb | ||
20241017162536_create_impersonation_session_logs.rb | ||
20241017204250_add_accounts_indexes.rb | ||
20241018201653_add_account_mode.rb | ||
20241022170439_create_stock_exchanges.rb | ||
20241022192319_fix_user_role_column_type.rb | ||
20241022221544_add_onboarding_fields.rb | ||
20241023195438_add_stock_exchange_reference.rb | ||
20241024142537_add_subscription_timestamp_to_session.rb | ||
20241025174650_add_mic_to_securities.rb | ||
20241025182612_add_search_vector_to_securities.rb | ||
20241029125406_add_reference_to_security_prices.rb | ||
20241029184115_remove_prices_missing_issue.rb | ||
20241029234028_remove_search_vector.rb | ||
20241030121302_fix_not_null_stock_exchange_data.rb | ||
20241030151105_remove_account_mode.rb | ||
20241030222235_create_invitations.rb | ||
20241106193743_add_plaid_domain.rb | ||
20241108150422_add_unique_email_index_to_invitations.rb | ||
20241114164118_add_products_to_plaid_item.rb | ||
20241122183828_change_loan_interest_rate_precision.rb.rb | ||
20241126211249_add_logo_url_to_security.rb | ||
20241204235400_add_balance_components.rb | ||
20241207002408_add_family_timezone.rb | ||
20241212141453_add_merchant_logo.rb | ||
20241217141716_add_enrichment_setting.rb | ||
20241218132503_add_enriched_name_field.rb | ||
20241219151540_add_region_to_plaid_item.rb | ||
20241219174803_add_parent_category.rb | ||
20241227142333_add_error_trace_to_syncs.rb | ||
20241231140709_reverse_transfer_relations.rb | ||
20250108182147_create_budgets.rb | ||
20250108200055_create_budget_categories.rb | ||
20250110012347_category_classification.rb | ||
20250120210449_align_transfer_cascade_behavior.rb | ||
20250124224316_create_rejected_transfers.rb | ||
20250128203303_store_transaction_filters_in_session.rb | ||
20250130191533_add_email_confirmation_to_users.rb | ||
20250130214500_remove_email_confirmation_sent_at_from_users.rb | ||
20250131171943_remove_email_confirmation_token_from_users.rb | ||
20250206003115_remove_import_status_enum.rb | ||
20250206141452_add_institution_details_to_plaid_items.rb | ||
20250206151825_add_mfa_fields_to_users.rb | ||
20250206204404_add_constraints_to_account_holdings.rb | ||
20250207011850_add_exchange_operating_mic_to_securities.rb | ||
20250207014022_add_number_format_to_imports.rb | ||
20250207194638_adjust_securities_indexes.rb | ||
20250211161238_make_ticker_not_null.rb | ||
20250212163624_add_status_to_plaid_items.rb | ||
20250212213301_add_user_sidebar_preference.rb | ||
20250220153958_update_imports_for_operating_mic_v2.rb | ||
20250220200735_add_default_lucide_icon_to_categories.rb | ||
20250303141007_add_optional_account_for_import.rb | ||
20250304140435_add_default_period_to_users.rb | ||
20250315191233_remove_ticker_from_security_prices.rb | ||
20250316103753_remove_issues.rb | ||
20250316122019_security_price_unique_index.rb | ||
20250318212559_remove_good_job.rb | ||
20250319145426_remove_self_host_upgrades.rb | ||
20250319212839_create_ai_chats.rb |