Files
wehub-resource-sync e9a2f726c9
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / test (3.13) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:29:51 +08:00

46 lines
1.4 KiB
Python

"""Integration registry for external coding tools."""
from omlx.integrations.base import Integration, IntegrationContext
from omlx.integrations.claude import ClaudeCodeIntegration
from omlx.integrations.codex import CodexIntegration
from omlx.integrations.codex_app import CodexAppIntegration
from omlx.integrations.copilot import CopilotIntegration
from omlx.integrations.hermes import HermesIntegration
from omlx.integrations.openclaw import OpenClawIntegration
from omlx.integrations.opencode import OpenCodeIntegration
from omlx.integrations.pi import PiIntegration
INTEGRATIONS: dict[str, Integration] = {
"claude": ClaudeCodeIntegration(),
"codex": CodexIntegration(),
"codex_app": CodexAppIntegration(),
"opencode": OpenCodeIntegration(),
"openclaw": OpenClawIntegration(),
"hermes": HermesIntegration(),
"pi": PiIntegration(),
"copilot": CopilotIntegration(),
}
def get_integration(name: str) -> Integration | None:
"""Get an integration by name."""
return INTEGRATIONS.get(name)
def list_integrations() -> list[Integration]:
"""List all available integrations."""
return list(INTEGRATIONS.values())
__all__ = [
"Integration",
"IntegrationContext",
"ClaudeCodeIntegration",
"CodexAppIntegration",
"CopilotIntegration",
"HermesIntegration",
"INTEGRATIONS",
"get_integration",
"list_integrations",
]