unsloth/studio/backend
Daniel Han 6403846bbe Studio: spoof-aware Codex availability probe + autouse fixture
When ``UNSLOTH_CODEX_SPOOF=1`` is exported (the credit-free dev / CI
path the previous commit added), the in-process spoof IS the Codex
SDK and a real ``codex`` CLI is irrelevant. The status endpoint at
``/api/codex/status`` used to gate ``installed`` on the real CLI +
real SDK only, which made the frontend hide the Codex provider in
the connections dropdown even when the spoof was active. Now both
``_sdk_importable`` and ``probe_codex_availability`` short-circuit on
``codex_spoof.is_spoof_enabled()`` so the provider becomes visible
under the spoof. ``installed=True``, ``cli_path="<spoof>"``,
``logged_in=True``, ``version="spoof"`` -- a sentinel that lets devs
read off "yes I am under the spoof" at a glance.

Real production code path (no spoof flag) is unchanged: still gates
on bool(cli_path) AND sdk_ok the same as round 6.

Tests: added an autouse fixture in ``test_codex_provider.py`` that
clears ``UNSLOTH_CODEX_SPOOF`` before every test so the existing
availability / import gating tests are not polluted when a dev runs
the suite with the flag exported. The spoof-targeted tests still
call ``monkeypatch.setenv(...)`` to flip it back on inside their own
scope. 69/69 pass with and without the env flag.
2026-05-27 14:44:15 +00:00
..
assets Add Qwen3.6 inference defaults for Studio (#5065) 2026-04-16 11:42:42 -07:00
auth studio: security and hardening pass (auth rate-limit, sandbox, path containment, schema validation, headers) (#5375) 2026-05-13 06:12:18 -07:00
core Studio: spoof-aware Codex availability probe + autouse fixture 2026-05-27 14:44:15 +00:00
loggers Studio: stop truncating long log lines as suspected base64 (#5335) 2026-05-08 13:07:18 +04:00
models Merge remote-tracking branch 'origin/main' into feat/codex-provider 2026-05-27 14:10:37 +00:00
plugins fix(gh_client): fail fast on 401/403 auth errors instead of retrying forever (#5325) (#5329) 2026-05-08 21:57:41 +04:00
requirements Studio: add remote MCP server support (#5750) 2026-05-27 07:01:11 -07:00
routes Merge remote-tracking branch 'origin/main' into feat/codex-provider 2026-05-27 14:10:37 +00:00
state unsloth run: add --enable-tools/--disable-tools server-side tool policy (#5277) 2026-05-05 12:45:15 +04:00
storage Studio: add remote MCP server support (#5750) 2026-05-27 07:01:11 -07:00
tests Studio: spoof-aware Codex availability probe + autouse fixture 2026-05-27 14:44:15 +00:00
utils Studio: add configurable CPU thread pool limit (#5760) 2026-05-27 05:09:34 -07:00
__init__.py Final cleanup 2026-03-12 18:28:04 +00:00
_platform_compat.py Fix Studio crash on Anaconda/conda-forge Python (#4484) 2026-03-22 05:36:55 -07:00
colab.py Fix/studio colab button message: Add fallback message for Colab Studio button when proxy URL fails (#4866) 2026-04-05 21:57:45 -07:00
main.py Merge remote-tracking branch 'origin/main' into feat/codex-provider 2026-05-27 14:10:37 +00:00
run.py Studio: add configurable CPU thread pool limit (#5760) 2026-05-27 05:09:34 -07:00
startup_banner.py Studio: stop hint, Uvicorn log rename, reachability check + Mac UI CI retry hardening (#5503) 2026-05-17 07:44:06 -07:00