26 lines
770 B
Python
26 lines
770 B
Python
"""Import-safe install metadata types for harness plugins."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class HarnessInstallSpec:
|
|
"""Install + auth metadata for one coding-harness CLI.
|
|
|
|
This type intentionally lives outside :mod:`omnigent.onboarding` so
|
|
optional harness plugins can declare setup metadata during entry-point
|
|
discovery without importing the onboarding/provider stack.
|
|
"""
|
|
|
|
display: str
|
|
binary: str
|
|
package: str | None
|
|
login_args: tuple[str, ...] | None = None
|
|
logout_args: tuple[str, ...] | None = None
|
|
status_args: tuple[str, ...] | None = None
|
|
install_hint: str | None = None
|
|
login_status_key: str | None = None
|
|
auth_hint: str | None = None
|