feat(stage14): implement REST API for research lifecycle
- POST /v1/research — start research (non-blocking, background pipeline)
- GET /v1/research/{id} — research metadata
- GET /v1/research/{id}/status — detailed state machine status
- GET /v1/research/{id}/sources — sources list
- GET /v1/research/{id}/claims — claims list
- GET /v1/research/{id}/evidence — evidence scores
- GET /v1/research/{id}/report — research report
- DELETE /v1/research/{id} — delete research (non-completed)
- GET /v1/research — paginated list of all research runs
Depth budgets (quick/normal/deep) control only resource limits.
In-memory store for now, to be replaced with PostgreSQL later.
Router mounted in main.py as tag "research-api".
This commit is contained in:
@@ -111,6 +111,10 @@ def create_app() -> FastAPI:
|
||||
from nsct.api.audio import router as audio_router
|
||||
app.include_router(audio_router, tags=["audio"])
|
||||
|
||||
# Mount REST API router (Stage 14)
|
||||
from nsct.api.rest_research import router as rest_research_router
|
||||
app.include_router(rest_research_router, tags=["research"])
|
||||
|
||||
return app
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user