Add a Confluence documentation lane to the Plane-2 pipeline, flag-gated behind AGENT_TEAM_CONFLUENCE_ENABLED (default off; daemon behavior unchanged when off). - confluence/client.py: OAuth 2LO + Basic REST client, dry-run-default writes - confluence/mermaid.py: vendored ADF-only Mermaid editor (macro-count + revert-diff guards, dry-run default) - nodes/confluence_writer.py(+_llm): conf_draft -> conf_gate -> conf_write, both direct (task_kind=confluence) and post-build documentation flows - task_model/graph/coordinator: new phases, state channels, route_after_intake, CONFLUENCE_APPROVAL_KIND gate delivery, task_kind forwarding - db schema v5: widen pending_questions kind CHECK (atomic rebuild) - tests for client, mermaid, writer node, ledger v5, coordinator gate, e2e
29 lines
797 B
Python
29 lines
797 B
Python
"""Confluence client seam for the durable doc-update pipeline.
|
|
|
|
Ports the OAuth/Basic auth seam from the security-review bash checker
|
|
(``checkers/confluence-doc.sh``) into a typed, dependency-injectable
|
|
:class:`~agent_team.confluence.client.ConfluenceClient`. The HTTP transport is
|
|
a protocol so unit tests inject an in-memory fake (no live network), and
|
|
``update_page`` defaults to dry-run so a planned change is producible without
|
|
mutating Confluence.
|
|
"""
|
|
|
|
from agent_team.confluence.client import (
|
|
ConfluenceAuth,
|
|
ConfluenceClient,
|
|
ConfluenceError,
|
|
HttpClient,
|
|
PlannedPageUpdate,
|
|
body_diff,
|
|
init_auth,
|
|
)
|
|
|
|
__all__ = [
|
|
"ConfluenceAuth",
|
|
"ConfluenceClient",
|
|
"ConfluenceError",
|
|
"HttpClient",
|
|
"PlannedPageUpdate",
|
|
"body_diff",
|
|
"init_auth",
|
|
]
|