DevodG commited on
Commit
3522eb1
·
1 Parent(s): 15956a7

Fix imports in backend/app/main.py to use relative imports

Browse files
Files changed (1) hide show
  1. backend/app/main.py +39 -39
backend/app/main.py CHANGED
@@ -8,45 +8,45 @@ from fastapi.middleware.cors import CORSMiddleware
8
  from fastapi.responses import JSONResponse
9
 
10
  from .schemas import UserTask, AgentRunRequest, PromptUpdateRequest
11
- from app.graph import run_case
12
- from app.memory import save_case
13
- from app.config import (
14
  APP_VERSION,
15
  MEMORY_DIR,
16
  PROMPTS_DIR,
17
  load_prompt,
18
  PRIMARY_PROVIDER,
19
  )
20
- from app.services.case_store import list_cases, get_case, delete_case, memory_stats
21
- from app.services.prompt_store import list_prompts, get_prompt, update_prompt
22
- from app.services.health_service import deep_health
23
- from app.services.agent_registry import list_agents, get_agent, run_single_agent
24
- from app.services.query_classifier import QueryClassifier, QueryType
25
- from app.services.cache_manager import IntelligentCacheManager
26
- from app.services.learning_filter import LearningFilter
27
- from app.services.adaptive_intelligence import adaptive_intelligence
28
- from app.services.memory_graph import MemoryGraph
29
- from app.services.daemon import JanusDaemon
30
- from app.services.adaptive_pipeline import adaptive_pipeline
31
- from app.services.circadian_rhythm import CircadianRhythm
32
- from app.services.dream_processor import DreamCycleProcessor
33
- from app.services.context_engine import context_engine
34
- from app.services.reflex_layer import reflex_layer
35
- from app.services.self_reflection import self_reflection
36
- from app.services.self_training import self_training_engine
37
- from app.routers.simulation import router as simulation_router
38
- from app.routers.learning import (
39
  router as learning_router,
40
  init_learning_services,
41
  start_scheduler_background,
42
  )
43
- from app.routers.sentinel import router as sentinel_router
44
- from app.routers.finance import router as finance_router
45
- from app.config import get_config, FEATURES, ensure_data_dirs
46
- from app.services.dataset_persistence import load_on_startup, save_on_shutdown
47
- from app.services.observation import scorer, get_tracer
48
- from app.services.curation import curator, hf_pusher
49
- from app.services.domain_classifier import domain_classifier
50
  import uuid
51
 
52
  logging.basicConfig(level=logging.INFO)
@@ -55,7 +55,7 @@ logger = logging.getLogger(__name__)
55
  app = FastAPI(title="Janus", version=APP_VERSION)
56
 
57
  # Initialize domain packs
58
- from app.domain_packs.init_packs import init_domain_packs
59
 
60
  init_domain_packs()
61
 
@@ -171,7 +171,7 @@ async def on_startup():
171
  # Step 5: Start sentinel scheduler (feature-gated)
172
  if FEATURES.get("sentinel", False):
173
  try:
174
- from app.services.sentinel.scheduler import start_sentinel_scheduler
175
 
176
  start_sentinel_scheduler()
177
  logger.info("Sentinel scheduler started")
@@ -215,7 +215,7 @@ def health_deep():
215
  @app.get("/health/features")
216
  def feature_status():
217
  """Get current feature flag status."""
218
- from app.config import get_feature_status
219
 
220
  return get_feature_status()
221
 
@@ -285,7 +285,7 @@ def submit_correction(data: dict):
285
  @app.post("/self/learn")
286
  def trigger_learning(max_gaps: int = 3, max_datasets: int = 2, max_samples: int = 50):
287
  """Trigger autonomous learning cycle — search HF datasets for gaps."""
288
- from app.services.autonomous_learner import autonomous_learner
289
 
