1"""Internal subsystem powering the ``plain postgres sync`` / ``converge`` /
2``schema`` commands.
3
4This is not a public import API. End users drive convergence through those CLI
5commands, not by importing from here, and it is intentionally absent from the
6top-level ``plain.postgres`` surface. The names re-exported below exist for the
7rest of ``plain.postgres`` (the CLI) to use; the drift types, ``DriftKind``,
8the ``Fix`` classes, and the ``Status`` records are convergence-internal and
9live in the ``.analysis`` / ``.fixes`` / ``.planning`` submodules.
10"""
11
12from .analysis import (
13 ModelAnalysis,
14 ReadOnlyConnectionError,
15 analyze_model,
16)
17from .planning import (
18 ConvergencePlan,
19 ConvergenceResult,
20 FixResult,
21 PlanItem,
22 can_auto_fix,
23 execute_plan,
24 plan_convergence,
25 plan_model_convergence,
26)
27
28__all__ = [
29 "ConvergencePlan",
30 "ConvergenceResult",
31 "FixResult",
32 "ModelAnalysis",
33 "PlanItem",
34 "ReadOnlyConnectionError",
35 "analyze_model",
36 "can_auto_fix",
37 "execute_plan",
38 "plan_convergence",
39 "plan_model_convergence",
40]