314dc03b0d
Moves the orchestrator into bot_bottle/orchestrator/ so one install gets everything. Entry point is now `python -m bot_bottle.orchestrator run`. - Add bot_bottle/orchestrator/ with all 14 modules (verbatim move; internal imports were already relative, so no changes inside orchestrator modules) - Rewrite bootstrap.py: remove the lazy bot_bottle import guard, use direct relative imports from ..contrib.* - Add bot_bottle/contrib/forge/base.py: ScopedForge (read-anywhere / write-scoped) - Add bot_bottle/contrib/gitea/client.py: GiteaClient + GiteaForge (urllib.request only) - Add bot_bottle/contrib/gitea/forge_state.py: ForgeState + SqliteForgeStateStore - Add tests/unit/orchestrator/ (82 tests: 63 migrated + 19 new for contrib modules) Closes #321
9 lines
430 B
Python
9 lines
430 B
Python
"""bot-bottle-orchestrator: forge-native orchestration for bot-bottle.
|
|
|
|
The package is stdlib-only. The core (events, targeting, lifecycle,
|
|
watchdog, sidecar, webhook) depends on its collaborators — a forge, a
|
|
state store, a bottle runner — through duck-typed interfaces, so it runs
|
|
and tests without bot-bottle installed. `bootstrap` is the single module
|
|
that imports `bot_bottle` and wires the concrete implementations.
|
|
"""
|