minion-code 0.1.3__tar.gz → 0.1.4__tar.gz

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.
Files changed (116) hide show
  1. {minion_code-0.1.3 → minion_code-0.1.4}/PKG-INFO +1 -1
  2. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/services/file_freshness_service.py +11 -3
  3. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code.egg-info/PKG-INFO +1 -1
  4. {minion_code-0.1.3 → minion_code-0.1.4}/pyproject.toml +1 -1
  5. {minion_code-0.1.3 → minion_code-0.1.4}/LICENSE +0 -0
  6. {minion_code-0.1.3 → minion_code-0.1.4}/README.md +0 -0
  7. {minion_code-0.1.3 → minion_code-0.1.4}/examples/cli_entrypoint.py +0 -0
  8. {minion_code-0.1.3 → minion_code-0.1.4}/examples/components/agent_with_todos.py +0 -0
  9. {minion_code-0.1.3 → minion_code-0.1.4}/examples/components/message_response_children_demo.py +0 -0
  10. {minion_code-0.1.3 → minion_code-0.1.4}/examples/components/messages_component.py +0 -0
  11. {minion_code-0.1.3 → minion_code-0.1.4}/examples/file_freshness_example.py +0 -0
  12. {minion_code-0.1.3 → minion_code-0.1.4}/examples/file_watching_example.py +0 -0
  13. {minion_code-0.1.3 → minion_code-0.1.4}/examples/interruptible_tui.py +0 -0
  14. {minion_code-0.1.3 → minion_code-0.1.4}/examples/repl_tui.py +0 -0
  15. {minion_code-0.1.3 → minion_code-0.1.4}/examples/skills/example_usage.py +0 -0
  16. {minion_code-0.1.3 → minion_code-0.1.4}/examples/start.py +0 -0
  17. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/__init__.py +0 -0
  18. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/acp_server/__init__.py +0 -0
  19. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/acp_server/agent.py +0 -0
  20. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/acp_server/hooks.py +0 -0
  21. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/acp_server/main.py +0 -0
  22. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/acp_server/permissions.py +0 -0
  23. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/acp_server/test_client.py +0 -0
  24. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/adapters/__init__.py +0 -0
  25. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/adapters/output_adapter.py +0 -0
  26. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/adapters/rich_adapter.py +0 -0
  27. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/adapters/textual_adapter.py +0 -0
  28. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/agents/__init__.py +0 -0
  29. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/agents/code_agent.py +0 -0
  30. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/agents/hooks.py +0 -0
  31. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/cli.py +0 -0
  32. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/cli_simple.py +0 -0
  33. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/__init__.py +0 -0
  34. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/clear_command.py +0 -0
  35. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/help_command.py +0 -0
  36. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/history_command.py +0 -0
  37. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/model_command.py +0 -0
  38. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/quit_command.py +0 -0
  39. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/resume_command.py +0 -0
  40. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/skill_command.py +0 -0
  41. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/status_command.py +0 -0
  42. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/tools_command.py +0 -0
  43. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/commands/version_command.py +0 -0
  44. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/components/ConfirmDialog.py +0 -0
  45. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/components/Message.py +0 -0
  46. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/components/MessageResponse.py +0 -0
  47. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/components/Messages.py +0 -0
  48. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/components/PromptInput.py +0 -0
  49. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/components/__init__.py +0 -0
  50. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/const.py +0 -0
  51. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/screens/REPL.py +0 -0
  52. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/screens/__init__.py +0 -0
  53. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/services/__init__.py +0 -0
  54. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/services/event_system.py +0 -0
  55. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/skills/__init__.py +0 -0
  56. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/skills/skill.py +0 -0
  57. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/skills/skill_loader.py +0 -0
  58. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/skills/skill_registry.py +0 -0
  59. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/subagents/__init__.py +0 -0
  60. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/subagents/builtin/__init__.py +0 -0
  61. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/subagents/builtin/claude_code_guide.py +0 -0
  62. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/subagents/builtin/explore.py +0 -0
  63. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/subagents/builtin/general_purpose.py +0 -0
  64. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/subagents/builtin/plan.py +0 -0
  65. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/subagents/subagent.py +0 -0
  66. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/subagents/subagent_loader.py +0 -0
  67. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/subagents/subagent_registry.py +0 -0
  68. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/__init__.py +0 -0
  69. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/bash_tool.py +0 -0
  70. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/file_edit_tool.py +0 -0
  71. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/file_read_tool.py +0 -0
  72. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/file_write_tool.py +0 -0
  73. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/glob_tool.py +0 -0
  74. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/grep_tool.py +0 -0
  75. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/ls_tool.py +0 -0
  76. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/multi_edit_tool.py +0 -0
  77. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/python_interpreter_tool.py +0 -0
  78. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/skill_tool.py +0 -0
  79. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/task_tool.py +0 -0
  80. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/todo_read_tool.py +0 -0
  81. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/todo_write_tool.py +0 -0
  82. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/tools/user_input_tool.py +0 -0
  83. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/type_defs.py +0 -0
  84. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/utils/__init__.py +0 -0
  85. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/utils/config.py +0 -0
  86. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/utils/history.py +0 -0
  87. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/utils/logs.py +0 -0
  88. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/utils/mcp_loader.py +0 -0
  89. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/utils/output_truncator.py +0 -0
  90. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/utils/session_storage.py +0 -0
  91. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/utils/todo_file_utils.py +0 -0
  92. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/utils/todo_storage.py +0 -0
  93. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/__init__.py +0 -0
  94. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/adapters/__init__.py +0 -0
  95. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/adapters/web_adapter.py +0 -0
  96. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/api/__init__.py +0 -0
  97. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/api/chat.py +0 -0
  98. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/api/interactions.py +0 -0
  99. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/api/sessions.py +0 -0
  100. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/server.py +0 -0
  101. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/services/__init__.py +0 -0
  102. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code/web/services/session_manager.py +0 -0
  103. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code.egg-info/SOURCES.txt +0 -0
  104. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code.egg-info/dependency_links.txt +0 -0
  105. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code.egg-info/entry_points.txt +0 -0
  106. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code.egg-info/requires.txt +0 -0
  107. {minion_code-0.1.3 → minion_code-0.1.4}/minion_code.egg-info/top_level.txt +0 -0
  108. {minion_code-0.1.3 → minion_code-0.1.4}/setup.cfg +0 -0
  109. {minion_code-0.1.3 → minion_code-0.1.4}/tests/__init__.py +0 -0
  110. {minion_code-0.1.3 → minion_code-0.1.4}/tests/test_adapter.py +0 -0
  111. {minion_code-0.1.3 → minion_code-0.1.4}/tests/test_adapter_simple.py +0 -0
  112. {minion_code-0.1.3 → minion_code-0.1.4}/tests/test_basic.py +0 -0
  113. {minion_code-0.1.3 → minion_code-0.1.4}/tests/test_file_read_tool.py +0 -0
  114. {minion_code-0.1.3 → minion_code-0.1.4}/tests/test_readonly_tools.py +0 -0
  115. {minion_code-0.1.3 → minion_code-0.1.4}/tests/test_skills.py +0 -0
  116. {minion_code-0.1.3 → minion_code-0.1.4}/tests/test_tools.py +0 -0
@@ -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
@@ -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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "minion-code"
7
- version = "0.1.3"
7
+ version = "0.1.4"
8
8
  description = "A Python project depending on minion"
9
9
  authors = [{name = "User", email = "user@example.com"}]
10
10
  readme = "README.md"
File without changes
File without changes
File without changes