refactorai-cli 0.7.14__tar.gz → 0.7.15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/PKG-INFO +1 -1
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/pyproject.toml +1 -1
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/__init__.py +1 -1
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/run_cmds.py +11 -2
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/runtime_proxy_cmds.py +49 -10
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli.egg-info/PKG-INFO +1 -1
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/README.md +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/auth.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/client.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/cloud_rr.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/__init__.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/account_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/auth_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/branch_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/cloud_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/engine_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/hook_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/model_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/policy_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/pre_push_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/request_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/rules_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/runtime_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/setup_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/toolchains_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/watch_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/workspace_cmds.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commit_queue.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commit_telemetry.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/control_plane.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/credentials.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/dotenv_loader.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/git_scope.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/local_constitution.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/local_engine_runtime.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/local_paths.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/main.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/mode_sync.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/model_policy.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/pre_push_gate.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/refactor_branch_store.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/review_runner.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/runtime_manager.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/settings.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/setup_flow.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/watch_ledger.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/watch_state.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/watch_supervisor.py +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli.egg-info/SOURCES.txt +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli.egg-info/dependency_links.txt +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli.egg-info/entry_points.txt +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli.egg-info/requires.txt +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli.egg-info/top_level.txt +0 -0
- {refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/setup.cfg +0 -0
|
@@ -119,7 +119,6 @@ from refactor_core.execution_variant import (
|
|
|
119
119
|
is_cloud_execution,
|
|
120
120
|
platform_inference_mode,
|
|
121
121
|
resolve_execution_variant,
|
|
122
|
-
uses_platform_inference,
|
|
123
122
|
verification_location,
|
|
124
123
|
)
|
|
125
124
|
|
|
@@ -5341,7 +5340,17 @@ def doctor(
|
|
|
5341
5340
|
_report_dotenv(dotenv, project_root)
|
|
5342
5341
|
|
|
5343
5342
|
execution_variant = _execution_variant(constitution)
|
|
5344
|
-
|
|
5343
|
+
# Route by ENGINE LOCATION (docs/46), matching review/code dispatch. Every
|
|
5344
|
+
# server-engine variant (local_byok / local_managed / cloud_byok /
|
|
5345
|
+
# cloud_managed) runs its engine on the Refactor server, so it is diagnosed
|
|
5346
|
+
# via the platform path and must NEVER import engine-only modules -- those
|
|
5347
|
+
# ship in the private engine wheel and are absent from a public pip/pipx
|
|
5348
|
+
# install. Only the host-engine variants (local_heuristic / local_model)
|
|
5349
|
+
# fall through to the engine-backed local doctor below. Previously this
|
|
5350
|
+
# branched on ``uses_platform_inference`` (False for local_byok), which sent
|
|
5351
|
+
# local_byok down the local path and blew up importing
|
|
5352
|
+
# ``refactor_core.execution`` on a client-only install.
|
|
5353
|
+
if engine_is_remote(execution_variant):
|
|
5345
5354
|
_cloud_doctor(
|
|
5346
5355
|
project_root=project_root,
|
|
5347
5356
|
constitution=constitution,
|
{refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli/commands/runtime_proxy_cmds.py
RENAMED
|
@@ -122,12 +122,50 @@ def _active_runtime_artifact() -> Path:
|
|
|
122
122
|
return artifact
|
|
123
123
|
|
|
124
124
|
|
|
125
|
+
# Subpackages that ship ONLY in the private engine wheel (R21 core split) and are
|
|
126
|
+
# intentionally absent from a public pip/pipx install of ``refactorai-core``.
|
|
127
|
+
_ENGINE_ONLY_PREFIXES = (
|
|
128
|
+
"refactor_core.execution",
|
|
129
|
+
"refactor_core.providers",
|
|
130
|
+
"refactor_core.enginecore",
|
|
131
|
+
"refactor_core.codeintel",
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
def _is_engine_only_module(exc: ModuleNotFoundError) -> bool:
|
|
136
|
+
"""True when the missing module is an engine-only subpackage (not version skew)."""
|
|
137
|
+
name = exc.name or ""
|
|
138
|
+
return any(name == p or name.startswith(p + ".") for p in _ENGINE_ONLY_PREFIXES)
|
|
139
|
+
|
|
140
|
+
|
|
125
141
|
def _is_core_too_old(exc: ModuleNotFoundError) -> bool:
|
|
126
|
-
"""True when a missing module points at an outdated installed ``refactor_core``.
|
|
127
|
-
|
|
142
|
+
"""True when a missing module points at an outdated installed ``refactor_core``.
|
|
143
|
+
|
|
144
|
+
Engine-only subpackages are excluded: their absence in a public install is by
|
|
145
|
+
design, not a version mismatch (see :func:`_print_missing_module`).
|
|
146
|
+
"""
|
|
147
|
+
return (exc.name or "").startswith("refactor_core") and not _is_engine_only_module(exc)
|
|
128
148
|
|
|
129
149
|
|
|
130
|
-
def
|
|
150
|
+
def _print_missing_module(exc: ModuleNotFoundError) -> None:
|
|
151
|
+
"""Print an actionable message for a missing ``refactor_core`` module.
|
|
152
|
+
|
|
153
|
+
Distinguishes two very different causes:
|
|
154
|
+
- engine-only module absent from a public install (a routing/mode issue), vs
|
|
155
|
+
- a genuinely outdated core (version skew -> upgrade).
|
|
156
|
+
"""
|
|
157
|
+
if _is_engine_only_module(exc):
|
|
158
|
+
console.print(
|
|
159
|
+
"[red]This command needs the local engine, which is not part of the "
|
|
160
|
+
"public install.[/red]\n"
|
|
161
|
+
f"Missing engine module: [bold]{exc.name}[/bold]\n"
|
|
162
|
+
"Only local_heuristic / local_model run the engine on this machine "
|
|
163
|
+
"(via the runtime artifact). Server-engine modes (local_byok / "
|
|
164
|
+
"local_managed / cloud_byok / cloud_managed) should not reach this "
|
|
165
|
+
"path — check the project's execution mode in refactor.config or the "
|
|
166
|
+
"web UI, then rerun. If the mode is correct, this is a routing bug."
|
|
167
|
+
)
|
|
168
|
+
return
|
|
131
169
|
console.print(
|
|
132
170
|
"[red]Installed refactor core is too old for this CLI.[/red]\n"
|
|
133
171
|
f"Missing module: [bold]{exc.name}[/bold]\n"
|
|
@@ -151,8 +189,8 @@ def _delegate_to_run_cmds(command_name: str, passthrough_args: list[str]) -> Non
|
|
|
151
189
|
try:
|
|
152
190
|
from refactorai_cli.commands import run_cmds
|
|
153
191
|
except ModuleNotFoundError as exc:
|
|
154
|
-
if
|
|
155
|
-
|
|
192
|
+
if (exc.name or "").startswith("refactor_core"):
|
|
193
|
+
_print_missing_module(exc)
|
|
156
194
|
raise typer.Exit(code=1) from exc
|
|
157
195
|
raise
|
|
158
196
|
|
|
@@ -181,11 +219,12 @@ def _delegate_to_run_cmds(command_name: str, passthrough_args: list[str]) -> Non
|
|
|
181
219
|
if code:
|
|
182
220
|
raise typer.Exit(code=code) from exc
|
|
183
221
|
except ModuleNotFoundError as exc:
|
|
184
|
-
# A refactor_core submodule missing at call time
|
|
185
|
-
#
|
|
186
|
-
#
|
|
187
|
-
|
|
188
|
-
|
|
222
|
+
# A refactor_core submodule missing at call time can mean two things:
|
|
223
|
+
# version skew (installed core predates this CLI) or an engine-only module
|
|
224
|
+
# reached on a client-only install (a routing/mode issue). Surface the
|
|
225
|
+
# right actionable hint instead of exiting silently.
|
|
226
|
+
if (exc.name or "").startswith("refactor_core"):
|
|
227
|
+
_print_missing_module(exc)
|
|
189
228
|
else:
|
|
190
229
|
console.print(f"[red]{command_name} failed:[/red] {exc}")
|
|
191
230
|
raise typer.Exit(code=1) from exc
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{refactorai_cli-0.7.14 → refactorai_cli-0.7.15}/refactorai_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|