minion-code 0.1.3__py3-none-any.whl → 0.1.4__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.
@@ -14,6 +14,8 @@ from ..utils.todo_file_utils import get_todo_file_path
14
14
  logger = logging.getLogger(__name__)
15
15
 
16
16
  # Try to import watchdog, fall back to polling if not available
17
+ _WATCHDOG_WARNING_LOGGED = True # Default to True, set to False only if import fails
18
+
17
19
  try:
18
20
  from watchdog.observers import Observer
19
21
  from watchdog.events import FileSystemEventHandler, FileModifiedEvent
@@ -29,9 +31,8 @@ except ImportError:
29
31
  class Observer:
30
32
  pass
31
33
 
32
- logger.warning(
33
- "watchdog library not available, file watching will use polling fallback"
34
- )
34
+ # Note: Warning will be logged when FileFreshnessService is instantiated
35
+ _WATCHDOG_WARNING_LOGGED = False
35
36
 
36
37
 
37
38
  @dataclass
@@ -193,6 +194,13 @@ class FileFreshnessService:
193
194
  """Service for tracking file freshness and changes."""
194
195
 
195
196
  def __init__(self):
197
+ global _WATCHDOG_WARNING_LOGGED
198
+ if not WATCHDOG_AVAILABLE and not _WATCHDOG_WARNING_LOGGED:
199
+ logger.warning(
200
+ "watchdog library not available, file watching will use polling fallback"
201
+ )
202
+ _WATCHDOG_WARNING_LOGGED = True
203
+
196
204
  self.state = FileFreshnessState(
197
205
  read_timestamps={},
198
206
  edit_conflicts=set(),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minion-code
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: A Python project depending on minion
5
5
  Author-email: User <user@example.com>
6
6
  Requires-Python: >=3.8
@@ -47,7 +47,7 @@ minion_code/screens/REPL.py,sha256=BqE6QhztpRxDtGAm-iFQa3JKoWye8yDxAM7LC_6LNro,7
47
47
  minion_code/screens/__init__.py,sha256=8YdR6KEAV1np5QaGZCbRQMtkrjoWMZiG5Ps2QnAblSs,83
48
48
  minion_code/services/__init__.py,sha256=DkDf4w_ZHruJETqzTExm4nfdg_Wo-tG4WzsrLmRtawA,1146
49
49
  minion_code/services/event_system.py,sha256=KvVlSTXEm5io4ZM37SNpC46NPkXUZySe7cngtIahjxs,3653
50
- minion_code/services/file_freshness_service.py,sha256=Wv0Ry5TEfDoUWNbxHRu8ifvuN90xiA3ClxqEEb1ONAc,22637
50
+ minion_code/services/file_freshness_service.py,sha256=gb2V4PHULZF0HVHPwP9O1YDPcem8x5nLyA6mug3MDLQ,23015
51
51
  minion_code/skills/__init__.py,sha256=4QSO3l0ZtqXznoQjRbA_pXimOJa5jUwIhazqNO9kr8A,639
52
52
  minion_code/skills/skill.py,sha256=LxxDRKsxaYJQTs_CZ1vxbMt63Rjgf25ISs2TzkMz4UI,3582
53
53
  minion_code/skills/skill_loader.py,sha256=q40Yh6KOpFfpPT5-uKoVyqvZhyhk_o2ZS-OJ2OkXzP8,5907
@@ -95,7 +95,7 @@ minion_code/web/api/interactions.py,sha256=w07HLV4kYmlJqM_dzFPvZ5Kj4D7V9_6R_yxuU
95
95
  minion_code/web/api/sessions.py,sha256=jGu6vSLRvqBSOn1QwR4O-Ub1ZV7oR2i7mbAScq07ntE,3808
96
96
  minion_code/web/services/__init__.py,sha256=sJNm6URCvLBebW0GJ7JMQ_rjIKAiRBp12vn0qo3GVgY,131
97
97
  minion_code/web/services/session_manager.py,sha256=z09CF4kWcAHSXnaCTEGQfUvhKDjAq7aw3H1VviVTsUI,13475
98
- minion_code-0.1.3.dist-info/licenses/LICENSE,sha256=ILBn-G3jdarm2w8oOrLmXeJNU3czuJvVhDLBASWdhM8,34522
98
+ minion_code-0.1.4.dist-info/licenses/LICENSE,sha256=ILBn-G3jdarm2w8oOrLmXeJNU3czuJvVhDLBASWdhM8,34522
99
99
  tests/__init__.py,sha256=Wk73Io62J15BtlLVIzxmASDWaaJkQLevS4BLK5LDAQg,16
100
100
  tests/test_adapter.py,sha256=6DJOGgH1BXwwu725GuAlsZVQLzKzhPNnU07fkdVzm-k,2495
101
101
  tests/test_adapter_simple.py,sha256=x1jkEjiaobR7M-5srOrl75EdyRPeW--BlsyRNvEOsYE,2587
@@ -104,8 +104,8 @@ tests/test_file_read_tool.py,sha256=OMPluOG66uyyHXgatbb6pxgrl2js8bcRmc-HbPZnWWs,
104
104
  tests/test_readonly_tools.py,sha256=-Y8JIVtk17gx-YfXkxu25_xWmbT6cN_KLD0quiZwFEk,2444
105
105
  tests/test_skills.py,sha256=i_AWJGLbV9K2pmarHbbHFsMZe96UZhUkaM25eT27OSM,12042
106
106
  tests/test_tools.py,sha256=37QOOVQ9KHRQpv6v2m0rBJ39KX0sB5QomhrSPiNxczs,2207
107
- minion_code-0.1.3.dist-info/METADATA,sha256=2pLpd_RiSk4cdQBheYrLUK4v3uZxaoNCNSvo6s_F6pw,12024
108
- minion_code-0.1.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
109
- minion_code-0.1.3.dist-info/entry_points.txt,sha256=W-MX70GjQhqa533jO4xQbpscEIJymRmEEaVQxxiD6_c,179
110
- minion_code-0.1.3.dist-info/top_level.txt,sha256=L9ER44uG1buFZPVkazo5KUfNFewvi-raU-0kE_-EG6I,27
111
- minion_code-0.1.3.dist-info/RECORD,,
107
+ minion_code-0.1.4.dist-info/METADATA,sha256=Qg5Ut3Eg2yKcekDBxwQEFHkVZ7fiAwV9-6YQowHzlyU,12024
108
+ minion_code-0.1.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
109
+ minion_code-0.1.4.dist-info/entry_points.txt,sha256=W-MX70GjQhqa533jO4xQbpscEIJymRmEEaVQxxiD6_c,179
110
+ minion_code-0.1.4.dist-info/top_level.txt,sha256=L9ER44uG1buFZPVkazo5KUfNFewvi-raU-0kE_-EG6I,27
111
+ minion_code-0.1.4.dist-info/RECORD,,