290
  result = autonomous_learner.run_learning_cycle(
291
  max_gaps=max_gaps,
@@ -298,7 +298,7 @@ def trigger_learning(max_gaps: int = 3, max_datasets: int = 2, max_samples: int
298
  @app.get("/self/learning-status")
299
  def get_learning_status():
300
  """Get autonomous learner status."""
301
- from app.services.autonomous_learner import autonomous_learner
302
 
303
  return autonomous_learner.get_status()
304
 
@@ -306,7 +306,7 @@ def get_learning_status():
306
  @app.get("/self/fine-tuning")
307
  def get_fine_tuning_stats():
308
  """Get fine-tuning dataset statistics."""
309
- from app.services.fine_tuning_builder import fine_tuning_builder
310
 
311
  return fine_tuning_builder.get_stats()
312
 
@@ -314,7 +314,7 @@ def get_fine_tuning_stats():
314
  @app.get("/self/datasets")
315
  def get_available_datasets(topic: str = None):
316
  """Search HF Hub for relevant datasets."""
317
- from app.services.hf_dataset_searcher import hf_dataset_searcher
318
 
319
  if topic:
320
  return {"datasets": hf_dataset_searcher.search_for_gap(topic)}
@@ -330,7 +330,7 @@ def get_training_report():
330
  @app.get("/self/continuous-training")
331
  def get_continuous_training_status():
332
  """Get continuous self-training status."""
333
- from app.services.continuous_training import continuous_self_trainer
334
 
335
  return continuous_self_trainer.get_status()
336
 
@@ -338,7 +338,7 @@ def get_continuous_training_status():
338
  @app.post("/self/continuous-training/run")
339
  def trigger_continuous_training():
340
  """Manually trigger a continuous training cycle."""
341
- from app.services.continuous_training import continuous_self_trainer
342
 
343
  return continuous_self_trainer.run_training_cycle()
344
 
@@ -465,7 +465,7 @@ def _log_trace(
465
 
466
  def _fire_and_forget_learning(payload: dict):
467
  """Fire-and-forget learning from a completed case."""
468
- from app.routers.learning import learning_engine as _le
469
 
470
  if _le:
471
  try:
 
8
  from fastapi.responses import JSONResponse
9
 
10
  from .schemas import UserTask, AgentRunRequest, PromptUpdateRequest
11
+ from .graph import run_case
12
+ from .memory import save_case
13
+ from .config import (
14
  APP_VERSION,
15
  MEMORY_DIR,
16
  PROMPTS_DIR,
17
  load_prompt,
18
  PRIMARY_PROVIDER,
19
  )
20
+ from .services.case_store import list_cases, get_case, delete_case, memory_stats
21
+ from .services.prompt_store import list_prompts, get_prompt, update_prompt
22
+ from .services.health_service import deep_health
23
+ from .services.agent_registry import list_agents, get_agent, run_single_agent
24
+ from .services.query_classifier import QueryClassifier, QueryType
25
+ from .services.cache_manager import IntelligentCacheManager
26
+ from .services.learning_filter import LearningFilter
27
+ from .services.adaptive_intelligence import adaptive_intelligence
28
+ from .services.memory_graph import MemoryGraph
29
+ from .services.daemon import JanusDaemon
30
+ from .services.adaptive_pipeline import adaptive_pipeline
31
+ from .services.circadian_rhythm import CircadianRhythm
32
+ from .services.dream_processor import DreamCycleProcessor
33
+ from .services.context_engine import context_engine
34
+ from .services.reflex_layer import reflex_layer
35
+ from .services.self_reflection import self_reflection
36
+ from .services.self_training import self_training_engine
37
+ from .routers.simulation import router as simulation_router
38
+ from .routers.learning import (
39
  router as learning_router,
40
  init_learning_services,
41
  start_scheduler_background,
42
  )
43
+ from .routers.sentinel import router as sentinel_router
44
+ from .routers.finance import router as finance_router
45
+ from .config import get_config, FEATURES, ensure_data_dirs
46
+ from .services.dataset_persistence import load_on_startup, save_on_shutdown
47
+ from .services.observation import scorer, get_tracer
48
+ from .services.curation import curator, hf_pusher
49
+ from .services.domain_classifier import domain_classifier
50
  import uuid
51
 
52
  logging.basicConfig(level=logging.INFO)
 
55
  app = FastAPI(title="Janus", version=APP_VERSION)
56
 
57
  # Initialize domain packs
58
+ from .domain_packs.init_packs import init_domain_packs
59
 
60
  init_domain_packs()
61
 
 
171
  # Step 5: Start sentinel scheduler (feature-gated)
172
  if FEATURES.get("sentinel", False):
173
  try:
174
+ from .services.sentinel.scheduler import start_sentinel_scheduler
175
 
176
  start_sentinel_scheduler()
177
  logger.info("Sentinel scheduler started")
 
215
  @app.get("/health/features")
216
  def feature_status():
217
  """Get current feature flag status."""
218
+ from .config import get_feature_status
219
 
220
  return get_feature_status()
221
 
 
285
  @app.post("/self/learn")
286
  def trigger_learning(max_gaps: int = 3, max_datasets: int = 2, max_samples: int = 50):
287
  """Trigger autonomous learning cycle — search HF datasets for gaps."""
288
+ from .services.autonomous_learner import autonomous_learner
289
 
290
  result = autonomous_learner.run_learning_cycle(
291
  max_gaps=max_gaps,
 
298
  @app.get("/self/learning-status")
299
  def get_learning_status():
300
  """Get autonomous learner status."""
301
+ from .services.autonomous_learner import autonomous_learner
302
 
303
  return autonomous_learner.get_status()
304
 
 
306
  @app.get("/self/fine-tuning")
307
  def get_fine_tuning_stats():
308
  """Get fine-tuning dataset statistics."""
309
+ from .services.fine_tuning_builder import fine_tuning_builder
310
 
311
  return fine_tuning_builder.get_stats()
312
 
 
314
  @app.get("/self/datasets")
315
  def get_available_datasets(topic: str = None):
316
  """Search HF Hub for relevant datasets."""
317
+ from .services.hf_dataset_searcher import hf_dataset_searcher
318
 
319
  if topic:
320
  return {"datasets": hf_dataset_searcher.search_for_gap(topic)}
 
330
  @app.get("/self/continuous-training")
331
  def get_continuous_training_status():
332
  """Get continuous self-training status."""
333
+ from .services.continuous_training import continuous_self_trainer
334
 
335
  return continuous_self_trainer.get_status()
336
 
 
338
  @app.post("/self/continuous-training/run")
339
  def trigger_continuous_training():
340
  """Manually trigger a continuous training cycle."""
341
+ from .services.continuous_training import continuous_self_trainer
342
 
343
  return continuous_self_trainer.run_training_cycle()
344
 
 
465
 
466
  def _fire_and_forget_learning(payload: dict):
467
  """Fire-and-forget learning from a completed case."""
468
+ from .routers.learning import learning_engine as _le
469
 
470
  if _le:
471
  try: