kader 0.1.1__py3-none-any.whl → 0.1.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
kader/agent/base.py CHANGED
@@ -559,12 +559,13 @@ class BaseAgent:
559
559
  token_usage["total_tokens"],
560
560
  )
561
561
 
562
+ # estimate the cost...
563
+ estimated_cost = self.provider.estimate_cost(token_usage)
564
+
562
565
  # Calculate and log cost
563
566
  agent_logger.calculate_cost(
564
567
  self.logger_id,
565
- token_usage["prompt_tokens"],
566
- token_usage["completion_tokens"],
567
- getattr(self.provider, "model", ""),
568
+ estimated_cost.total_cost,
568
569
  )
569
570
 
570
571
  # Save session update
@@ -726,12 +727,13 @@ class BaseAgent:
726
727
  token_usage["total_tokens"],
727
728
  )
728
729
 
730
+ # estimate the cost...
731
+ estimated_cost = self.provider.estimate_cost(token_usage)
732
+
729
733
  # Calculate and log cost
730
734
  agent_logger.calculate_cost(
731
735
  self.logger_id,
732
- token_usage["prompt_tokens"],
733
- token_usage["completion_tokens"],
734
- getattr(self.provider, "model", ""),
736
+ estimated_cost.total_cost,
735
737
  )
736
738
 
737
739
  # Save session update
kader/agent/logger.py CHANGED
@@ -99,27 +99,9 @@ class AgentLogger:
99
99
  def calculate_cost(
100
100
  self,
101
101
  logger_id: str,
102
- prompt_tokens: int,
103
- completion_tokens: int,
104
- model_name: str = "",
105
- pricing_data: Optional[Dict[str, float]] = None,
102
+ total_cost: float,
106
103
  ):
107
104
  """Calculate and log cost based on token usage."""
108
- # Use provided pricing data or defaults
109
- if pricing_data is None:
110
- # Default pricing (these would come from a model registry in practice)
111
- pricing_data = {
112
- "input_cost_per_million": 0.5, # $0.50 per million input tokens
113
- "output_cost_per_million": 1.5, # $1.50 per million output tokens
114
- }
115
-
116
- input_cost = (prompt_tokens / 1_000_000) * pricing_data.get(
117
- "input_cost_per_million", 0.5
118
- )
119
- output_cost = (completion_tokens / 1_000_000) * pricing_data.get(
120
- "output_cost_per_million", 1.5
121
- )
122
- total_cost = input_cost + output_cost
123
105
 
124
106
  self.log_cost(logger_id, total_cost)
125
107
  return total_cost
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kader
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: kader coding agent
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: faiss-cpu>=1.9.0
@@ -12,8 +12,8 @@ kader/__init__.py,sha256=QXb0aQvySAiNmhP2kNMNtuuzG_eSUgRVcTRSafko1r0,602
12
12
  kader/config.py,sha256=B1s1PNgZ5SrFEJU5TtJG-ZAc7Umff4cwyHR7mfQgeLA,4261
13
13
  kader/agent/__init__.py,sha256=UJzUw9NIzggCrhIBHC6nJnfzkhCjCZnIzmD6uUn2SNA,159
14
14
  kader/agent/agents.py,sha256=lo41hlkPm3CStI9VAwSOR6IYhCBkqQJ48Ego5XN1XU8,4299
15
- kader/agent/base.py,sha256=qWT53Fuw3I61X9wvZFDNJ8YnYSxBJKdnOH1122cWP2s,36452
16
- kader/agent/logger.py,sha256=Y8Ig6Jab_jEDUCStAnv-zmBf8u7Ubpe5ry-zaPmj0Kk,6582
15
+ kader/agent/base.py,sha256=3SzXH93JW5LGI30c3EL_onol3UFWd0lCqi5gWOaXq8o,36452
16
+ kader/agent/logger.py,sha256=3vFwz_yycSBU-5mcdalfZ3KBVT9P_20Q-WT5Al8yIXo,5796
17
17
  kader/memory/__init__.py,sha256=VUzzhGOWvO_2aYB6uuavmtNI8l94K7H3uPn4_1MVUUs,1473
18
18
  kader/memory/conversation.py,sha256=h6Bamd8_rYnk0Bwt4MJWZRfv2wxCcg6eUxPvzP-tIyA,11810
19
19
  kader/memory/session.py,sha256=VhRPEO474SlwM5UOuFt-b_28sJs3j4SNrobCZvoP5Os,10811
@@ -39,7 +39,7 @@ kader/tools/rag.py,sha256=37Nd49D5R_DlWmMyhSdSvst_XFOnoxpaFNtlbLEt6qM,15653
39
39
  kader/tools/todo.py,sha256=omirxoG7_KVHAmMoD12DGmn7scqRaewbI1cqWm0ShUo,7735
40
40
  kader/tools/utils.py,sha256=bfq7b1vpA1qBaL_QZYBFTqOM35-omu_UeDjo6v0rxEg,14176
41
41
  kader/tools/web.py,sha256=2Aqy0nO7ZwNLAqE9IWjCg5y8qnhbt-AIZOHy02XgbxA,8464
42
- kader-0.1.1.dist-info/METADATA,sha256=EEFa_a5JeTZV9CZ8wKchfbYv1NXyZhUuHIu7zburgnU,9490
43
- kader-0.1.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
44
- kader-0.1.1.dist-info/entry_points.txt,sha256=TK0VOtrfDFqZ8JQfxpuAHHvDLHyoiafUjS-VOixl02c,39
45
- kader-0.1.1.dist-info/RECORD,,
42
+ kader-0.1.2.dist-info/METADATA,sha256=FvswsMNeTn3O6mOQR5jiK_MXgKhgPeKB18eC4Hkq3hA,9490
43
+ kader-0.1.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
44
+ kader-0.1.2.dist-info/entry_points.txt,sha256=TK0VOtrfDFqZ8JQfxpuAHHvDLHyoiafUjS-VOixl02c,39
45
+ kader-0.1.2.dist-info/RECORD,,
File without changes