entropic-engine 1.0.0__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.
Files changed (115) hide show
  1. entropic/__init__.py +93 -0
  2. entropic/__main__.py +8 -0
  3. entropic/app.py +983 -0
  4. entropic/cli.py +292 -0
  5. entropic/cli_download.py +137 -0
  6. entropic/config/__init__.py +13 -0
  7. entropic/config/loader.py +497 -0
  8. entropic/config/schema.py +508 -0
  9. entropic/core/__init__.py +86 -0
  10. entropic/core/base.py +265 -0
  11. entropic/core/commands.py +760 -0
  12. entropic/core/compaction.py +448 -0
  13. entropic/core/context.py +334 -0
  14. entropic/core/directives.py +265 -0
  15. entropic/core/engine.py +1459 -0
  16. entropic/core/logging.py +144 -0
  17. entropic/core/parser.py +172 -0
  18. entropic/core/queue.py +369 -0
  19. entropic/core/session.py +517 -0
  20. entropic/core/tasks.py +530 -0
  21. entropic/core/todos.py +335 -0
  22. entropic/core/tool_validation.py +131 -0
  23. entropic/data/default_config.yaml +108 -0
  24. entropic/data/prompts/app_context.md +29 -0
  25. entropic/data/prompts/constitution.md +32 -0
  26. entropic/data/prompts/identity_code.md +28 -0
  27. entropic/data/prompts/identity_normal.md +22 -0
  28. entropic/data/prompts/identity_simple.md +26 -0
  29. entropic/data/prompts/identity_thinking.md +54 -0
  30. entropic/data/tools/bash/execute.json +18 -0
  31. entropic/data/tools/diagnostics/check_errors.json +14 -0
  32. entropic/data/tools/diagnostics/diagnostics.json +14 -0
  33. entropic/data/tools/entropic/handoff.json +24 -0
  34. entropic/data/tools/entropic/prune_context.json +13 -0
  35. entropic/data/tools/entropic/todo_write.json +64 -0
  36. entropic/data/tools/filesystem/edit_file.json +30 -0
  37. entropic/data/tools/filesystem/read_file.json +14 -0
  38. entropic/data/tools/filesystem/write_file.json +18 -0
  39. entropic/data/tools/git/add.json +14 -0
  40. entropic/data/tools/git/branch.json +14 -0
  41. entropic/data/tools/git/checkout.json +14 -0
  42. entropic/data/tools/git/commit.json +18 -0
  43. entropic/data/tools/git/diff.json +18 -0
  44. entropic/data/tools/git/log.json +18 -0
  45. entropic/data/tools/git/reset.json +14 -0
  46. entropic/data/tools/git/status.json +9 -0
  47. entropic/inference/__init__.py +14 -0
  48. entropic/inference/adapters/__init__.py +29 -0
  49. entropic/inference/adapters/base.py +538 -0
  50. entropic/inference/adapters/falcon.py +60 -0
  51. entropic/inference/adapters/qwen2.py +286 -0
  52. entropic/inference/adapters/qwen3.py +127 -0
  53. entropic/inference/adapters/router.py +44 -0
  54. entropic/inference/adapters/smollm3.py +31 -0
  55. entropic/inference/backend.py +53 -0
  56. entropic/inference/llama_cpp.py +457 -0
  57. entropic/inference/orchestrator.py +627 -0
  58. entropic/lsp/__init__.py +21 -0
  59. entropic/lsp/base.py +294 -0
  60. entropic/lsp/clangd_client.py +42 -0
  61. entropic/lsp/manager.py +173 -0
  62. entropic/lsp/pyright_client.py +81 -0
  63. entropic/mcp/__init__.py +10 -0
  64. entropic/mcp/bridge.py +181 -0
  65. entropic/mcp/client.py +187 -0
  66. entropic/mcp/manager.py +396 -0
  67. entropic/mcp/provider.py +119 -0
  68. entropic/mcp/servers/__init__.py +16 -0
  69. entropic/mcp/servers/base.py +211 -0
  70. entropic/mcp/servers/bash.py +166 -0
  71. entropic/mcp/servers/diagnostics.py +154 -0
  72. entropic/mcp/servers/entropic.py +199 -0
  73. entropic/mcp/servers/external.py +750 -0
  74. entropic/mcp/servers/file_tracker.py +124 -0
  75. entropic/mcp/servers/filesystem.py +622 -0
  76. entropic/mcp/servers/git.py +172 -0
  77. entropic/mcp/tools.py +137 -0
  78. entropic/prompts/__init__.py +261 -0
  79. entropic/py.typed +0 -0
  80. entropic/quality/__init__.py +8 -0
  81. entropic/quality/analyzers/__init__.py +17 -0
  82. entropic/quality/analyzers/base.py +88 -0
  83. entropic/quality/analyzers/complexity.py +131 -0
  84. entropic/quality/analyzers/docstrings.py +123 -0
  85. entropic/quality/analyzers/structure.py +122 -0
  86. entropic/quality/analyzers/typing.py +70 -0
  87. entropic/quality/enforcer.py +239 -0
  88. entropic/storage/__init__.py +16 -0
  89. entropic/storage/backend.py +205 -0
  90. entropic/storage/database.py +211 -0
  91. entropic/storage/models.py +140 -0
  92. entropic/storage/session.py +668 -0
  93. entropic/ui/__init__.py +48 -0
  94. entropic/ui/components.py +303 -0
  95. entropic/ui/entropic.tcss +276 -0
  96. entropic/ui/headless.py +324 -0
  97. entropic/ui/presenter.py +318 -0
  98. entropic/ui/themes.py +91 -0
  99. entropic/ui/tui.py +1363 -0
  100. entropic/ui/tui_presenter.py +178 -0
  101. entropic/ui/voice_screen.py +680 -0
  102. entropic/ui/voice_widgets.py +472 -0
  103. entropic/ui/widgets.py +785 -0
  104. entropic/voice/__init__.py +30 -0
  105. entropic/voice/audio_io.py +837 -0
  106. entropic/voice/client.py +514 -0
  107. entropic/voice/context_compactor.py +500 -0
  108. entropic/voice/controller.py +868 -0
  109. entropic/voice/server.py +561 -0
  110. entropic/voice/thinking_audio.py +255 -0
  111. entropic_engine-1.0.0.dist-info/METADATA +220 -0
  112. entropic_engine-1.0.0.dist-info/RECORD +115 -0
  113. entropic_engine-1.0.0.dist-info/WHEEL +5 -0
  114. entropic_engine-1.0.0.dist-info/entry_points.txt +3 -0
  115. entropic_engine-1.0.0.dist-info/top_level.txt +1 -0
