File size: 1,538 Bytes
6900003
 
 
2f85c93
6900003
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bf722a2
 
 
 
 
6900003
bf722a2
6900003
 
 
 
bf722a2
 
 
 
6900003
bf722a2
6900003
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

__all__ = ['GetBudget']

from src.manager.budget_manager import BudgetManager


class GetBudget():
    dependencies = []

    inputSchema = {
        "name": "GetBudget",
        "description": "Retrieves the current budget available.",
        "parameters": {
            "type": "object",
            "properties":{},
            "required": [],
        },
    }


    def run(self, **kwargs):
        budget_manager = BudgetManager()
        total_resource_budget = budget_manager.get_total_resource_budget()
        current_resource_usage = budget_manager.get_current_resource_usage()
        current_remaining_resource_budget = budget_manager.get_current_remaining_resource_budget()
        
        total_expense_budget = budget_manager.get_total_expense_budget()
        current_expense = budget_manager.get_current_expense()
        current_remaining_expense_budget = budget_manager.get_total_expense_budget() - budget_manager.get_current_expense()
        return {
            "status": "success",
            "message": "Budget retrieved successfully",
            "output": {
                "total_resource_budget": total_resource_budget,
                "current_resource_usage": current_resource_usage,
                "current_remaining_resource_budget": current_remaining_resource_budget,
                "total_expense_budget": total_expense_budget,
                "current_expense": current_expense,
                "current_remaining_expense_budget": current_remaining_expense_budget,
            }
        }