| LOW | backend/app/routers/generate.py | 192 | def _is_openai_quota_exhausted_error(message: str) -> bool: |
| LOW | backend/app/routers/generate.py | 202 | def _normalize_generation_error( |
| LOW | backend/app/routers/generate.py | 451 | def schedule_public_browse_index_update( |
| LOW | backend/app/services/github_service.py | 178 | def get_github_file_paths_as_list(self, username: str, repo: str, branch: str) -> str: |
| LOW | backend/app/services/model_config.py | 29 | def supports_exact_input_token_count(provider: AIProvider) -> bool: |
| LOW | backend/app/services/model_config.py | 33 | def should_use_exact_input_token_count( |
| LOW | backend/app/services/graph_service.py | 139 | def format_graph_validation_feedback(issues: list[GraphValidationIssue]) -> str: |
| LOW | backend/app/services/openai_service.py | 59 | def _get_response_failure_message(response: object | None) -> str: |
| LOW | backend/app/services/openai_service.py | 73 | def _is_recoverable_max_output_incomplete( |
| LOW | backend/app/services/openai_service.py | 229 | async def generate_structured_output( |
| LOW | backend/app/services/diagram_state_repository.py | 189 | def _normalize_browse_index_entries( |
| LOW | backend/app/services/diagram_state_repository.py | 236 | def upsert_browse_index_entry( |
| LOW | backend/app/services/diagram_state_repository.py | 255 | def upsert_browse_index_entries( |
| LOW | backend/app/services/diagram_state_repository.py | 293 | def update_artifact_latest_session_summary( |
| LOW | backend/app/services/diagram_state_repository.py | 316 | def save_successful_diagram_state( |
| LOW | backend/app/services/diagram_state_repository.py | 547 | def artifact_storage_is_configured(self) -> bool: |
| LOW | backend/app/services/diagram_state_repository.py | 550 | def status_store_is_configured(self) -> bool: |
| LOW | backend/app/services/diagram_state_repository.py | 559 | def persist_terminal_session_audit( |
| LOW | backend/app/services/diagram_state_repository.py | 605 | def save_successful_diagram_state( |
| LOW | backend/app/services/diagram_state_repository.py | 644 | def upsert_public_browse_index_entry( |
| LOW | backend/app/services/diagram_state_repository.py | 661 | def upsert_public_browse_index_entries( |
| LOW | backend/app/services/diagram_state_repository.py | 670 | def reserve_complimentary_quota( |
| LOW | backend/app/services/diagram_state_repository.py | 685 | def finalize_complimentary_quota( |
| LOW | backend/app/services/pricing.py | 48 | def _strip_date_snapshot_suffix(model: str) -> str: |
| LOW | backend/app/services/pricing.py | 99 | def estimate_text_token_cost_usd( |
| LOW | backend/app/services/pricing.py | 111 | def normalize_generation_usage(usage: Any) -> GenerationTokenUsage | None: |
| LOW | backend/app/services/pricing.py | 219 | def create_estimate_cost_summary( |
| LOW | backend/app/services/complimentary_gate.py | 63 | def is_complimentary_gate_enabled() -> bool: |
| LOW | backend/app/services/complimentary_gate.py | 67 | def should_apply_complimentary_gate( |
| LOW | backend/app/services/complimentary_gate.py | 80 | def get_complimentary_model_family() -> str: |
| LOW | backend/app/services/complimentary_gate.py | 86 | def model_matches_complimentary_family(model: str) -> bool: |
| LOW | backend/app/services/complimentary_gate.py | 90 | def get_complimentary_daily_limit_tokens() -> int: |
| LOW | backend/app/services/complimentary_gate.py | 97 | def get_complimentary_quota_date_utc(now: datetime | None = None) -> str: |
| LOW | backend/app/services/complimentary_gate.py | 102 | def get_complimentary_quota_reset_at(now: datetime | None = None) -> str: |
| LOW | backend/app/services/complimentary_gate.py | 112 | def get_complimentary_quota_bucket(model: str) -> str: |
| LOW | backend/app/services/complimentary_gate.py | 116 | def build_complimentary_admission_tokens( |
| LOW | backend/app/services/complimentary_gate.py | 141 | def get_complimentary_denial_message() -> str: |
| LOW | backend/app/services/complimentary_gate.py | 145 | def get_complimentary_provider_mismatch_message() -> str: |
| LOW | backend/app/services/complimentary_gate.py | 149 | def get_complimentary_model_mismatch_message() -> str: |
| LOW | backend/app/services/complimentary_gate.py | 153 | def admit_complimentary_quota( |
| LOW | backend/app/services/complimentary_gate.py | 184 | def finalize_complimentary_quota( |
| LOW | backend/app/services/cost_estimator.py | 17 | async def _count_prompt_input_tokens( |
| LOW | backend/tests/test_complimentary_gate.py | 7 | def test_get_complimentary_model_family_normalizes_snapshot(monkeypatch): |
| LOW | backend/tests/test_complimentary_gate.py | 16 | def test_build_complimentary_admission_tokens(): |
| LOW | backend/tests/conftest.py | 27 | def block_live_diagram_storage(monkeypatch): |
| LOW | backend/tests/test_generate_router.py | 31 | def test_cors_preflight_sets_long_max_age(): |
| LOW | backend/tests/test_generate_router.py | 44 | def test_public_browse_index_updater_batches_pending_updates(): |
| LOW | backend/tests/test_generate_router.py | 48 | def upsert_public_browse_index_entries(self, *, entries): |
| LOW | backend/tests/test_generate_router.py | 93 | def test_generate_cost_success(monkeypatch): |
| LOW | backend/tests/test_generate_router.py | 106 | async def unexpected_count_input_tokens(**kwargs): |
| LOW | backend/tests/test_generate_router.py | 122 | def test_generate_cost_uses_exact_count_when_user_api_key_is_provided(monkeypatch): |
| LOW | backend/tests/test_generate_router.py | 161 | def test_generate_cost_blocks_provider_mismatch_when_complimentary_gate_is_enabled(monkeypatch): |
| LOW | backend/tests/test_generate_router.py | 179 | def test_generate_stream_retries_invalid_graph_once(monkeypatch): |
| LOW | backend/tests/test_generate_router.py | 202 | async def fake_estimate_generation_cost(**kwargs): |
| LOW | backend/tests/test_generate_router.py | 277 | async def fake_generate_structured_output(**kwargs): |
| LOW | backend/tests/test_generate_router.py | 309 | def test_generate_stream_blocks_when_daily_free_quota_is_exhausted(monkeypatch): |
| LOW | backend/tests/test_generate_router.py | 329 | async def fake_estimate_generation_cost(**kwargs): |
| LOW | backend/tests/test_generate_router.py | 358 | def test_generate_stream_bypasses_quota_gate_for_user_api_keys(monkeypatch): |
| LOW | backend/tests/test_generate_router.py | 381 | async def fake_estimate_generation_cost(**kwargs): |
| LOW | backend/tests/test_generate_router.py | 402 | async def fake_generate_structured_output(**kwargs): |
| 72 more matches not shown… |