Core Package
# Submodules section with toctree removed as automodule below will cover them. # ———- # .. toctree:: # :maxdepth: 1 # # core.exceptions # core.goal_manager # core.interfaces # core.metrics
- exception core.exceptions.BotError(message, user_friendly=None)[исходный код]
Базовые классы:
Exception
Base class for bot errors with a user-friendly message.
- __init__(message, user_friendly=None)[исходный код]
Initialize the BotError.
- exception core.exceptions.LLMError(message, user_friendly=None)[исходный код]
Базовые классы:
BotError
Errors related to interaction with the LLM (OpenAI).
- exception core.exceptions.RateLimitExceeded(message, user_friendly=None)[исходный код]
Базовые классы:
BotError
Error raised when a rate limit is exceeded.
- exception core.exceptions.StorageError(message, user_friendly=None)[исходный код]
Базовые классы:
BotError
Errors related to data storage operations.
Core logic for managing user goals, plans, and progress via LLM and storage.
- class core.goal_manager.GoalManager(storage, llm)[исходный код]
Базовые классы:
object
Asynchronously manages user goals, tasks, and interactions.
Orchestrates operations with storage (e.g., Google Sheets via AsyncStorageInterface) and LLM (e.g., OpenAI via AsyncLLMInterface) for planning and motivation. All public methods are asynchronous.
- Параметры:
storage (
AsyncStorageInterface
)llm (
AsyncLLMInterface
)
- __init__(storage, llm)[исходный код]
Initializes GoalManager with async storage and LLM clients.
- Параметры:
storage (
AsyncStorageInterface
)llm (
AsyncLLMInterface
)
- async batch_update_task_statuses(user_id, updates)[исходный код]
Asynchronously batch updates task statuses via the storage interface. „updates“ dict values are expected to be Russian user-facing strings.
Also, increments the TASKS_STATUS_UPDATED_TOTAL metric for each status update.
- async generate_motivation_message(user_id)[исходный код]
Asynchronously generates a motivational message.
- async get_detailed_status(user_id)[исходный код]
Asynchronously gets detailed statistics about the user’s current goal.
- async get_goal_status_details(user_id)[исходный код]
Asynchronously gets a brief string summary of goal progress.
- async get_today_task(user_id)[исходный код]
Asynchronously retrieves today’s task.
- async reset_user(user_id)[исходный код]
Asynchronously deletes all user data.
- async set_new_goal(user_id, goal_text, deadline_str, available_time_str)[исходный код]
Asynchronously sets a new goal, generates a plan, and saves all data.
- async setup_user(user_id)[исходный код]
Asynchronously sets up the user by creating/opening their Google Spreadsheet.
- async update_today_task_status(user_id, status)[исходный код]
Asynchronously updates the status of today’s task. „status“ is expected to be a Russian user-facing string.
- class core.interfaces.AsyncLLMInterface(*args, **kwargs)[исходный код]
Базовые классы:
Protocol
Async interface for LLM interactions.
- async generate_motivation(goal_info, progress_summary)[исходный код]
Generate motivational message based on goal and progress.
- class core.interfaces.AsyncStorageInterface(*args, **kwargs)[исходный код]
Базовые классы:
Protocol
Async storage interface for goals and tasks with multi-goal support.
- async archive_goal(user_id, goal_id)[исходный код]
Archive a goal.
- async batch_update_task_statuses(user_id, updates)[исходный код]
Batch update multiple task statuses.
- async create_spreadsheet(user_id)[исходный код]
Create a new spreadsheet for user.
- async delete_goal(user_id, goal_id)[исходный код]
Delete a goal completely.
- async delete_spreadsheet(user_id)[исходный код]
Delete user’s spreadsheet.
- async get_active_goals(user_id)[исходный код]
Get only active goals.
- async get_active_goals_count(user_id)[исходный код]
Count active goals.
- async get_all_goals(user_id)[исходный код]
Get all goals for a user.
- async get_all_tasks_for_date(user_id, date)[исходный код]
Get all tasks for a specific date.
- async get_extended_statistics(user_id, count=7)[исходный код]
Get extended statistics (legacy method).
- async get_goal_by_id(user_id, goal_id)[исходный код]
Get a specific goal by ID.
- async get_goal_info(user_id)[исходный код]
Get goal info (legacy, single goal).
- async get_goal_statistics(user_id, goal_id)[исходный код]
Get statistics for a specific goal.
- async get_next_goal_id(user_id)[исходный код]
Get next available goal ID.
- async get_overall_statistics(user_id)[исходный код]
Get overall statistics for all goals.
- async get_plan_for_goal(user_id, goal_id)[исходный код]
Get plan for a specific goal.
- async get_status_message(user_id)[исходный код]
Get status message (legacy, single goal).
- async get_task_for_date(user_id, goal_id, date)[исходный код]
Get task for specific goal and date.
- async get_task_for_today(user_id)[исходный код]
Get today’s task (legacy, single goal).
- async save_goal_and_plan(user_id, goal_data, plan)[исходный код]
Save goal and plan (legacy, single goal).
- async save_goal_info(user_id, goal)[исходный код]
Save or update goal information.
- async save_plan(user_id, goal_id, plan)[исходный код]
Save plan for a goal.
- async update_goal_priority(user_id, goal_id, priority)[исходный код]
Update goal priority.
- async update_goal_progress(user_id, goal_id, progress)[исходный код]
Update goal progress percentage.
- async update_goal_status(user_id, goal_id, status)[исходный код]
Update goal status.
- async update_task_status(user_id, goal_id, date, status)[исходный код]
Update task status.
- class core.interfaces.LLMInterface(*args, **kwargs)[исходный код]
Базовые классы:
Protocol
Interface for LLM interactions.
- generate_motivation(goal_info, progress_summary)[исходный код]
Generate motivational message based on goal and progress.
- class core.interfaces.StorageInterface(*args, **kwargs)[исходный код]
Базовые классы:
Protocol
Storage interface for goals and tasks with multi-goal support.
- archive_goal(user_id, goal_id)[исходный код]
Archive a goal.
- batch_update_task_statuses(user_id, updates)[исходный код]
Batch update multiple task statuses.
- create_spreadsheet(user_id)[исходный код]
Create a new spreadsheet for user.
- delete_goal(user_id, goal_id)[исходный код]
Delete a goal completely.
- delete_spreadsheet(user_id)[исходный код]
Delete user’s spreadsheet.
- get_active_goals(user_id)[исходный код]
Get only active goals.
- get_active_goals_count(user_id)[исходный код]
Count active goals.
- get_all_goals(user_id)[исходный код]
Get all goals for a user.
- get_all_tasks_for_date(user_id, date)[исходный код]
Get all tasks for a specific date.
- get_goal_by_id(user_id, goal_id)[исходный код]
Get a specific goal by ID.
- get_goal_info(user_id)[исходный код]
Get goal info (legacy, single goal).
- get_goal_statistics(user_id, goal_id)[исходный код]
Get statistics for a specific goal.
- get_next_goal_id(user_id)[исходный код]
Get next available goal ID.
- get_overall_statistics(user_id)[исходный код]
Get overall statistics for all goals.
- get_plan_for_goal(user_id, goal_id)[исходный код]
Get plan for a specific goal.
- get_status_message(user_id)[исходный код]
Get status message (legacy, single goal).
- get_task_for_date(user_id, goal_id, date)[исходный код]
Get task for specific goal and date.
- save_goal_and_plan(user_id, goal_data, plan)[исходный код]
Save goal and plan (legacy, single goal).
- save_goal_info(user_id, goal)[исходный код]
Save or update goal information.
- save_plan(user_id, goal_id, plan)[исходный код]
Save plan for a goal.
- update_goal_priority(user_id, goal_id, priority)[исходный код]
Update goal priority.
- update_goal_progress(user_id, goal_id, progress)[исходный код]
Update goal progress percentage.
- update_goal_status(user_id, goal_id, status)[исходный код]
Update goal status.
Prometheus metrics definitions for the Target Assistant Bot.
This module defines various counters, gauges, and histograms used for monitoring the application’s performance and behavior.