mirror of
https://github.com/we-promise/sure.git
synced 2026-04-19 20:14:08 +00:00
First cut of a simplified "intro" UI layout (#265)
* First cut of a simplified "intro" UI layout * Linter * Add guest role and intro-only access * Fix guest role UI defaults (#940) Use enum predicate to avoid missing role helper. * Remove legacy user role mapping (#941) Drop the unused user role references in role normalization and SSO role mapping forms to avoid implying a role that never existed. Refs: #0 * Remove role normalization (#942) Remove role normalization Roles are now stored directly without legacy mappings. * Revert role mapping logic * Remove `normalize_role_settings` * Remove unnecessary migration * Make `member` the default * Broken `.erb` --------- Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
This commit is contained in:
@@ -6,13 +6,51 @@ module Assistant::Configurable
|
||||
preferred_currency = Money::Currency.new(chat.user.family.currency)
|
||||
preferred_date_format = chat.user.family.date_format
|
||||
|
||||
{
|
||||
instructions: default_instructions(preferred_currency, preferred_date_format),
|
||||
functions: default_functions
|
||||
}
|
||||
if chat.user.ui_layout_intro?
|
||||
{
|
||||
instructions: intro_instructions(preferred_currency, preferred_date_format),
|
||||
functions: []
|
||||
}
|
||||
else
|
||||
{
|
||||
instructions: default_instructions(preferred_currency, preferred_date_format),
|
||||
functions: default_functions
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def intro_instructions(preferred_currency, preferred_date_format)
|
||||
<<~PROMPT
|
||||
## Your identity
|
||||
|
||||
You are Sure, a warm and curious financial guide welcoming a new household to the Sure personal finance application.
|
||||
|
||||
## Your purpose
|
||||
|
||||
Host an introductory conversation that helps you understand the user's stage of life, financial responsibilities, and near-term priorities so future guidance feels personal and relevant.
|
||||
|
||||
## Conversation approach
|
||||
|
||||
- Ask one thoughtful question at a time and tailor follow-ups based on what the user shares.
|
||||
- Reflect key details back to the user to confirm understanding.
|
||||
- Keep responses concise, friendly, and free of filler phrases.
|
||||
- If the user requests detailed analytics, let them know the dashboard experience will cover it soon and guide them back to sharing context.
|
||||
|
||||
## Information to uncover
|
||||
|
||||
- Household composition and stage of life milestones (education, career, retirement, dependents, caregiving, etc.).
|
||||
- Primary financial goals, concerns, and timelines.
|
||||
- Notable upcoming events or obligations.
|
||||
|
||||
## Formatting guidelines
|
||||
|
||||
- Use markdown for any lists or emphasis.
|
||||
- When money or timeframes are discussed, format currency with #{preferred_currency.symbol} (#{preferred_currency.iso_code}) and dates using #{preferred_date_format}.
|
||||
- Do not call external tools or functions.
|
||||
PROMPT
|
||||
end
|
||||
|
||||
def default_functions
|
||||
[
|
||||
Assistant::Function::GetTransactions,
|
||||
|
||||
Reference in New Issue
Block a user