exlab_wizard.api.routers.staging#
/staging router. Backend Spec §13.7, §13.8.
Four endpoints back the orchestrator’s staging panel:
GET /staging– enumerate every staged run with its lifecycle state, file count, byte total, and elapsed time since last activity.POST /staging/{run_path}/force-sync– enqueue an immediate NAS sync for a specific run (used when the operator wants to skip the watcher’s polling latency).POST /staging/{run_path}/clear– delete the local staging copy of a sync-verified run (the manual-mode action from §13.7).POST /staging/clear-verified– bulk-clear every sync-verified staged run (Redesign §4.6 footer action).
All four return 503 with {"code": "internal_error"} when no
Config is wired on the app (Redesign §3.1 made the orchestrator
pipeline unconditional, so the legacy orchestrator.enabled toggle
is gone).
Functions
Construct the |
Classes
|
|
|
|
|
|
|
|
|
|
|
One staging-panel row. |
|
|
- class exlab_wizard.api.routers.staging.ClearResponse(**data)[source]#
Bases:
BaseModelPOST /staging/{run_path}/clearresponse.- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class exlab_wizard.api.routers.staging.ClearVerifiedResponse(**data)[source]#
Bases:
BaseModelPOST /staging/clear-verifiedresponse (Redesign §4.6).- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class exlab_wizard.api.routers.staging.ForceSyncResponse(**data)[source]#
Bases:
BaseModelPOST /staging/{run_path}/force-syncresponse.- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class exlab_wizard.api.routers.staging.KeepLocalRequest(**data)[source]#
Bases:
BaseModelPOST /staging/{run_path}/keep-localrequest body.Operator-free per-file NAS sync design (2026-05-21): the operator toggles a file’s
keep_localflag from the file-list context menu.relative_pathis the run-relative POSIX path of the file within the run directory;keep_localis the desired flag value.- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class exlab_wizard.api.routers.staging.KeepLocalResponse(**data)[source]#
Bases:
BaseModelPOST /staging/{run_path}/keep-localresponse.- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class exlab_wizard.api.routers.staging.StagedRunRow(**data)[source]#
Bases:
BaseModelOne staging-panel row. Backend Spec §13.8.
- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class exlab_wizard.api.routers.staging.StagingListResponse(**data)[source]#
Bases:
BaseModelGET /stagingresponse.- Parameters:
data (
Any)
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- runs: list[StagedRunRow]#