entropic/__init__.py ADDED
@@ -0,0 +1,93 @@
1
+ """
2
+ Entropi - Local AI inference engine with multi-tier model orchestration.
3
+
4
+ Public API for library consumers. Install extras for additional features:
5
+ pip install entropic-engine # Core inference engine
6
+ pip install entropic-engine[tui] # Terminal UI application
7
+ pip install entropic-engine[voice] # Voice interface
8
+ """
9
+
10
+ from entropic.config.loader import ConfigLoader, save_permission, validate_config
11
+ from entropic.config.schema import (
12
+ CompactionConfig,
13
+ EntropyConfig,
14
+ GenerationConfig,
15
+ LibraryConfig,
16
+ ModelConfig,
17
+ ModelsConfig,
18
+ RoutingConfig,
19
+ TierConfig,
20
+ )
21
+ from entropic.core.base import (
22
+ GenerationResult,
23
+ Message,
24
+ ModelBackend,
25
+ ModelTier,
26
+ ToolCall,
27
+ ToolProvider,
28
+ ToolResult,
29
+ )
30
+ from entropic.core.engine import AgentEngine, AgentState, EngineCallbacks, LoopConfig
31
+ from entropic.core.logging import setup_logging, setup_model_logger
32
+ from entropic.core.tool_validation import ToolValidationError
33
+ from entropic.inference.adapters import ChatAdapter, get_adapter, register_adapter
34
+ from entropic.inference.orchestrator import BackendFactory, ModelOrchestrator, RoutingResult
35
+ from entropic.mcp.manager import ServerManager
36
+ from entropic.mcp.provider import InProcessProvider
37
+ from entropic.mcp.servers.base import BaseMCPServer, ServerResponse, load_tool_definition
38
+ from entropic.mcp.tools import BaseTool, ToolRegistry
39
+ from entropic.prompts import TierIdentity, load_tier_identity
40
+
41
+ __version__ = "1.0.0"
42
+ __author__ = "Tristan VanFossen"
43
+
44
+ __all__ = [
45
+ # Core types
46
+ "GenerationResult",
47
+ "Message",
48
+ "ModelBackend",
49
+ "ModelTier",
50
+ "ToolCall",
51
+ "ToolProvider",
52
+ "ToolResult",
53
+ # Engine
54
+ "AgentEngine",
55
+ "AgentState",
56
+ "EngineCallbacks",
57
+ "LoopConfig",
58
+ # Logging
59
+ "setup_logging",
60
+ "setup_model_logger",
61
+ # Config
62
+ "ConfigLoader",
63
+ "save_permission",
64
+ "validate_config",
65
+ "CompactionConfig",
66
+ "EntropyConfig",
67
+ "GenerationConfig",
68
+ "LibraryConfig",
69
+ "ModelConfig",
70
+ "ModelsConfig",
71
+ "RoutingConfig",
72
+ "TierConfig",
73
+ # Orchestrator
74
+ "BackendFactory",
75
+ "ModelOrchestrator",
76
+ "RoutingResult",
77
+ # Adapters
78
+ "ChatAdapter",
79
+ "get_adapter",
80
+ "register_adapter",
81
+ # MCP
82
+ "BaseMCPServer",
83
+ "BaseTool",
84
+ "InProcessProvider",
85
+ "ServerManager",
86
+ "ServerResponse",
87
+ "ToolRegistry",
88
+ "ToolValidationError",
89
+ "load_tool_definition",
90
+ # Prompts
91
+ "TierIdentity",
92
+ "load_tier_identity",
93
+ ]
entropic/__main__.py ADDED
@@ -0,0 +1,8 @@
1
+ """
2
+ Allow running as `python -m entropic`.
3
+ """
4
+
5
+ from entropic.cli import main
6
+
7
+ if __name__ == "__main__":
8
+ main()