__init__.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. # -*- coding: utf-8 -*-
  2. """
  3. Trixy Plugin-System.
  4. Enthält das Plugin-Framework mit Versionierung, Abhängigkeiten,
  5. Registry, Hooks, Hot-Reload und Test-Utilities.
  6. """
  7. from trixy_core.plugins.trixy_plugin import TrixyPlugin
  8. from trixy_core.plugins.plugin_manager import PluginManager
  9. # Versionierung
  10. from trixy_core.plugins.versioning import (
  11. SemanticVersion,
  12. VersionRange,
  13. VersionChecker,
  14. CompatibilityLevel,
  15. CompatibilityResult,
  16. parse_version,
  17. parse_range,
  18. )
  19. # Abhängigkeiten
  20. from trixy_core.plugins.dependencies import (
  21. Dependency,
  22. DependencyNode,
  23. DependencyGraph,
  24. DependencyResolver,
  25. ResolutionResult,
  26. ResolutionError,
  27. CycleError,
  28. )
  29. # Registry
  30. from trixy_core.plugins.registry import (
  31. PluginManifest,
  32. PluginCapability,
  33. PluginDiscovery,
  34. DiscoveryResult,
  35. PluginRegistry,
  36. PluginInfo,
  37. RegistryEntry,
  38. load_manifest,
  39. save_manifest,
  40. )
  41. # Hooks
  42. from trixy_core.plugins.hooks import (
  43. PluginHook,
  44. HookPriority,
  45. HookResult,
  46. HookHandler,
  47. HookRegistry,
  48. HookInfo,
  49. )
  50. # Hot-Reload
  51. from trixy_core.plugins.hotreload import (
  52. FileWatcher,
  53. WatchEvent,
  54. WatchEventType,
  55. PluginHotReloader,
  56. ReloadResult,
  57. ReloadConfig,
  58. )
  59. # Testing
  60. from trixy_core.plugins.testing import (
  61. PluginTestHarness,
  62. TestContext,
  63. MockApplication,
  64. MockEventManager,
  65. MockSatelliteManager,
  66. MockPlugin,
  67. create_test_plugin_dir,
  68. create_test_manifest,
  69. cleanup_test_dir,
  70. PluginTestFixture,
  71. )
  72. # Extensions
  73. from trixy_core.plugins.extensions import (
  74. ExtensionPoint,
  75. ExtensionRegistry,
  76. Extension,
  77. ExtensionInfo,
  78. ExtensionState,
  79. get_global_registry,
  80. )
  81. from trixy_core.plugins.extensions.points import (
  82. # Music
  83. MusicSourceExtension,
  84. MusicDecoderExtension,
  85. MusicOutputExtension,
  86. setup_music_extension_points,
  87. MUSIC_SOURCE_POINT,
  88. MUSIC_DECODER_POINT,
  89. MUSIC_OUTPUT_POINT,
  90. # Network
  91. EncryptionExtension,
  92. ProtocolExtension,
  93. CompressionExtension,
  94. setup_network_extension_points,
  95. NETWORK_ENCRYPTION_POINT,
  96. NETWORK_PROTOCOL_POINT,
  97. NETWORK_COMPRESSION_POINT,
  98. # Conversation
  99. IntentHandlerExtension,
  100. STTExtension,
  101. TTSExtension,
  102. NLPExtension,
  103. setup_conversation_extension_points,
  104. INTENT_HANDLER_POINT,
  105. STT_POINT,
  106. TTS_POINT,
  107. NLP_POINT,
  108. )
  109. __all__ = [
  110. # Core
  111. "TrixyPlugin",
  112. "PluginManager",
  113. # Versionierung
  114. "SemanticVersion",
  115. "VersionRange",
  116. "VersionChecker",
  117. "CompatibilityLevel",
  118. "CompatibilityResult",
  119. "parse_version",
  120. "parse_range",
  121. # Abhängigkeiten
  122. "Dependency",
  123. "DependencyNode",
  124. "DependencyGraph",
  125. "DependencyResolver",
  126. "ResolutionResult",
  127. "ResolutionError",
  128. "CycleError",
  129. # Registry
  130. "PluginManifest",
  131. "PluginCapability",
  132. "PluginDiscovery",
  133. "DiscoveryResult",
  134. "PluginRegistry",
  135. "PluginInfo",
  136. "RegistryEntry",
  137. "load_manifest",
  138. "save_manifest",
  139. # Hooks
  140. "PluginHook",
  141. "HookPriority",
  142. "HookResult",
  143. "HookHandler",
  144. "HookRegistry",
  145. "HookInfo",
  146. # Hot-Reload
  147. "FileWatcher",
  148. "WatchEvent",
  149. "WatchEventType",
  150. "PluginHotReloader",
  151. "ReloadResult",
  152. "ReloadConfig",
  153. # Testing
  154. "PluginTestHarness",
  155. "TestContext",
  156. "MockApplication",
  157. "MockEventManager",
  158. "MockSatelliteManager",
  159. "MockPlugin",
  160. "create_test_plugin_dir",
  161. "create_test_manifest",
  162. "cleanup_test_dir",
  163. "PluginTestFixture",
  164. # Extensions Core
  165. "ExtensionPoint",
  166. "ExtensionRegistry",
  167. "Extension",
  168. "ExtensionInfo",
  169. "ExtensionState",
  170. "get_global_registry",
  171. # Music Extensions
  172. "MusicSourceExtension",
  173. "MusicDecoderExtension",
  174. "MusicOutputExtension",
  175. "setup_music_extension_points",
  176. "MUSIC_SOURCE_POINT",
  177. "MUSIC_DECODER_POINT",
  178. "MUSIC_OUTPUT_POINT",
  179. # Network Extensions
  180. "EncryptionExtension",
  181. "ProtocolExtension",
  182. "CompressionExtension",
  183. "setup_network_extension_points",
  184. "NETWORK_ENCRYPTION_POINT",
  185. "NETWORK_PROTOCOL_POINT",
  186. "NETWORK_COMPRESSION_POINT",
  187. # Conversation Extensions
  188. "IntentHandlerExtension",
  189. "STTExtension",
  190. "TTSExtension",
  191. "NLPExtension",
  192. "setup_conversation_extension_points",
  193. "INTENT_HANDLER_POINT",
  194. "STT_POINT",
  195. "TTS_POINT",
  196. "NLP_POINT",
  197. ]